Agile Project Management (2-3 Day Course)

Background

While agile has provided the solutions for many software development problems, it is not a silver bullet and has still to overcome issues that more traditional project development lifecycles handle. The role of the traditional project manager typically changes from managing a team with a sequential lifecycle to facilitating an empowered team working in an iterative and incremental manner. Your role as the project manager of an agile project will look much different as you form and coach a self-directed team, facilitate continuous collaboration with your customer, embrace changing requirements, and deliver business value (production-ready software) to your customer early and regularly throughout the project. Traditional planning and estimating processes need to be adapted to handle this new environment. Different practices, tools, testing strategies, roles, etc. need to be defined/agreed to maximise the chances of success for agile projects. Agile methods such as Scrum typically need augmentation to work in specific contexts and roles such as ScrumMaster need interpretation to your environment.

This course will provide project managers with the competencies and skills required to effectively manage the processes, people and technologies for a successful Agile delivery. It covers all the leading Agile methods including eXtreme Programming, Scrum, DSDM (Dynamic Systems Development Method) and Lean Software Development. It also introduces ways to apply Agile practices successfully and ensure a sustainable transition, so that Agile becomes the standard approach for projects.


Who Should Attend

This course is intended for Managers and Team Leaders of Agile projects as well as team members and project support personnel who will benefit from an understanding of Agile Project Management best practice. The course also provides a detailed understanding of the practices involved for those responsible for transitioning their organisation to Agile.


Learning Objectives

Upon completion of this course you will be able to:

  • Describe the agile lifecycle and how it differs from traditional lifecycle models
  • Describe the unique agile values, principles, and practices
  • Describe the main agile methodologies and how variations or hybrid approaches (utilising elements of agile with more traditional approaches) are sometimes implemented in practice
  • Define the implication of this for the traditional project manager role
  • Adapt traditional project management practices to an agile context
  • Define appropriate roles for agile teams including how the traditional project manager needs to adapt to the new culture and practices of agile
  • Perform planning and estimation in an agile environment
  • Define appropriate testing strategies for agile projects, keeping control of quality in an Agile lifecycle and avoiding the common pitfalls
  • Employ suitable project management tools for agile projects
  • Leverage process improvement in agile projects

Topics Covered

(Note: exercises will be used throughout to enhance learning)


Review of Agile Values, Principles and Practice

  • A review of the agile values, principles and practices, this is the heart of agile and what it is trying to do. So, it is important that these are understood and clear.
  • Explain the essence of agile methods in terms of the significant mindset change required
  • Clear the myth from reality

Review of the Agile lifecycle and Methodologies

  • Typical agile lifecycle - incremental and iterative development
  • A brief review of some of the more formal methodologies that use agile as their framework such as XP, Scrum, DSDM and Lean
  • Customer/user involvement and managing requirements in agile
  • In addition to describing the main agile methods, variations or hybrid approaches are often implemented in practice are also covered including combination of plan-driven and agile.

Roles and responsibilities in agile teams

Using Scrum as an example

  • Scrum Master
  • Product Owner
  • Scrum Team
  • People and cultural issues in agile

Planning and estimation with Agile

  • Project and Release planning
  • Iteration/Sprint planning - timeboxing and prioritisation
  • Estimation
    • The need for estimation with incremental development
    • Estimating using story points
    • Project velocity
  • Risks in agile projects

Managing/facilitating agile teams

  • Daily scrums
  • Monitoring and reporting
  • Project reviews/retrospectives

Implementing effective Agile Testing

This module will look at the implications for testing if an organisation moves to an agile development approach. It will describe the key quality/test considerations in moving to agile including the role of independent testing, testing without detailed requirements, testing in incremental/iterative environments and agile practices such Test Driven Development (TDD) and exploratory testing:

  • Agile test strategies
    • Different Test Levels/phases applicable to agile and how they need to be adapted
    • Where the different types of testing fit into an agile development lifecycle
  • Test Driven Development (TDD), Automated Unit Testing
  • Acceptance testing, testing and the customer/user
  • Testing techniques including static techniques, structural techniques and exploratory testing applicable to agile
  • Defect management in agile
  • The role of the traditional independent system tester in agile

Transitioning to agile

This is module will discuss proven approaches to implementing agile practices and ensuring effective transitioning to agile.


Pitfalls and Lessons Learnt

This is module will discuss some of the risks and common pitfalls experienced in practice with agile projects and how these can be avoided.


Excercises

With sample solutions and tips will be included. Example exercises include:

  • Team based exercise to analyse typical scenarios encountered in organizations that have experienced process and strategy issues to determine the key problems and the most appropriate solutions
  • Team based exercise on defining an agile test strategy
  • Estimating using story points
  • Developing project, release and sprint plans
  • Defining the role/responsibilities in agile
  • Discussion of participant's own challenges
  • Tool demos

'Agile friendly' templates/checklists and tips for practical agile project management will be provided