
A day in the life of an agile project manager
This video will help you understand better the content of the other courses that will form this Agile Project Management - The PMI-ACP (Agile Certified Practitioner) Certification Program.
Effective Learning
Agile Manifesto and Agile Principles
FAQs
If you have followed a traditional project management approach and find yourself spending a lot of time fine tuning the design to accommodate changing requirements, you may want to consider a different approach. In this course, you will be introduced to agile project management, including the core values and principles outlined by the Agile Manifesto.
The Science of Better Learning
This lesson will be very short and very clear. You are going to learn here what Agile project management means. This we can call the starting point, and with this we begin our course on Agile Project Management Essentials. And, please don’t expect more than the essentials in this course, the other courses that form the mentioned Certification Program will come with the rest of the information.
Predictive, iterative, incremental and agile project life-cycles
Agile project management has several key characteristics:
Individuals and Interactions versus Processes and Tools
Benefits of agile project management in relation to more traditional management approaches are that it can:
The relationship between Agile Manifesto, Values, Principles and Common Practice
In 2001, representatives of different agile software development methodologies met to promote the development of the agile approach. They called themselves the Agile Alliance and drafted the Agile Manifesto which outlines basic values for agile development. In turn, these values are underpinned by specific principles.
The authors of the Agile Manifesto are Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas.
Why agile values are important
Twelve agile principles describe the four agile values in more detail. The first six principles are:
Traditional project opportunity for change
A development model is a guide to the development process, to help ensure that no important aspects of development are overlooked. Traditionally, development models were highly defined and linear. The trend now is toward more empirical models that include iterative and incremental processes, to provide greater flexibility.
The waterfall (also known as traditional) model divides the development process into five phases:
Traditionally, a project plan is a document that helps project managers execute and control the phases of a project. It clarifies a project's objectives and how they can be achieved. Information included in a project plan typically includes the project's scope, cost, and schedule, as well as its activities, deliverables, milestones, and resources.
Highly defined and empirical development methods also differ in their approaches to product inspection, and to the adjustments required in response to customers' reviews of deliverables. Consider the differences between two teams that are developing a cell phone service, each using a different model.
The traditional iron triangle of constraints identifies three main types of constraints on the success of a project - scope, cost, and schedule. Change to any one of these constraints will affect the others. The quality of a project depends on satisfying all three constraints.
Agile History
Based on the Agile Project Management model derived by Jim Highsmith, agile project management can be divided into five phases:
Agile vs Traditional project management
Like the agile approach, traditional project management can be described in terms of five key phases. These are:
Each of these differs in specific ways from the corresponding agile phase.
Agile development avoids the prescriptive, plan-oriented approach associated with traditional project management, and makes use of self-organizing teams. However, it is a common misconception that agile projects don't require project management.
Project management is still necessary. But, the traditional responsibilities of the project manager may be handled differently and possibly be spread out across members of the agile project team.
You can implement agile project management using different methodologies. Although every agile methodology has different characteristics, they all maintain essential agile principles. Three widely used agile methodologies are:
Other agile methodologies include the Crystal family of methodologies, Feature Driven Development, or FDD, Dynamic Systems Development Method - or DSDM - as well as Adaptive Software Development - also known as ASD. The methodology you choose should depend on what will best suit a particular project.
After completing the first part of the course - called The Agile Approach -, you are now able to:
Wise project leaders are able to examine their own situations and determine which agile practices to adopt given the nature of their projects, organizations, and teams.
Organizations across the world are using agile project management to get superior results. But this doesn't mean that the move from traditional to agile project management will be easy. One of the main challenges is overcoming the various myths and misconceptions about what an agile approach involves.
The approach you adopt doesn't have to be purely agile or purely traditional. Instead of viewing different project management methodologies as black and white, you should view them as points along a continuum, with many shades of gray.
Contrasting Historical Project Management with Agile Project Management
Agile development requires just enough documentation. Creating unnecessary documentation is considered a waste of valuable development time.
Identifying Useful Documentation
Although agile methodologies were first geared towards software development projects, they're not just development methodologies. Instead they're project management methodologies.
Planning in Agile looks very different. In agile development, there's no work breakdown structure or time-phased and resource-assigned task list. Instead Agile uses just-in-time planning.
Various misconceptions about agile methodologies may prevent or hinder their adoption. Learn agile project management to apply it effectively.
Using an agile methodology may have a tremendous impact on a project. It can shorten development cycles, improve quality and efficiency, lower costs, and result in better customer satisfaction.
Alignment of the agile transition team
Some project types are more suitable for agile development than others. An agile approach is especially suitable when a project is characterized by a high level of internal uncertainty, a scope that isn't well- defined at the start of a project, and a product that benefits from ongoing customer feedback.
The structure of an organization is one of the key factors that determines how easily it will be able to transition into using an agile methodology.
Agile Pain Points and Troubleshooting Possibilities
The nature of the existing project management processes in an organization will help determine how easily a team can adapt to using an agile methodology. Generally, the more flexible and informal these processes are, the easier a team will find the transition.
The nature of your organization's industry is an external factor that may affect the suitability of an agile approach. Industries that are relatively stable tend to focus on updating or improving products that have already been tried and tested. They have a steady customer base and know their product and competition.
It's likely to be easier for an organization to adjust to an agile approach if its structure is already collaborative and if its culture encourages trust, openness, responsibility, and adaptability.
It's also likely to be easier if the organization's existing project management processes are informal and flexible, if the project team is small, and if team members are suitably skilled and work in the same location.
Application of Agile in PMBOK Knowledge Areas
It's not always appropriate to adopt a fully agile approach to project management. Organizations might not be ready to commit to the level of change and training that this requires.
Different agile methodologies use different techniques for defining requirements, and project teams may customize these to suit their needs.
Another general agile practice you can adopt is iterative development with incremental delivery. Instead of completing all project work and then delivering the result to the customer for review, you focus on completing regular, short bursts of work and delivering the results to the customer at the end of each cycle.
A final agile practice that can benefit most organizations and projects is frequent, open communication among project team members, and between the team and the project customer.
Agile methodologies don't generally prescribe exactly how you should manage a project. Instead they define principles that you can interpret and implement in your own way. By introducing these principles gradually into your workplace, you can transform the way your project teams operate.
Although lean principles can form the basis of an agile mindset and are generally easy to implement, they're not the only core principles used in an agile approach. Once you've introduced these principles and your team is familiar with them, you can begin introducing other agile principles.
An important step in the process of adopting agile practices is to obtain buy-in from stakeholders in your organization. Switching from a traditional approach to project management to an agile one involves making significant changes – and change can be difficult for people to accept.
When communicating the need for change to stakeholders, you should focus on explaining the weaknesses of the traditional – or waterfall – model your organization currently uses.
The next step in convincing others of the need to move from a traditional approach to a more agile one is to explain the potential benefits for the organization. When doing this, you can focus on three main benefits – reduced risk, improved control, and improved communications.
Statistics that prove the effectiveness of Agile practices to review some statistics you can use when explaining the benefits of adopting an agile approach.
When you tell stakeholders about agile project management, you should be open about the risks or pitfalls involved. This gives the message that you're not trying to convince them to use agile practices, but that the organization's interests are a priority and that you want them to make an informed decision.
Application of Agile in PMBOK Knowledge Areas
Course wrap-up, learning objectives review and next steps.
There are two main parts: one is called Managing a scrum project and the other The Scrum Process in Action.
The term "scrum" originates from the rugby formation, in which a team's players work together to gain possession of the ball. The agile methodology of Scrum borrows this term to describe a framework of project management processes and techniques. Scrum enables project teams to develop complex products quickly and efficiently, to adapt to change, and to regularly deliver value to customers in the form of working products.
The scrum approach
The product owner is usually a customer representative, whose main focus is to represent the interests of the customer throughout the development process. The product owner measures how well a project performs in terms of return on investment, or ROI.
In a Scrum team, the Scrum Master is the expert on all Scrum-related issues and ensures that everyone works according to Scrum principles and practices. He or she should also shield the development team from external processes and control, so they can fully concentrate on development. The Scrum Master may be a member of the development team.
A Scrum team usually consists of five to nine individuals who share the responsibility for developing a product and delivering it to the product owner at the end of each sprint. The optimal team is self- organizing and cross-functional.
Agile project team, scrum team, and development team
You're working as a Scrum Master on a project that involves developing tracking software for a transport company.
In the Scrum approach, effective communication is vital for ensuring that a Scrum team understands customer requirements, and that development team members can work together efficiently to solve complex problems.
The role of Scrum meetings is to ensure communication flows smoothly between the different stakeholders and team members.
There are five types of Scrum meetings – the sprint planning meeting, the daily standup meeting, the Scrum of Scrums, the sprint review meeting, and the sprint retrospective
Sprints are recurring processes
The core of Scrum, originally referred to as the "game" by its creators, describes how to prepare and run Sprints. While not officially described as such in the Scrum guide, the phases of a Scrum project cycle could be considered and are sometimes described as pre-game, game, and post-game.
The game phase refers to the sprint, or development, phase. This is when the development team plans each sprint and proceeds to create functioning product deliverables, also called potentially shippable product increments.
The work needed after a sprint or series of sprints to release the product, is sometimes referred to as the post-game phase.
A scrum task board on a wall or whiteboard
At the start of a new Scrum project, some initial planning and design must take place in order to define a project goal and product backlog for the project.
Once the product owner has compiled project requirements, the development team reviews the backlog and creates a high-level design for the product to be developed.
The game phase is where the core Scrum practices exist and where the bulk of the work is done. The development team plans each sprint, meets regularly, and creates functioning deliverables.
And at the end of each sprint, it delivers the results to the customer, or a customer representative, for review. The process is iterative, with a product developed incrementally over multiple sprints.
Sample sprint backlog
During the course of a sprint, the members of a Scrum team meet to discuss task progress and any issues that are preventing tasks from being completed.
Ongoing testing and the adaptation based on test results is a key principle of most agile methodologies, including Scrum.
During the game phase of the Scrum development process, this principle is implemented in two ways – through unit testing and sprint reviews.
After each sprint review meeting, the Scrum Master conducts a sprint retrospective with the development team to discuss how the sprint went and how it could have been improved.
This helps the team formulate best practices it can apply during the next sprint, in keeping with the agile principle of continuous improvement.
At any point in a project, it's important to know how the project is progressing. That way, team members can make necessary adjustments – and other stakeholders can verify that everything is on track. Scrum teams use various highly visual tools to track their progress during each sprint. These include burndown charts and various progress charts.
A burndown chart
As well as burndown charts, a Scrum team may use various progress charts - to track its progress in completing the tasks in each sprint
Both burndown charts and progress charts let you compare actual and estimated values, and both provide a quick, highly visual way to track progress.
When practicing Scrum we can make the sprint backlog visible by putting it on a Scrum task board. Team members update the task board continuously throughout the sprint; if someone thinks of a new task (“Test the snark code on Windows 8.1”), she writes a new card and puts it on the wall.
As well as charts, you can use various metrics to track and report on the progress of a Scrum project. All visual ways to track progress, within the sprint or on project level, are called progress monitors.
Agile transition roadmap
Course wrap up and conclusions.
Welcome to the 4th course of the Agile Project Management - The PMI-ACP (Agile Certified Practitioner) Certification Program. This one is focused on Agile Planning and more precisely on Project Initiating and Requirements Gathering.
Project planning involves thinking about how to complete a project within a certain timeframe, usually with defined stages and with designated resources. The success of a project will depend in part on the effort and skill you apply during planning.
Initial Backlog Ranked for Changes
Project planning occurs at various levels, each providing a different degree of detail and occurring at different times in the project development life cycle.
Roadmap to Value
Agile project planning is cyclical and ongoing, with different types of planning repeated throughout the project life cycle.
Project planning is usually either date-driven or feature-driven. In a date-driven - or time-boxed - project, the release date is set but the set of features that will be included in the product release is uncertain.
A project team is updating the web site of QuickTravel, an outdoor adventure company. The team's instructions are to change the site's look and feel, and to add search, reservation, and payment tools.
The team knows what to build, but it is not sure why the customer has requested the changes or which functionality is the most important. As a result, the team runs over budget and develops a product that doesn't fully align to the customer's business objectives.
Uncertainty and Compelxity Model
Whereas traditional project management is plan-driven, agile planning is value-driven. Value in this context refers to the financial worth of a project to the customer.
The purpose of a business case is to confirm that a project will create value for the customer right from the start. A business case addresses questions about a proposed project's economic, technical, operational, and political impact on the customer.
Relationship between change management and agile
For an agile project, a product vision describes how a product can capitalize on the opportunities and fulfill the goals outlined in the business case. It should provide all stakeholders, including developers, with a common understanding of what's required, without limiting the team's creativity in finding solutions.
Some may think that with an agile methodology, the customer can simply take an "I'll know it when I see it" approach to specifying what's required. However, this would make planning and estimation nearly impossible.
Agile teams are highly responsive to changes in customer expectations and market conditions. However, an agile project isn't without boundaries. Time and money, for example, aren't unlimited - so there have to be some limits on what can change, and the changes can't go on forever.
A project manager defines the scope of a traditionally managed project using a work breakdown structure, or WBS. An agile team, however, defines and manages scope using techniques for capturing requirements, such as use cases.
Use cases provide a big-picture overview of a system and of a project's scope. They can, however, be quite detailed and may not be very suitable for use in planning and estimating.
An alternative technique, possibly used in addition to a high-level use case, involves breaking down project requirements into user stories.
Each user story describes a specific, required functionality, which is defined from a user's perspective. Together all the user stories for a project provide a detailed description of the project's requirements.
User story and acceptance criteria
You just finished the 4th course of the Agile Project Management - The PMI-ACP (Agile Certified Practitioner) Certification Program. This one was focused on Agile Planning and more precisely on Project Initiating and Requirements Gathering.
Welcome! This is the fifth course out of eight of the Agile PMI-ACP (Agile Certified Practitioner) Certification Program. This part is on Planning and Monitoring Iterations on an Agile Project. And, just to give you an overview, the next lecture will briefly present all the sections that form this Program.
Once the high-level release planning for an agile project has been completed, it is time to begin planning project work in more detail. Unlike in a traditional project, this type of planning doesn't occur just once. Instead it takes the form of iteration planning. It's completed before each of multiple iterations begins.
During release planning, an agile team and the project customer create a product backlog, which lists the features or user stories to be developed during a project in order of their priority.
During an iteration planning meeting, the participants determine the team's target velocity and adjust the priorities of user stories. They then identify an iteration goal, select the user stories to develop, split the user stories into tasks, and estimate the effort involved in developing the tasks.
A team's velocity refers to the amount of work, typically represented as story points, it can complete per period, or per iteration.
Iterative Life Cycle
An iteration planning meeting has three key outputs:
During an iteration planning meeting, the team creates an iteration backlog. This backlog is an ordered list of the work that the team plans to complete during the coming iteration.
Creating the iteration backlog involves three steps - splitting large user stories, breaking the user stories into development tasks, and estimating the tasks.
The second step in creating an iteration backlog is to split each of the user stories selected for development into tasks. According to the SMART acronym, good tasks - like good objectives - are specific, measurable, achievable, relevant, and time-boxed.
The third and final step in creating an iteration backlog is to estimate task durations. During release planning, teams often estimate using story points, which represent fixed amounts of development effort.
A team that has considerable history working and estimating together may be able to estimate a story point with an equivalent average of development time. However, since story point values are relative in nature and unique to a specific team, they shouldn't be translated directly into hourly estimates.
In a traditionally managed project, a project manager estimates task durations before work starts, and aims to ensure that each task is completed in time - resulting in a project that stays on schedule overall.
In an agile project, however, early scheduling provides a general framework, outlining what a project will involve and how many iterations it'll include. Distinct tasks aren't identified until the iteration planning stage, when all team members participate in estimating the effort required to complete them.
You can calculate a project buffer in different ways. First, however, it is important to be familiar with various statistical concepts and practices - including the standard distribution of task durations, estimating at 50% confidence, estimating at 90% confidence, and using both 50% and 90% estimates.
When working with very large projects and multiple teams, it is crucial to have a functional agile scaling model in mind. An agile scaling model provides a way to tailor agile methods to more complex development and delivery scenarios.
When scaling a complex or large project, at least one additional management or planning layer is generally needed to define the product. This level may develop and maintain a product roadmap, in addition to the usual release planning and iteration planning levels.
Although traditional and agile approaches to project management differ, all projects rely on careful monitoring. Success depends on ensuring that team members stay on track and that unexpected challenges are resolved without compromising project objectives.
In a traditionally managed project, the focus of project monitoring is on tracking actual progress against the ideal progress outlined in a project plan. The aim is to minimize all deviations between actual and planned progress.
As well as monitoring progress across each iteration, an agile project team monitors progress at the release level. This is to ensure that together, all the iterations in a project will result in delivery of a product with the required features by the planned release date.
The starting point for project-level or release-level monitoring is the release plan, developed at the start of a project. This plan generally contains a list of high-level project and release goals, unrefined user stories, and priorities at the time the project started. It also includes an estimate of the number of iterations in the project and a date for the project's completion.
The starting point for project-level or release-level monitoring is the release plan, developed at the start of a project. This plan generally contains a list of high-level project and release goals, unrefined user stories, and priorities at the time the project started. It also includes an estimate of the number of iterations in the project and a date for the project's completion.
Tools for tracking and communicating progress at the project or release level include release burn-up and burn-down charts, parking lot charts, and defect reports.
Release burn-down charts are similar to iteration burn-down charts, but they indicate the amount of work outstanding in a full project instead of in a single iteration. A typical release burn-down chart plots the number of story points in a project against the number of iterations.
This is it for now. The next course of this Agile Certification Program will be on Leading an agile team. Thank you for taking this course, and see you in the next one!
Welcome! This is the six course out of eight of the Agile PMI-ACP (Agile Certified Practitioner) Certification Program. This part is on Leading an Agile Team.
Teams that use an agile approach adopt a much more flexible and interactive approach to development than those using a purely traditional approach, with all players taking an active role in the process. Accordingly, the project manager fills a different role and has a different focus.
Agile Team Roles
Agile project leaders need a particular mindset. They need to view the customer as a collaborator and embrace the idea of continuous improvement. They need to think of themselves as having two roles - servant-leader and facilitator. And they need to view any project as a complex adaptive system, or CAS.
Although the success of any project depends on an effective project team, the team plays an especially critical role in an agile project. In a traditionally managed project, team members follow through on what has already been planned - but in an agile project, the team drives and shapes the project as work proceeds.
Attributes of Successful Agile Teams
In some cases, agile teams may fail to function effectively. The causes for these failures can be categorized as either management weaknesses or team dysfunctions
Email versus face-to-face conversation
In agile development, it is ideal to have small teams with colocated members, but this may not always be possible. The reality of the work world today is that many companies use multinational teams, with members who are widely distributed geographically. This poses special challenges in terms of managing the agile development process.
Although an agile team may be self-organized and even self-managed, it still requires leadership, support, and encouragement. So coaching plays an important role. This applies especially when a team is new or working on a complex project.
An agile coach focuses on maximizing both team and individual performance, and mentors team members in applying agile practices in their daily work. The coach also models agile values and shares agile experiences with the team.
One of the key responsibilities of an agile project leader is to recognize when a team isn't performing at its best and then help it to boost its performance. As a project leader, you can use several strategies to do this. Among these are to make it clear you expect high performance and technical excellence from the team, quickly identify and fix problems, and ensure that team members are energized.
For an agile team to be highly productive, its members have to be able to identify and fix problems quickly. Various obstacles can prevent this. They include:
Another strategy for improving a team's performance is to ensure that its team members are energized. Energized team members are excited, focused, and actively seek opportunities to improve. To remain energized, team members need to maintain a balance, both physically and emotionally
Course wrap-up and conclusions.
Welcome! This is the seventh course out of eight of the Agile PMI-ACP (Agile Certified Practitioner) Certification Program. This part is on Managing Stakeholder Engagement.
An agile project evolves as it progresses, through a continuous process of inspection and adaptation. For this approach to succeed, stakeholders have to participate actively during the course of the development process.
Rather than simply making plans and then ensuring the plans are followed, they need to shape a project – and the product it delivers – as work proceeds. So it's vital for an agile project to have a highly engaged project community.
The commitment levels of the various stakeholders can vary. Stakeholders may show a high level of engagement throughout a project. Or you may have to deal with stakeholders who are reluctant to commit, or who are enthusiastic only at first, becoming less so as a project progresses. A lack of stakeholder engagement can result in delays – for example, with uncommitted stakeholders failing to review features or making vital decisions too late – and compromise a project's overall success.
In an agile project, one of the project leader's key responsibilities is to keep stakeholders engaged, and to manage the relationship between them and the development team. Actively engaged stakeholders are essential because their contributions help the development team maximize the value a product will have for the customer.
During the initiation phase, the product owner - or other form of customer proxy - is responsible for establishing the product vision, which is a high-level description of the product that a project will deliver. Its aim is to inspire stakeholders and team members, and to ensure that everyone has a common understanding of the product.
A release is a delivery of value to the customer which occurs at the end of a project, or at specific intervals during the course of product development. During the release planning phase, the team plans the project work that needs to be completed in order to develop the product and roughly assigns work items or user stories to iterations, based on a prioritized order defined by the customer.
At the beginning of each development phase, stakeholders may participate in iteration –or sprint – planning. Once an iteration starts, some stakeholders focus only on monitoring the development team's progress. Others are more extensively involved, guiding and advising the team.
During the review and adapt phase, the product team, managers, customer, and sometimes end users and developers from other projects take part in product demonstrations and review meetings. They evaluate the working features produced by the development team in terms of their functionality, value to the customer, and overall quality. They may also provide feedback on the team's performance and the project's status.
The close phase begins when the development team has completed all product backlog items. Before the product can be released, the project leader needs to send the product owner and other stakeholders a deployment notification.
In a traditional project, most decisions are made during initial project planning. But in an agile project, most decisions are made as a project progresses and understanding of a product evolves. For this reason, agile projects depend on fast, effective decisions. An agile project can't afford slow decision-making, because delays in decisions mean delays in the project.
Once you've framed a decision properly, you need to ensure that everyone you've identified as relevant participates in the decision-making process. For participatory decision-making to work, everyone's opinions first have to be heard and discussed.
This helps ensure that diverse points of view, based on differing areas of expertise, are taken into account – resulting in better final decisions. It also helps build trust in the decision-making process.
According to the Agile Manifesto, agile methodologies emphasize "working products over comprehensive documentation." This means that functional software is valued more than detailed documentation. But it doesn't mean that documentation is considered unnecessary, or that the need for communication between the team and stakeholders is ignored.
An agile approach recognizes that a development team doesn't need that much information to get its job done. So by agile standards, such documentation – which goes beyond what's "just enough" – is excessive.
Agile teams document only the information that will help them complete the required work successfully.
Assessing Organisational Culture
On an agile project, knowledge sharing depends largely on personal interaction and face-to-face communication. Agile practices like pair programming, standup meetings, and the use of on-site customers all encourage the free flow of knowledge between individuals.
In an agile project, success often depends on accurate information passing from one person to another. Because of this, it's important that access to information is open and free-flowing. Traditional project management involves controlling the flow of information by restricting knowledge to certain people and distributing information on a "need to know" basis.
The main aim of an agile approach to development is to maximize the value that a project delivers to the customer. A project team does this by regularly delivering working software that meets the customer's needs – and by frequently inviting and reacting to feedback from the customer.
An agile team uses specific techniques to gather feedback during release planning, iteration planning, and iteration reviews.
In an agile project, each iteration ends with an iteration review meeting. During the meeting, the team demonstrates what it has developed to managers, customers, and other stakeholders, and then invites their feedback.
The team members speak about their work on the iteration and the results, and stakeholders have the chance to give direct feedback and ask questions. Developers respond to these immediately, and everyone is free to participate in the discussion.
Congratulations for finishing course 7 of 8 of the Agile PMI-ACP (Agile Certified Practitioner) Certification Program. This course is was on Managing Stakeholder Engagement.
Welcome to the eighth course and the last one of the PMI-ACP (Agile Certified Practitioner) Certification Program.
Agile project management is driven by value. During planning and development, every decision is made with the customer in mind - hoping to provide customer value at every step. But one thing that can often undermine this ideal is excessive documentation.
Quality feedback in an agile project
Documentation effort varies over the length of an agile project, but several documents are crucial to a project's success. Near the start of an agile project, an agile team invests effort in creating the vision statement, project overview, and important requirements documentation.
For documentation to meet agile guidelines, the benefits of creating it have to outweigh the costs. The documentation also has to be focused, lean, and necessary
Contracts help organizations manage their risks and resources, by identifying limits on what they'll provide and specifying what they agree to accept in return. The contract between a customer and the organization performing a project is a formal, legally binding agreement that should protect both parties.
Although fixed-price contracts are problematic for an agile project, a number of other contract options do work well in an agile context. These include the use of a service contract with a series of fixed-price contracts, cost-reimbursable or time-and-materials contracts, not-to-exceed with fixed-fee contracts, and incentive contracts.
The goal of project risk management is to prevent or minimize the negative impact of risks on a project's success. In an agile context, it involves preventing risks from jeopardizing the delivery of value to the customer.
Testing within sprints
Agile project teams use various risk management tools, including landing zones, risk burn-down charts, risk-based burn-up charts, and spikes.
Agile Project Risk Management Tools
Many agile practitioners avoid EVM, considering it too "heavy" for an agile approach and too closely related to traditional project management.
However, with some modifications, EVM can be lightweight and highly effective in an agile context. It can show you how close a team is to meeting initial expectations and enable you to forecast the impact that changes will have.
EVM also uses several other variables and calculations. These include Actual Cost - or AC, Cost Variance - or CV, Schedule Variance - or SV, the Cost Performance Index - or CPI, and the Schedule Performance Index - or SPI.
AC is the total cost actually incurred up to a given point in a project. You obtain this figure by adding up all project spending incurred to date.
In a traditional project, performance metrics may be reported in a chart that plots BAC, PV, EV, and AC.
In this chart, the PV - or baseline - is shown as an S curve. This is because money is spent at a faster rate during the production phase of a project than at the beginning or end of the project.
If a project doesn't meet quality standards, the product it delivers may not be accepted by the customer, and customer satisfaction will suffer. The success, or quality, of a traditionally managed project is defined in terms of how well the project meets time, budget, and scope requirements. In an agile project, however, quality is judged in relation to meeting a customer's needs - and it is recognized that these needs may change over time.
Earned Value in an Agile Context
Quality is important in an agile project, but what is it that quality standards should apply to - for example, just the product, or the team's testing methods? Does quality extend even to how team members communicate with one another?
The term "technical debt" was coined in 1992 by Ward Cunningham, who saw parallels between financial debt and the consequences of taking technical shortcuts in projects.
For example, a team that misses steps or takes shortcuts during software design later has to pay "interest," in the form of extra time and effort spent getting the software to work properly.
Refactoring involves restructuring code, without changing its core functionality. An agile team is encouraged regularly to refactor the code it develops, to simplify it and make it easier to maintain and extend. For example, refactoring may involve removing duplication and reusing proven, optimized code instead of newly written code. This saves effort and reduces technical debt.
Prototyping involves creating an inexpensive model of a product or product feature, such as a user interface. A prototype enables a team to simulate how a product works, assess and experiment with a particular design, and obtain feedback from a customer before further time and effort is invested in product development. This can result in a better quality product, as well as saving time and money once development begins.
In a traditionally managed project, most testing occurs after development work finishes and a completed product is passed to testers or quality assurance staff. In an agile project, however, testing is fully integrated in the development process. Agile developers continually write small amounts of code, test it, and adapt their work based on the results.
In addition to ongoing testing, agile teams use various techniques to build quality into products and to achieve a close-to-zero defect rate. These include:
Example: Agile Software
This course was focused on Ensuring Delivery of Value and Quality in Agile Projects Agile Project Management and is structured around two main topics:
The Agile Practice Guide 1
The Agile Practice Guide 2
Introduction
Agile based learning
Why an Agile Practice Guide? 1
Why an Agile Practice Guide? 2
Disruptive technologies and change management
In-Scope and Out-of-Scope Items 1
In-Scope and Out-of-Scope Items 2
In-Scope and Out-of-Scope Items 3
Are you determined to redefine your career with the transformative power of Agile methodologies? Take the leap with The Agile Certified Practitioner Training Program (PMI-ACP)! This innovative course, sculpted meticulously in alignment with PMI’s Agile guidelines, stands as your beacon to Agile mastery. Here's what sets this trailblazing program apart:
Unravel Agile's Essence: Dive deep into the Agile universe, ensuring expertise in today’s Agile best practices. Not only will you gain comprehensive insights into Agile's foundational principles, but you'll also master the diverse methodologies, from Scrum to Kanban.
Gear up for PMI-ACP Certification: Whether an Agile novice or an experienced practitioner, this program is precision-engineered to prepare you for the PMI-ACP certification exam. It offers holistic coverage of Agile's tools, techniques, and knowledge domains.
From Concepts to Real-World Mastery: This course doesn’t stop at theoretical knowledge. Experience the tangible translation of Agile concepts into actionable strategies, ensuring readiness to address real-world Agile project challenges.
Dynamic Course Content: Immerse in over 40 hours of on-demand video content, challenge yourself with 2 practice tests, embark on enlightening assignments, sift through 44 insightful articles, and access 419 invaluable resources. Learn your way with the flexibility of mobile and TV access and the privilege of lifetime course entry.
Guidance from Agile Aficionados: Absorb wisdom from Agile mavens, carrying a rich tapestry of experiences. Harness their hands-on expertise, invaluable advice, and tactical strategies to thrive in Agile environments.
Be Part of a Vibrant Agile Ecosystem: This course shines brightly with more than 1,600 5-star reviews. Join an expansive network of over 11,000 learners, all fueled by a shared passion for Agile. Engage, exchange, and evolve with peers.
Seize this unparalleled opportunity to amplify your Agile acumen, earn a globally renowned certification, and springboard into promising Agile roles. Enlist today and embark on a transformative journey towards PMI-ACP certification success!