First things first, what is Agile Project Management?
Agile project management is a methodology mainly used in software development that places large emphasis on collaboration, flexibility, continuous improvement and high quality results. It adheres to the values and principles conveyed in the Agile Manifesto and uses popular project management frameworks such as scrum to carry out the project.
Manifesto, you say?
The manifesto was created in 2001 by a group of experts and practitioners who were looking at ways to develop lightweight methods. The term ‘agile’ was coined as it was agreed that it best captured the adaptiveness and response to change that was so important to the approach. It is made up of four values and 12 key principles which encapsulate agile project management.
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
The key principles:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity — the art of maximizing the amount of work not done — is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
And why was it created?
Agile project management was created in response to the glitches of the traditional waterfall method approach, a linear sequential method for software development where progress flows in one direction — like a waterfall. Unlike agile project management, the waterfall approach left limited flexibility for progress reviews and changes, as the final product wasn’t revealed until the final step, making it inconvenient and expensive if the result was unsatisfying.
Implementing an agile project management methodology can help save time and resources. It follows the idea of short development cycles being the most effective way to deliver a product or service as it allows continuous improvement and is susceptible to change.
So, how does Agile project management work?
Agile project management is a process that aims to be clear and measurable. In order to achieve this it uses six main deliverables to track the progress and produce the product, consists of five main roles to carry out the project, and includes seven recurring events for product development.
- Product vision statement: A summary that articulates the goals for the product.
- Product roadmap: The high-level view of the requirements needed to achieve the product vision.
- Product backlog: Ordered by priority, this is the full list of what is needed for your project.
- Release plan: A timetable for the release of a working product.
- Sprint backlog: The user stories (requirements), goals, and tasks linked to the current sprint.
- Increment: The working product functionality that is presented to the stakeholders at the end of the sprint and could potentially be given to the customer.
There is no set formula for the perfect agile project management team, however, in order to succeed, every team must have the same objective and include these five roles.
Product owner: The product expert and business representative. They are solely responsible for the managing the Product Backlog, and also assisting the development team, stakeholders, and customer.
Development team: A group of professionals such as developers, programmers or designers who deliver the product, and create the Increment.
Scrum master: Also known as the project facilitator or manager who provides the development team with resources and blocks out distractions. A super organized leadership role, they ensure the team is on track and is responsible for the understanding and execution of the scrum.
Stakeholders: They have an interest in the product and provide feedback on where things can improve. They support the product owner and development team, and although not responsible for the product, they still play a vital role within the agile project management process.
Agile mentor: They have in-depth knowledge and experience implementing agile project management to reality but do not get involved in the execution.
And finally, the events:
- Project planning: A self-explanatory first step of the agile project management process. The initial organization includes the product vision statement and roadmap.
- Release planning: This is where the launch date is planned, as well as the next set of product features to be released. Release plans are organized one at a time.
- Sprints: Also known as iterations, they are short development cycles where the team create potentially shippable products and can plan their work according to the feedback of their past performance — a fundamental feature of agile project management.
- Sprint planning: A meeting where a sprint goal is discussed and decided, as well as the requirements needed to achieve it.
- Daily scrum: A meeting held in every sprint, usually lasting 15 minutes, where team members discuss their progress and any potential hindrances.
- Sprint review: This is where the development team demonstrate the working product to stakeholders. The product owner updates the product backlog based on the feedback provided.
- Sprint retrospective: At the end of every sprint, the scrum team review their process and discuss what went well, what did not, and how they can implement changes for the next sprint.
An example of a framework within agile project management that highlights iterative development is scrum project management.
“Agile scrum is a popular and adaptable framework where complex problems are managed, while productively and creatively delivering products of the highest possible value.”
Scrum project management focuses highly on transparency, inspection, and adaptation. It also encourages self-organizing teams and communication as means to manage tasks, and places team responsibility on a high level. The objective of a scrum team is to produce a product increment every sprint, make frequent plans that will enable them to embrace change and incorporate new information if needed, and to collaborate with each other and stakeholders to ensure maximum product value is delivered.
Scrum is just one example of how agile project management can be used to deliver complex projects as seamlessly as possible while still maintaining quality results. It’s adaptiveness is the reason why it’s the favored framework for those wanting to dip their toes in agile project management waters.
In the next few weeks, we’ll teach you how you can use Zenkit to manage your Agile projects, and perhaps share a template or two! Have you used, or are planning to use, another framework within agile project management? If so, do share your tips on how someone can get started!
Dinnie & the Zenkit Team