LessonsDelivered by ASPE, ICAgile Member Organization
Section I: Understanding Agile Project Management
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 the introduction to this Agile PM training course, we'll discuss the following:
- What is Agile?
- Why Agile?
- Agile Manifesto
- Agile Principles
- Agile Methodologies
- Agile Benefits
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
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 never-ending 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
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.
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
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
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
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
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.
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 Management early in the adoption process
- Navigating around popular Agile Project Management myths
If a change needs to be made to your public course registration (cancel, transfer, or substitution) ASPE must receive written notice via email at email@example.com or fax at 919-816-1710. If a cancel or transfer request is made less than 15 business days prior to the class start date, payment will still be due, no refunds will be issued and you will be charged a $200 change fee. Your paid tuition will be available for one year to be used as a credit towards another course of equal value; only one reenrollment opportunity is allowed. Failure to attend the course without written notification will result in forfeiture of the full course price. Student substitutions may be made at any time prior to the start of class free of charge. If ASPE is forced to cancel a course for any reason, liability is limited to the registration fee only.
Your City, Your Province