Agile Project Management
A Primer
Brian Stewart
AVU ACEP
Nairobi 17th 2013
http://www.coleyconsulting.co.uk/images/waterfall-model.gif
Problems with waterfall model
Over-planning
Insufficient Communication
All-at-once delivery
Unnecessary risk
Waste
Need for changes
Knowledge impactedness
Agile Alliance
The Agile Alliance is a non-profit organization
with global membership, committed to
advancing Agile development principles and
practices. Agile Alliance supports those who
explore and apply Agile principles and practices
in order to make the software industry more
productive, humane and sustainable. We share
our passion to deliver software better everyday.
A Manifesto for Agile Software Developers
The Agile Software Development Manifesto is an intentionally
streamlined expression of the core values of agile project
management. Use this manifesto as a guide to implement agile
methodologies in your projects.
"We are uncovering better ways of developing software by doing
it and helping others do it. Through this work, we have come to
value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value
the items on the left more."
Understanding Agile Principles
Embracing change
Responsive planning
Frequent and continuous business value
Direct stakeholder engagement
Regular face-to-face communication
Minimizing waste
Tangible outputs
Empowering the team
Quality by design
Continuous improvement
ACTION Orientation
Actionable goals
Communicating priorities
Tell us what can be done
Iterative work
Outcomes review
Next Iteration
Responsive Budgeting
Expected business value calculation
Requirements backlog
Burndown chart
Delivery backlog
Waterfall V Agile
Agile Project Management
Traditional Project Management
Teams are self-directed and are free to accomplish
deliverables as they choose, as long as they follow
agreed rules.
Teams are typically tightly controlled by a project
manager. They work to detailed schedules agreed at the
outset.
Project requirements are developed within the
process as needs and uses emerge. This could mean
that the final outcome is different from the one
envisaged at the outset.
Project requirements are identified before the project
begins. This can sometimes lead to "scope creep,"
because stakeholders often ask for more than they need,
"just in case."
User testing and customer feedback happen
constantly. It's easy to learn from mistakes,
implement feedback, and evolve deliverables.
However, the constant testing needed for this is
labor-intensive, and it can be difficult to manage if
users are not engaged.
User testing and customer feedback take place towards
the end of the project, when everything has been
designed and implemented. This can mean that problems
can emerge after the release, sometimes leading to
expensive fixes and even public recalls.
Teams constantly assess the scope and direction of
their product or project. This means that they can
change direction at any time in the process to make
sure that their product will meet changing needs.
Because of this, however, it can be difficult to write a
business case at the outset, because the final
outcome is not fully known.
Teams work on a final product that can be delivered some
time - often months or years - after the project begins.
Sometimes, the end product or project is no longer
relevant, because business or customer needs have
changed.
Agile Overview
Project Sprint
http://www.agile-tools.net/scrum.asp
Agile Project Management Events
Most projects have stages. Agile projects include seven events
for product development. These events are meetings and
stages and are described in the following list:
Project planning: The initial planning for your project.
Project planning includes creating a product vision
statement and a product roadmap
Release planning: Planning the next set of product features
to release and identifying an imminent product launch date
around which the team can mobilize. On agile projects, you
plan one release at a time.
http://www.dummies.com/how-to/content/agile-project-management-for-dummies-cheat-sheet.html
Agile Project Management Events
Sprint: A short cycle of development, in which the team creates potentially
shippable product functionality. Sprints, sometimes called iterations, typically last
between one and four weeks. Sprints should remain the same length throughout
the entire projects.
Sprint planning: A meeting at the beginning of each sprint where the scrum team
commits to a sprint goal. They also identify the requirements that support this goal
and will be part of the sprint, and the individual tasks it will take to complete each
requirement.
Daily scrum: A 15-minute meeting held each day in a sprint, where development
team members state what they completed the day before, what they will complete
on the current day, and whether they have any roadblocks.
Sprint review: A meeting at the end of each sprint, introduced by the product
owner, where the development team demonstrates the working product
functionality it completed during the sprint.
Sprint retrospective: A meeting at the end of each sprint where the scrum team
discusses what went well, what could change, and how to make any changes.
http://www.dummies.com/how-to/content/agile-project-management-for-dummies-cheat-sheet.html
Delivery backlog
https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQGLAy62ReoXTJcU9kp_FvXt2mrd6AOUsdVMoREiwmRjgLneaelg
http://maymay.net/blog/wp-content/uploads/2008/09/example-burn-down-chart-in-numbers.png
Agile Project Management Roles
Development team: The group of people who do the work of
creating a product. Programmers, testers, designers, writers, and
anyone else who has a hands-on role in product development is a
member of the development team.
Product owner: The person responsible for bridging the gap
between the customer, business stakeholders, and the
development team. The product owner is sometimes called
a customer representative.
Scrum master: The person responsible for supporting the
development team, clearing organizational roadblocks, and keeping
the agile process consistent. A scrum master is sometimes called
a project facilitator.
Stakeholders: Anyone with an interest in the project.
Agile mentor: Someone who has experience implementing agile
projects and can share that experience with a project team.
http://www.dummies.com/how-to/content/agile-project-management-for-dummies-cheat-sheet.html
Agile Project Management Artifacts
Agile project teams often use six main artifacts, or deliverables, to develop
products and track progress.
Product vision statement: An elevator pitch, or a quick summary, to
communicate how your product supports the company's or organization's
strategies. The vision statement must articulate the goals for the product.
Product backlog: The full list of what is in the scope for your project,
ordered by priority. Once you have your first requirement, you have a
product backlog.
Product roadmap: The product roadmap is a high-level view of the
product requirements, with a loose time frame for when you will develop
those requirements.
Release plan: A high-level timetable for the release of working software.
Sprint backlog: The goal, user stories, and tasks associated with the
current sprint.
Increment: The working product functionality at the end of each sprint.
http://www.dummies.com/how-to/content/agile-project-management-for-dummies-cheat-sheet.html
Critical Success Factors
Where does Agile work best?
Smaller projects
Lower value projects
Novel activities
Where knowledge is limited
Where scope is changing
Non-critical systems
Requirements are not clearly defined
Stakeholders are continuously available and
engaged
Thank you
Questions