Agile Development is an approach to software development that focuses on rapid feature rollouts with constant iterations based on interdepartmental consultations and user feedback. It is a project management framework that is based on incremental developments with each stage in the process being tested, and basing the next iteration or product pivot on the feedback or results of the end users.
Understanding what agile development is is just the beginning—it's incorporating it into your business practices that's the important part. A great way to implement the agile approach into your project management practices is to associate visuals along with agile development. One common visual to start with are user story maps. User story maps are visual depictions of users interacting with your product and the responses or actions your UX elicits in users as they work to achieve a goal or objective. Creating story maps for your users forces you to break your product down into incremental stages, allowing you to focus on how iterative changes can be applied to each stage independently to improve the product as a whole. Story maps can take different forms: linear journeys as the user walks through your product, non-linear cycles, or even graphs depicting time or priority along the x-axis and complexity of the task on the y-axis.
Scrum is an agile development methodology that focuses on time-boxing project tasks into sprints (typically 1-4 weeks in length) and allows developers to roll out new features with a predetermined cadence. Typical practices of organizations using scrum are daily stand-up meetings, sprint kickoffs, and post-sprint reviews.
Kanban is an agile development methodology that includes a visual backlog of prioritized tasks that need to be completed in order to finish a project. As soon as these tasks are completed they are released, resulting in continuous product iterations and releases. Developers have the choice to pull tasks most closely related to their field of expertise and tasks that are not time-boxed.
The first step in implementing agile development practices is to choose a project to work on. Agile development works best on complex projects with many moving parts. Choose a project that may require interdepartmental collaboration and the creation/implementation of a number of new features. Then choose a scrum master, the person who will be in charge of making sure the project is moving according to plan.
The next step is to create a list of all of the required tasks that the project will need in order to be complete. After all of the tasks have been listed out, organize them by importance and priority. Often there will be tasks that are impossible to complete without completing one of the other backlogged tasks first—your priority list should account for this. The task list will change and grow throughout the agile process as you realize more tasks that need to be completed and, on the other end, realize some tasks are unnecessary.
Now it's time to decide if you're taking the Scrum or Kanban approach. If you decide to go with Scrum, then divide your task lists into individual sprints. Limit your sprints to a maximum of four developer weeks, but aim for around two weeks. This will cut scope on your project and force developers to work on the most important tasks. If you go with Kanban, then create a Kanban board with all your backlogged tasks. Have developers go to the board and physically choose a task to claim as their own. Move the task through the board from "To-do", to "Doing", to "Done".
Start working! As developers and marketers begin to work together on their assigned tasks, it helps to have daily quick stand-up meetings. These meetings should be no longer than 10 minutes long and each participant should answer three core questions: What did you do yesterday? What are you doing today? Is there anything blocking you from accomplishing your tasks today?
After the sprint is over or a new feature is rolled out, review the project to make sure it is acceptable for user interaction. It's also essential to review the process as a whole and to be actively looking for ways to improve the efficiency or output of the process. After this is all done, repeat from the beginning on the next project or feature set.