Section I: Understanding Agile Project Management
More than simply a methodology or approach to software development, Agile Project Management embraces a set of principles that drive effective software development. Agile Project Management methods focus 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 and how they relate to project management
- Agile Benefits
Class Exercise: In this exercise we will discover how utilizing an iterative, Agile approach provides results sooner, more effectively and uses the productivity of the entire team to produce results.
Section II. The Project Schedule
Agile project managers must do more than simply manage an "up-front defined"schedule, they must be able to continually manage an ever changing scope against a well defined project timeline. A dynamic software development environment requires new approaches to schedule management. In this section, we cover:
- Managing change while also focusing on our primary responsibility: delivering the product
- How we determine the project schedule and release plan
- Identifying a team's "velocity," the team's measure of productivity, in our efforts to more reliably predict when our product will be ready for production
- The Five Levels of Agile planning and how they work together to ensure the team remains on schedule throughout the project
- Using tools such as burn-down charts and task boards as strategic and tactical measures to closely monitor the team's progress and make corrections as necessary
Class Exercise: As a group we will discuss how we traditionally manage a project's "Triple Constraints." We will use the information discovered to contrast how Agile Project Management differs from this traditional approach and the benefits that this new approach provides.
Section llI: The Project Scope
Software development today is not only complicated, it is full of utterly unpredictable variables. In a traditional development approach, these variables lead to missed dates or reduced scope, and the neverending effort to battle scope creep. Utilizing an Agile Project Management approach means a new technique for managing a dynamic scope with the intended outcome being the best-delivered product possible. In this section we cover:
- How to conquer the battle over 'Scope Creep' once and for all
- Consistently delivering what the customer truly needs and wants, not just what might have been initially planned for
- Understanding complex environments and how complexity requires managing within the 'Cone of Uncertainty'
- Allowing the customer to always be in charge of the project scope, including making feature trade-off decisions when required
Section IV: The Project Budget
Adhering to a budget is important, but it cannot be the only financial aspect that today's project managers must consider. Our financial management obligations must be expanded to also consider the ultimate return on investment (ROI) our software will generate. The true value of delivering a project under budget can be easily undermined by delivering a product that misses defined market needs and fails to produce an active user community satisfied with the delivered result. In this section we explore:
- How to ensure your product seeks to maximize ROI after delivery
- Communicating to your customer the metric of work delivered against budget expended (earned value delivery)
- Methods for partnering with your customer to ensure that the value of what is being developed exceeds the investment it requires to complete
Section V: The Product Quality
All of the best development efforts don't mean much without being able to deliver a high-quality product. Agile project teams recognize that quality is not a universal, objective measure, but a subjective definition provided by the customer and continually re-evaluated through the course of the project. In addition to paying close attention to our customer's definition of quality, the team must also work to ensure highly stable, scalable code to ensure that future product enhancements will be possible without significant recoding efforts.This section will include the following topics:
- Employing product demonstrations to ensure that what the team is building matches what the customer is expecting
- Applying Agile testing techniques in the effort to create high-quality, refactored code
- How to write effective acceptance criteria for identified requirements
- Code reviews, paired programming and test-driven development
Class Exercise: In small groups, class participants will work together to deliver a customer-identified product over the course of three iterations. At the end of the exercise the class will discuss how product quality was determined and what each team did to deliver it. This exercise has often been described as a singular 'ah-ha!' moment for better understanding of why an Agile Project Management approach works in software development.
Section Vl: The Project Team
Today's project managers must do more than simply manage a project's details, they must coach the individuals on their team. Studies have proven that when a team is happy, they produce better products more efficiently. More than just resources, the team members' productivity must be tapped in new ways to empower them to improve based on their experiences and abilities to truly collaborate. In this section we will explore:
- Collaboration essentials
- Managing the individual personalities of the team
- Understanding your coaching style to improve your ability to effectively lead the team
- The Agile project team roles
- Managing distributed teams
Class Exercise: In this exercise, each of the teams in the class will be presented with a specific scenario which will require them to work together to solve. This classic exercise in team dynamics was first used over 30 years ago at a prestigious university and has been used effectively as a tool to uncover how prevailing personalities can create unintended consequences.
Section Vll: Project Metrics
It has been said that it is impossible to manage what you don't measure. Agile project managers utilize metrics to assist the team to improve their performance by providing a reflection of results against the team's action. Metrics also need to be used to effectively communicate to the business and product owner the current status of the development effort. This chapter will explore the following:
- Review of common Agile metrics
- Taskboards as tactical metrics for the team
- Effectively utilizing metrics to communicate the current state of the project as well as projected delivery date
Section VIIl: Continuous Improvement
A foundational tenet of the Agile approach is the pursuit of improving the approach over time based on the team's experience. Agile's non-prescriptive approach requires regular examination to ensure that every opportunity to improve efficiency in it's execution is recognized and implemented. Without clear plans for continuous improvement, most Agile teams will not make the transition to this approach a lasting one.
- Why continuous improvement must be a part of every Agile Project Management approach
- How the team's commitment empowers continuous improvement
- How to effectively use retrospectives
- Why every team member should care about improving their approach over time
Section lX: Project Leadership
More than simply managing resources and tasks, today's project managers must lead and inspire teams. The project manager's ability to effectively lead their team is based on several sound principles that provide the support that the team needs while also encouraging the team to grow more self-sufficient in their improvement efforts over time. We'll examine the following topics:
- Project leadership over simple project management
- Command and control versus servant leadership
- Insulating the team from disruption and distraction
- Matching needs to opportunities
Class Exercise: In this exercise, class participants will experience how self-organization quickly yields impressive results compared to the traditional top-down approach of organizing the team's efforts.
Section X: Successfully Transitioning to Agile Project Management
The course would not be complete without an in depth discussion on how the course participants can successfully transition from their current approach to an Agile approach with ease.
- Correlating current challenges to possible solutions
- How corporate culture affects team ability to complete a lasting transition
- Overcoming resistance to Agile Project Managment early in the adoption process
- Navigating around popular Agile Project Management myths
Section Xl: A Full Day of Preparation for the Agile Certified Practitioner (PMI-ACP) Certification Exam
Building on all of the material covered in the class, this final day long portion of the class will specifically address what each of the participants will need to do and need to know in order to pass their exam and receive their PMI-ACP certification. You will spend a full day in class dedicated to application tips, tricks and test preparation.
- Completing your Project Management Institute Agile Certified Practitioner (PMI-ACP) application
- How to complete your reservation to take the PMI-ACP certification exam
- What to expect on the day of your PMI-ACP exam
- In-depth review of each section of the exam, what you will need to know, and how to prepare to pass the exam on your first attempt
- Class review of sample test questions to help prepare for the exam