Agile development is super-hot right now. But what is Agile development, exactly? We’ve compiled this post to provide a basic overview and key definitions of the Agile methodology.
The Agile software development methodology began in the mid-1990s but has recently gained significant traction inside and outside of IT departments due to its suitability for an ever-changing business landscape. The most common Agile approaches today include Scrum and Kanban, but there are others such as Extreme Programming, Lean and SAFe for the enterprise.
Key features of the Agile development process include:
- Iterative development cycles, called “sprints,” where work is broken down into small, digestible chunks and requirements are refined regularly.
- Highly collaborative team working style as characterized by daily “scrum meetings.”
- Transparent process due to open communications with stakeholders and project management approach, may be reinforced by online Agile project management tools like Jira, Team Foundation Service, Kanbantool, Kanbanzie, Trello, Scrum boards and others.
- Reviewing products and services frequently throughout the Agile development process—with internal and external stakeholders—resulting in an “inspect and adapt” approach.
Here’s how it generally works:
- A cross-functional team of developers, testers and analysts is assembled. If Scrum is being used, a Scrum Master is on point to act as the facilitator of the team, working closely with the Product Owner/client.
- A Sprint Planning meeting is held to plan key activities and projects into an accomplishable 2 to 4 week development cycle. Requirements are broken into tasks and hours to provide developers a clear defining path to success.
- All project requirements are placed in the “project backlog” and moved into the "sprint backlog" during "sprint planning" when ready to begin work. The "product backlog" is constantly evolving and re-prioritized due to stakeholder feedback and evolving business requirements.
- Daily Scrums are held for a max of 15 minutes to review “work in progress” during an iteration. Focus for standups for each team member are (a) what did you accomplish yesterday (b) what is your focus for today (c) what obstacles are in your way?
- Daily Scrums typically revolve around a “task board” that has columns and swim lanes for organizing. The task board can have many more columns to break down the key stages of the work flow. It’s important to note that the task board can be customized so that it works for your team and your projects – get creative! The whole point of Agile is to be open and flexible – and not get “boxed in.”
- At the end of the sprint, Sprint Review and Sprint Retrospective meetings are held. The focus of the Sprint Review is to “show the world” what you have accomplished and have the Product Owner accept completed user stories. The Sprint Retrospective is meant to inspect and adapt/improve the agile process for the team.
In our next post, we cover the top 10 key Agile terms you need to know to be conversant in the methodology.