
Agile Project Management
Course Outline
Section I: Understanding Agile
More than simply a methodology or approach to software development, Agile embraces a set of principles that drive effective software development. Agile focuses on the customer, embraces the ever changing nature of business environments and encourages human interaction in delivering outstanding software. In this introduction, we’ll discuss the following:
- What is Agile?
- Why Agile?
- Agile Manifesto
- Agile Principles
- Agile Methodologies
- Agile Benefits
Section II. Forming the Agile Team
Agile Teams embrace cross-functional collaboration and understand that the individual succeeds only when the team succeeds. In this section we discuss how to form the Agile Team, including:
- Team Roles and Responsibilities
- Expectations
- Self Organization
- Communication
Section llI: The Agile Coach
Agile Project Managers use a combination of skills and techniques to manage and coach their teams to success. The Agile PM is most interested in discovering what actual problems need to be solved and then do whatever it takes to allow the team to move forward. In this section we cover:
- Role of the Agile PM or Coach
- Agile Project Management
- Tips for working with Agile Teams
- Communication
Section IV: Agile Planning
The Agile framework embraces a methodical process of planning that goes into 5 levels of detail. Rather than prematurely fixating on details of ever-changing requirements, Agile planning helps us focus on the right level of detail for the right priorities at the appropriate time. In this section we’ll cover the following:
- Project Planning
- 5 Levels of Planning
- Product Vision
Class Exercise
Working in small teams, you will “design the box” in order to establish a vision for a sample project. You may choose to utilize a project from your work as well. You will participate in identifying key selling points, features, operating requirements, etc.
Section V: Focus on the Customer
It is critical that the customer be the focus of a product throughout the development lifecycle. Every requirement should bring some value to the customer. Therefore, prior to defining requirements, it is important to define the customer. This will include the following topics:
- Customer Involvement
- User Roles
- Creating and Using Personas
- Constraints
Within your teams you will brainstorm some customer roles for your project. From the brainstorming, you will consolidate the larger list of roles into key roles that will be the focus of your sample project.
Section Vl: Creating the Product Backlog
The Product Backlog is the complete list of requirements for the product. It consists of User Stories (requirements based on the customer’s point of view), Foundational Stories and other work items the team must complete. Stories don’t capture all of the detailed requirements, but do require enough information to estimate and plan. In this section we will explore:
- The Product Backlog
- User Stories
- INVEST Model (Bill Wake, 2003)
- Acceptance Criteria
- Foundational Stories
In small teams identified previously, you will engage in a story-writing workshop as a means of building a product backlog for your project.
Section Vll: Prioritizing the Product Backlog
Prioritization is often done at a level that excludes the development team and fails to account for the technical expertise the team provides in determining dependencies, impact, risk and the sequencing of work items. In this section we explore methods of prioritization and how PMs can help the business and development groups collaborate together to determine the right priorities.
- Prioritization Themes
- Decision Matrix
- Kano Analysis
- Preventing Fire Alarms
- Continuous Prioritization
Utilizing the prioritization techniques discussed, you will prioritize the Product Backlog for your sample project taking into account the dependencies, risk and impact of your user stories.
Section VIIl: Estimating
Among the greatest challenges in developing software and delivering against stakeholder expectations is estimating accurately and subsequently planning how those expectations can be met. Agile cannot make that challenge disappear, but offers some very helpful tools that enable teams to set and meet the appropriate expectations.
- Relative vs. Actual Estimating
- Introduction to Story Points
- Using Story Points
- Planning Poker (Grenning 2002)
Using the estimating techniques of story points, enjoy a few rounds of Planning Poker, a fun and very effective method of relative estimating to establish estimates for your highest priority stories. This is a critical tool for you to incorporate into your estimating process.
Section lX: Release Planning
The release plan identifies a goal for the stories that will be included in a release of the software. Through the prior processes, the team will have prioritized the stories and estimated the team velocity. These key elements will come together to give the team a level of confidence that they can deliver the necessary requirements for a product release in what is normally a fixed timeframe. We’ll examine the following topics:
- Velocity
- What is a Release?
- Schedule Based vs. Feature Based Planning
- Building the Release Plan
- Communication
Each team will establish a release plan for their sample project incorporating priority, estimates and velocity as appropriate. We’ll discuss how real experiences of fixed time and fixed feature projects can work with an Agile release plan.
Section X: Building Cadence
Building cadence with a team will help the team know what to expect from itself and will help other individuals and teams within the organization know what to expect from them as well.
- Getting to the Details
- Building Trust
- Best Practices
Section Xl: Iteration Planning and Execution
An iteration is a fixed amount of time in which stories/requirements will be developed, tested and ready for release. Agile Project Managers need to understand how to engage the team to effectively break out the tasks, hours and assignments for the Iteration. We’ll also discuss how PMs can guide the team to effectively execute the Iteration and facilitate the necessary communication and review sessions.
- Capacity
- Engaging the Team
- Planning the Iteration
- Executing the Iteration
- Daily Scrum/Stand-up
- Scrum of Scrums
- Iteration Review
- Demonstrating Working Software
Section Xll: Measuring and Communicating Progress
An important aspect of Agile Project Management is measuring progress and communicating that progress to the team, customers, management and stakeholders. We will discuss:
- Taskboards
- Story/Task cards
- Metrics
- Burndown Charts
- Agile Tools
Section Xlll: Retrospectives
Retrospective are one of the key Agile practices and is the inspect and adapt mechanism for the team. Project Managers help the team identify what is working, what is not working and what specific areas need to be improved.
- Elements of the Retrospective
- Facilitating Retrospectives
- Tips for effective Retrospectives
The instructor will facilitate a Retrospective for the class allowing participants to provide feedback for the course in addition to demonstrating how a Retrospective should be run.
Section XlV: Adopting Agile Project Management
This section is where we bring everything together and discuss specific implementation strategies, including how to overcome resistance. We will also discuss several additional tips to effectively manage projects in an Agile environment.
- Agile Process Overview
- Overcoming Resistance and Getting Started
- Agile Calendar of Events
- Challenges to Adoption
- Team Roadmap Exercise















