Transcript for:
Agile Project Management Overview

[Music] hello and welcome to agile project management so far this program has covered the foundations of project management and what it takes to be a project manager we've explored the phases of the project lifecycle initiation planning execution and closing and we've reviewed lots of different tools and techniques for managing and communicating your plans we've also discussed how to handle various challenges risks and issues that come up along the way if you've completed all the courses so far congratulations if you're just now joining welcome either way you're on your way to a new or maybe just improved career in project management now that you have a solid foundation on what it takes to manage a project i'm going to share with you one of the most popular approaches to delivering projects agile in my opinion agile is also the most interesting and flexible approach to project management agile is not a project management methodology in and of itself but more of an overarching approach and philosophy to deliver value to customers which is the goal of most projects despite not being a specific methodology there are lots of frameworks and methods under the agile umbrella in this course i'll help prepare you for a career in agile project management i'll provide you with a history of agile and introduce you to a specific agile delivery framework called scrum i'll teach you about the core roles that make up a scrum team and finally i'll cover some best practices and real world scenarios where you can use the agile approach to lead your project to success oh and i should probably introduce myself my name is sue and i'm a senior technical program manager with google support platform we build the products you use to get user support from nearly all of google's products i started at google in 2014 and worked on product reliability making sure google's products are up and running all the time for billions of people across the world who depend on them before google i worked at many companies of different types and sizes where i ran and worked on projects using waterfall agile and everything in between i started my career as a software engineer working on cell phone technology but i didn't have a degree in computer science since then i've had many different roles but program management is my passion because it brings all of the disciplines together to deliver amazing outcomes for the customers and equally amazing results for the business i still remember the aha moment i had when i discovered agile and i'm excited to share it with you i hope you're ready to discover agile and experience your own aha moment in the next video we'll start learning the basics of agile meet you there to quickly review waterfall is a popular project management methodology that refers to the sequential or linear ordering of phases you complete one phase at a time not proceeding to the next until it is done then you move down the line like a waterfall starting at the top of a mountain and traveling to the bottom the term agile refers to being able to move quickly and easily it also refers to flexibility and the willingness and ability to change and adapt projects that adopt agile project management take an iterative approach which means the project processes are repeated often many times during the life cycle of the project in this case the team operates within many shorter blocks of time called iterations individual iterations might get repeated depending on the feedback received during each iteration the team takes a subset of all the project's activities and does all the work required to complete that subset of activities you can think of it as a lot of mini waterfalls for each activity this iterative approach enables the project to move quickly as well as making it much more adaptive to change so the term agile means flexibility repetition and openness to change but what do we mean by agile project management agile project management is an approach to project and team management based on the agile manifesto the manifesto is a collection of four values and 12 principles that define the mindset that all agile teams should strive for so in very basic terms waterfall is linear and sequential and does not encourage changing up the process once it has started agile on the other hand is iterative flexible and incorporates necessary changes throughout the process now a bit of a history lesson so you can have a better sense of how and why agile has become such a popular approach to project management agile methodologies emerged organically during the 1990s as the software industry was booming software startups like google were blazing a trail to get more software products built in less time meanwhile the tech giants of the time were experimenting with faster ways to build better software and stay competitive and by the way software isn't just the apps and websites that we all use every day software also includes the code behind innovations in agriculture medical devices manufacturing and more so in this competitive growing environment companies couldn't just create new innovative products they also needed to innovate the very processes they were using to develop those new products in 2001 the thought leaders and creators of some of these new processes also called methodologies came together to find common ground between their methods and solve a problem the problem they agreed was that companies were so focused on planning and documenting their project that they lost sight of what really mattered pleasing their customers so these leaders came up with the agile manifesto to guide others on what they believed really matters when developing software which is keeping the process flexible and focusing on people both the team and the users over the end products or deliverables now here's where agile gets even more interesting you can still use agile even if you're not planning to work on software projects agile has been so successful in the software industry that its values principles and frameworks have been applied to nearly every industry in fact the agile methods that you're going to learn also draw heavily on lean manufacturing principles that originated in toyota's car factories in the 1930s you'll also find agile methods being adopted in the aeronautical healthcare education finance industries and even more cool right agile is everywhere agile was created in response to the strict linear process of waterfall while waterfall aims for predictability and tries to avoid change agile embraces the reality that the world markets and users are uncertain and unpredictable for example your customer might say they want feature a but when the final result is delivered they realize they actually wanted feature b agile aims to solve that problem by getting customer feedback more quickly to make sure that the team is building what the customer really wants part of working with an agile mindset is always seeking out ways to work more efficiently we do this by finding ways to streamline processes without reducing product quality or value the key to streamlining is to reduce waste for example unnecessary documentation is a form of waste another form of waste is spending weeks or months working on a feature only to find out that the customers who could also be users or stakeholders don't like the feature after all you could reduce or eliminate both of these forms of waste by increasing team and stakeholder collaboration more collaboration means less documentation and earlier feedback about the product let's consider some more differences between waterfall and agile three important aspects of a project are requirements documentation and deliverables requirements are conditions that must be met or tasks that must be finished to ensure the successful completion of the project think of these as the set of criteria that fall within the scope of your project or a list of specifications that must be met in a waterfall project you'll probably need a product requirements document which lists the scope and requirements of the project you need to have several formally approved project plans and you might have a team of people whose job it is just to write and approve these plans you might also set up a change control board a formal and rigorous process to manage any changes to requirements all this is designed to protect the team from building something that the client or stakeholders don't want and aims to minimize any changes that could lead to scope creep formally approved project plans work well when the desired end product is known and understood an example of this might be leading a project that has clear requirements and goals based on mandated regulation but if that's not the case a waterfall team risks building out an entire deliverable only to find out later that the customer doesn't like the final result in agile requirements are treated as more dynamic and expected to change as the team receives feedback and new information there is usually an initial set of requirements or feature ideas when the project kicks off but that list of requirements and features is continuously growing and changing throughout the project the team works with stakeholders to prioritize the requirements always moving the most urgent or valuable items to the top of the list then the team goes down the list working on the requirements in iterations by going down the list the team is able to get feedback on their work quickly and frequently at the end of each iteration the team gets feedback and can make necessary adjustments to the requirements before continuing on okay the second aspect is documentation all projects require documentation project plans stakeholder maps schedules charters contracts the list goes on and on waterfall projects use lots of documentation because there are lots of handoffs between phases and handoffs among different teams within the project also because the work is done in bigger chunks you'll need to leave behind more pieces of documentation at each stage in the project but in agile there's an emphasis on real-time person-to-person conversations this doesn't mean that there's zero documentation it's just in a different form instead of big formal documents with a rigorous change management and approval process there are shorter documents that have just enough detail to achieve their purpose these documents are much more focused on what the reader needs to know to get the job done and are written only as needed finally let's explore deliverables a deliverable is a tangible outcome from a project in waterfall projects you often don't release the deliverable until the very end the final product release feels like a big event major announcement lots of hoopla and is often super fun and exciting agile is just as exciting but has smaller more frequent releases so each release has a less formal celebration but it builds up to be just as exciting when there's lots of uncertainty in a project such as in a new emerging industry or market the steady release of project deliverables enables an agile team to get feedback and learn as they go without regular feedback the team could end up delivering something that the customer doesn't want so now you have a better idea of some key elements of agile that distinguish it from waterfall three differences between these two project management approaches are the way each one deals with requirements documentation and deliverables now that you're more familiar with the history of agile and how it's applied to project management let's discuss the inspiration behind this agile movement the agile manifesto in this video i'll list the four values of agile and describe how each agile team needs to strike a balance between the four values being familiar with the agile manifesto will help you understand the core principles and values of agile project management so you can put them into practice on a project the agile manifesto was written in 2001 and brings together the collective wisdom of the people who developed it from their vast experience and thought leadership in the tech industry if you'd like to find the manifesto it's easy just type in agilemanifesto.org in your search browser we've made it available for you here in the course readings as well let's check it out the manifesto for agile software development states we are uncovering better ways of developing software by doing it and helping others do it through this work we have come to value individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation responding to change over following a plan that is while there is value in the items on the right we value the items on the left more there you have it the agile manifesto and the four values of agile it's a short list but it packs a punch the manifesto is saying that it's helpful for every agile team to think about both sides of each statement during the execution of a project but should find ways to ensure that they're always placing more value and emphasis on the things on the left over the things on the right from the four values a set of 12 principles were developed that reinforced the message of the manifesto these values and principles inform the why how and what of agile project management planning and processes let's take it from the top first the manifesto emphasizes individuals and interactions over processes and tools at its core this value stresses people communicating with each other over using lots of processes and tools to force things to happen in a certain way for example have you ever emailed someone with a question and ended up in a long back and forth exchange due to simple follow-up questions or clarifications chances are that you could have gotten the same information in less time with a brief conversation agile wants to ensure that teams work together collaborate and help each other achieve the best outcomes they can agile also values individual perspectives and creativity this does not mean that every team is chaotic the value just means that processes and tools should be used to facilitate and drive good project management and improved collaboration within the team and should never be used as a barrier to teams working well with each other the second value emphasizes working software over comprehensive documentation meaning the teams should prioritize spending time working on things that actually create value and avoid spending any more time than they really need on debating writing and reviewing documents now this value might seem like it only applies to software projects but just replace the term working software with whatever your project is trying to deliver maybe the project is writing a legal brief designing an office layout or preparing a sales presentation whatever your project is trying to deliver is the thing that creates value in other words it's more important to deliver the product the customer wants than to comprehensively document the process that you used on to the third value customer collaboration over contract negotiation in agile projects the customer satisfaction is considered the highest priority of building a high quality and valuable product after all if it's not valuable to the customer then there's little point spending time on it when the manifesto discusses contracts it refers to the official documents that require sign off and formal agreement with the customer such as those huge requirement documents or formal change requests agile values having the freedom to collaborate with customers early and often in doing so teams can quickly react and adapt to what customers need rather than waiting out the process of negotiating contract terms just to make a few changes or request resources there will still be contracts with agile project management but the focus is on identifying what's really needed and leaving space for collaborative customer focused work agile teams are encouraged to seek out every opportunity to include the customer or stakeholder during project execution this could be presenting early prototypes asking questions or bringing them in to do some initial product testing and finally we have the fourth value responding to change over following a plan this last value is crucial to an agile project as i explained in the history overview agile grew out of a world that was changing so fast that organizations couldn't adapt and struggle to survive as a result this value stresses that every agile team needs to acknowledge that change is inevitable the larger longer and more complex your project is the more uncertainty there is for many projects finalizing a well-established plan at the beginning of the project will likely lead to an on-time delivery within budget but may run the risk of not meeting customer needs or adding maximum value as a project manager the key takeaway to remember here is that the most successful projects are the ones that are able to smoothly integrate change agile project managers still create and value their plans but they can cope with and are able to adapt if the plans need revising at any time during the project so there you have it the four agile values individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation and responding to change over following a plan what's great about agile is that it gives us these values and also lets us find the right balance between the two sides you may have to fine tune your project style to meet industry needs team dynamics and organizational goals to find the healthy balance that works for you and your team for this course i've grouped the 12 principles into four themes these are different from the four values the four themes of the agile principles are value delivery or how do agile teams deliver highly valuable products to their customers business collaboration or how do agile teams collaborate with their business partners and stakeholders to create business value to the organization and their users team culture or how does a team create and maintain the right interpersonal and team dynamics to deliver value for the customers and the business and retrospectives or how does the project learn to continuously increase performance of an organization and business as i said i've grouped each of the 12 principles under these themes so they're easier to learn and remember let's dive in the first theme is value delivery and includes five principles take a few seconds to review them this theme is about delivering the work as quickly as possible and remember why so that we can get feedback and mitigate the risk that we spend too much time building the wrong thing also no one gets any value from your work including your company until you deliver it so the longer you take to deliver the longer you wait to get revenue and maybe the more time the competition has to get ahead of you these may look very software oriented but if you replace the word software with deliverables or solutions these can apply to almost any project for example deliver working solutions frequently see the value theme is also about simplicity how much time do you think it takes engineers to add all the buttons and features to products that ultimately end up confusing the user simplicity allows a team to focus and work on the things that matter the most an example of this theme in action might be prioritizing getting feedback on a product prototype so you know which features really matter or it might mean ensuring the team only works on approved features and doesn't spend time on unnecessary ones another example might be reserving 10 percent of the team's time to work on bug fixing or polishing a process which should help you go faster in future iterations the next theme is business collaboration and includes two more principles quick note one of the principles uses the term business people to refer to those involved with things like sales marketing customer support and account management we'll use the term developers to refer to those who are involved with making and creating products okay so we discussed customer collaboration during the values discussion and here we are again collaborating with your customers helps the team get critical business information immediately allowing them to adjust and adapt to any new information instantly no matter if it's realized early or late in the project customers will get what they want to achieve their business goals you could achieve collaboration by making sure that business people work near the development team ideally in the same office or virtual space if that's not possible maybe co-locating a day a week encouraging instant messaging or blocking off time on your team calendars each day or week to collaborate the goal is to enable easy access between business people and developers another example might be how you handle feedback and changes in priorities rather than trying to keep the customer away from developers due to concerns about scope crete create a weekly huddle where customers and business people can explore feedback and new ideas with the team this could be a great way to discover that one really valuable feature is super easy to build whereas another feature the users thought would be easy is actually really hard our third theme is team dynamics and culture and includes four more principles remember the first agile value stresses individuals and interactions over processes and tools notice that the principles in this theme reflect that value this theme emphasizes creating an effective team culture that is inclusive supportive and empowering having an effective team culture is essential to a project's success these principles really boil down to making sure your team is motivated to do the right thing feels trusted to do the right thing has the resources and space to work closely together on their goals and works at a sustainable pace an example of emphasizing effective team culture would be to ask the team what kind of equipment they need to do their job and then giving them those tools another manifestation of this theme is letting teams write their own processes and templates rather than forcing them to use something from headquarters teams work best when they feel like their input is valued so you as the project manager should make space for your team to engage and actively contribute to the team culture you'll build trust and empower them to approach their work in a way that suits them best which in turn will allow them to work more productively finally the fourth theme is retrospectives and continuous learning the last principle stands alone in this theme so i'll read it aloud at regular intervals the team reflects on how to become more effective than tunes and adjusts its behavior accordingly this one sits on its own because i want to draw attention to how important it is for agile teams to continuously learn and adapt to what's working and what's not working for them teams should always be figuring out better ways to work and it's really valuable to set this time aside after each iteration to focus entirely on how to improve in these sessions the team can step back and consider questions like how is the team doing are the customers happy are there processes we could optimize are our tools working for us are we following the values are we accumulating any debt and by debt i mean processes or technology that slows us down we've officially finished discussing the agile manifesto it's amazing to think that these four values and 12 principles are the foundations of so many advances in project management i'll come back to these values and principles throughout the rest of this course to demonstrate how these connect to the day-to-day activities of an agile project every project exists within organizations and settings with different cultures business objectives and industry dynamics in this video we'll discuss some different scenarios in which you'd want to adopt an agile mindset i'll also introduce you to a concept called vuca that can help you decide which management approach is best for your project remember agile is about delivering value in a world with high degrees of uncertainty risk and competition it sets a team up to react as quickly as possible to new information new market opportunities and even new technologies agile works best in industries or projects that are susceptible to or that encourage change and uncertainty what kinds of businesses or industries besides software come to mind that deal with lots of change a few that i think of are biotechnology with emerging vaccines treatments and technologies media with endless new ways to share content the food industry with celebrity chefs and the latest food craze and fashion an industry built on keeping up with shifting trends did any of these surprise you on the flip side here are some industries that you might think of as fairly stable agriculture aerospace manufacturing and mining but even these industries with rigorous supply chains and codes have to adapt to change due to new laws and regulations natural disasters and other unforeseen issues one thing that the year 2020 taught all of us is that no industry is truly immune to change and uncertainty we're going to explore a concept for categorizing and thinking about these forces that shape our world no matter what industry we're in that concept is called vuca and it can help you decide which project management approach is best for you the us military war college developed a concept called vuca spelled v u c a vuca is an acronym that defines the conditions that affect organizations in a changing and complex world it was designed to help us factor in the forces of change and uncertainty in our projects and businesses vuca stands for volatility uncertainty complexity and ambiguity i'll explain each one and what that could entail in projects and business settings first up is volatility volatility refers to the rate of change and churn in a business or situation in a volatile project you would discuss how the next disruption to your operations is always right around the corner or it feels like things never have time to settle into a normal rhythm next is uncertainty uncertainty refers to the lack of predictability or high potential for surprise in an uncertain environment it would be difficult to create plans for the future that were not based on a large number of assumptions that could turn out to be incorrect then there's complexity complexity refers to the high number of interrelated forces issues organizations and factors that would influence the project for example if one product being worked on relied on diverse and global suppliers that would add to the complexity of the project and finally we have ambiguity ambiguity refers to the possibility of misunderstanding the conditions and root causes of events or circumstances a project that suffered from ambiguity would have difficulty pinpointing the causes of project delays making it difficult to design mitigation plans to reduce the risks let's recap vuca stands for volatility uncertainty complexity and ambiguity it's a concept that was developed to deal with these forces in a changing and uncertain world businesses can apply the concept of vuca as a tool for determining how best to approach projects phew that's a lot of info but it's all good stuff having an understanding of these concepts will help with decision making in all kinds of projects adopting an agile approach increases your chances of success despite this uncertainty and these concepts apply to the business world at large not just projects now let's discuss why it's important to understand vuca as it relates to project management when we get started on a new project it's helpful to examine the environment and conditions in which the project exists before we decide the best approach to use if your project environment has high levels of volatility uncertainty complexity and ambiguity then it's a good sign that you should consider an agile approach while an agile approach is not a perfect solution that will get rid of vuca it will lead to better outcomes by giving you and your team tools and systems to mitigate the risks that vuca presents when you consider agile values and principles it's clear that agile is a proven and well-documented solution to the challenges vuca presents to your project okay let's revisit the office screen scenario we introduced earlier in the program we'll use this scenario throughout this course as well to illustrate the power of an agile approach to project management if you're just joining us now i'll give you a quick recap in previous courses learners acted as the lead project manager at office green llc a commercial landscaping company focused on interior plant design for offices restaurants and hotels for this agile course we'll come back to office screen as they pursue a new business opportunity the office green market research team noticed a major shift to more workers setting up and working from a home office they wanted to react fast to a potentially huge market opportunity and not lose revenue if businesses had less need for their previous office service instead of offering indoor landscaping designs for businesses officegreen wants to find a way to capture this new market full of home offices i don't know about you all but i have a hard time keeping plants alive i can't keep a cactus alive but i love all those video conference backgrounds that are so nicely decorated with beautiful live plants this shift to working from home came about suddenly so office green didn't have any project plans to start from they didn't have time to do a lot of prep work but they wanted to maximize this opportunity before it was too late to do this officegreen assigned you to be the project manager of a scrappy new agile team your goal is to deliver their new service called virtual verde what environment did officegreen face volatility uncertainty complexity and ambiguity they experienced volatility in the form of a major disruptive change to their business plans uncertainty through a lack of predictability which made it difficult to create concrete plans for the future a high level of complexity due to interrelated factors like suppliers and the economy and they experienced ambiguity by not being able to determine or control what might cause future changes by using an agile approach to their project officegreen was able to address high vuca factors that were affecting their business instead of business slowly or quickly eroding due to market forces officegreen embraced the changing market and remained flexible in how they approach their next project we'll follow along with officegreen and your work as a project manager of virtual verde throughout this course and find out how you do so far we've explored a little bit of agile history the agile manifesto and some of the types of projects that benefit from an agile approach up next i'll introduce you to some specific methodologies under the agile umbrella the most popular of these by far is scrum in this video i'll briefly recount the origins of scrum and discuss the basics of scrum methodology so what the heck is scrum well i'll tell you first that it's not an acronym if any of you have ever played or watched the sport of rugby you may recognize the term for those that aren't familiar with rugby it's similar to american football a full contact sport played on a field with a similar shaped ball scrum refers to a formation in rugby where all of the players on the team lean forward lock their heads together and then work as one unit to try and gain precious yards towards the scoring line the originators of the scrum methodology saw their team as a heads-down group working very closely together to get that ball down the field just like scrum in a rugby match so how does the scrum methodology work as a project management methodology i'll give you a brief overview here and we'll dive into it more throughout this course if you work in agile project management it's highly likely that you'll use scrum or an approach that is based on scrum in the 2019 state of agile report 72 percent of teams using agile methods were using scrum or a hybrid when you use scrum for project management you form a team that will work together to quickly develop and test a deliverable the work is completed in short cycles and the team meets daily to discuss current tasks and clear up anything that's blocking their progress first let's review some terms and concepts specific to scrum the backlog is the central artifact in scrum where all possible ideas deliverables features or tasks are captured for the team to work on it's prioritized and proactively managed by the team continuously throughout the life of the project the sprint is the name of the time box period in scrum where work is done the sprint can be between one and four weeks long but most sprints are around two weeks this is often called the iteration and then there's a practice called the daily scrum also called the stand-up this is where the team meets for 15 minutes or less every day of the sprint to inspect their progress toward their goal next are the roles the first of which is the scrum master this role is responsible for ensuring that the team lives agile values and principles follows the processes and practices that the team agreed to sharing information to the larger project team and they also help the team focus on doing their best work the other notable role in scrum is the product owner who is responsible for maximizing the value of the product and the work of the team the product owner owns the inventory of work and has the final say on how to prioritize the work and the development team is responsible for how a team will deliver that product scrum is popular for many reasons first it has clear roles and responsibilities for the folks on the team while continuously emphasizing the power of the team as a whole scrum has a very regular and predictable meeting and delivery schedule with pre-defined agendas and outcomes for the meetings making it easy to teach new team members it supports and reinforces the agile values and principles while adding some structure and foundations that help new agile teams get started and more experienced teams get better and it's all free and open for all to use since it's the most commonly used agile delivery framework there's also a huge amount of guidance and support online as well as scrum specific training and certifications scrum lends itself best to the following types of projects and teams ideally a scrum team should be cross-functional with around three to nine team members some call this a pizza size team because it has the same amount of people who could share a large pizza if the team is too small you might not have the diversity of skills to get work done if the team is too large it gets hard to distribute information lastly scrum works best for projects where the team and management are open-minded adaptable and value continuously learning how to be a better team trying to force a team to do scrum will almost always fail note that in all of these examples i never once mentioned the word software although scrum emerged from software projects people have adapted scrum to suit all kinds of projects from wedding planning to house moves to building rockets there are many popular agile methodologies that are still around from the 90s when agile was invented these methodologies share agile values and principles but have very specific practices and applications in this video i'll touch on a few of the most popular ones besides scrum which we covered in the last video first one of my personal favorites is kanban this is a methodology that can be applied in a very simple way or it can be used to drive the entire project the kanban name comes from two japanese words khan meaning sign and ban meaning board you may have already used a kanban board because it's the most famous feature adopted by the majority of agile enthusiasts the reason kanban is so popular is that it provides transparent visual feedback to everyone who might be interested about the status of work in progress kanban boards or charts display the progress of a project as to do in progress and done also just so you know there are software tools that create digital kanban boards for you the kanban method ensures that the project team only accepts a sustainable amount of in-progress work this means the amount of in-progress tasks are limited to what the team can actually handle during a certain amount of time this is called the work in progress limit or whip limit the whip limit is decided on by the team this is a reflection of agile in that teams are both self-organizing and empowered and they're operating at a sustainable pace the team members add new tasks to be completed only after they've finished their previous task and are below the whip limit this approach means that once a task has started to be worked on it becomes a priority for the whole team to get it to done by focusing on less work the work gets done faster this goal of trying to maximize efficiency is called flow and is a core principle of kanban another agile methodology is extreme programming or xp it was named that because it took traditional software development activities to an extreme level but i also believe it's because it emerged at the same time as extreme sports like snowboarding xp is another one of my personal favorites it was the first agile methodology i was introduced to back in my days working on some of the original cell phones at qualcomm the company behind the radio technology we all use in our phones today since xp came out of the software industry it refers to specific software terms and activities like coding and programming but the xp method can be used in lots of non-software environments as well the xp methodology aims to improve product quality and the ability to respond to changing customer needs it does this by taking best practices for the development process to extreme levels for example one best practice is the idea of test first development this means testing out parts of the product before building them in full often only the larger features get tested which is still good but means some details might get missed xp takes this practice to the extreme by finding ways to test more and smaller features of the product to get even more feedback there are four basic activities that are performed during the product development process that the xp method tries to enhance designing in software development this is where you write a design document describing the parts of the code or instructions for the product and how it will function in non-software environments this would be describing the various pieces and parts for whatever it is you're trying to deliver for example if you're delivering an ad campaign maybe the main pieces are the artwork the copy and the ad buy plan xp wants to ensure that all of the pieces of the product will fit together properly so it stresses simplicity start with a simple design to meet the most basic and important requirements simple designs also take less time to complete once the basic model is designed and has been tested then you can think about adding on other features coding code is the language that's used to write software programs it's the instructions that tell the computer what to do in software development writing clear code is crucial just like clear writing is crucial in any situation where you want to be understood xp demands clear and concise code so that others can easily read and understand the program this makes it easier to troubleshoot problems and come up with solutions in non-software environments code would be similar to writing clear and concise processes or instructions for how to build or use your product testing like i described earlier means checking the product for flaws so they don't end up in the final product in xp more is better so if a little bit of testing can eliminate a few flaws lots of testing will eliminate even more the goal is to test for and eliminate any flaws in a feature before building it and continuing on testing also means checking to make sure the product features meet the customer's requirements which leads us to listening which is about listening to the customer and ensuring that the requirements are integrated into the product this relates to agile in the way that it values customer collaboration frequent communication and regular feedback xp features some other innovative practices that are used across many agile teams regardless of the specific methodology being used first there's pair programming which is when two team members work together at the same time on one task usually this is done in the same physical location but with the use of digital collaboration tools this can happen remotely too another practice is continuous integration and continuous refactoring this is the practice of merging product changes into a shared version several times a day in order to get quick feedback on the quality of the code or product then there's avoid big design up front this relates to designing and means the design should be just enough to get started and should be continuously improved as the product evolves and finally there's write tests not requirements this means that instead of writing a product requirements document and then later writing a test plan your test plan can serve two purposes by a telling the team what to build and b comparing what they built to what was supposed to be built okay so we've got scrum kanban and xp let's explore one more for those of you who took the earlier courses in this program you already learned a little bit about this final methodology called lean in the context of lean six sigma lean methodology consists of five principles that serve as a recipe for improving project outcomes they are define value map value stream create flow establish pull and pursue perfection let's break these down define value means identifying and focusing on what the customer wants and including the customer in the process a product's value is the sum of all the things the customer wants map value stream means mapping out the process or stream including all the steps involved in producing value for the customer it also means challenging any steps that can be considered wasteful or unnecessary create flow means ensuring the product flows through the value stream efficiently continuing to eliminate waste throughout the cycle work to remove interruptions delays and barriers to the work stream establish pull think of asking someone to pull something off the shelf you want to make sure the customer is pulling on the product or asking for it throughout the value stream they might pull or ask for features and incremental deliveries the idea is to make your process as smooth as possible so that the customer can pull on the product at any time and you'll be able to present what you've been working on or add a feature request finally there's pursue perfection this means pushing your team to continuously improve the first four process steps so how does this relate to agile well agile emerged after lean and the inventors of agile were inspired to apply lean manufacturing principles to software development like agile lean is a set of principles and a value system many of the differences are really just in the wording in the last video we reviewed a few of the more popular methods for applying agile values and principles to your projects we explored kanban which focuses on visualization and managing flow xp which is concerned with taking product development best practices to an extreme degree and lean which actually pre-dates agile and aims to capture core principles that eliminate waste and deliver value to customers we've also compared agile to waterfall to form a better understanding of what each approach values or tries to accomplish and what kinds of projects they work best with throughout these videos we've explored agile project management in a couple of different ways first we explored agile as a way of thinking about the project delivery process through the values and principles outlined in the agile manifesto second we explored agile through different project delivery frameworks and methods like kanban xp and lean and especially through scrum these two ways of applying agile demonstrate that the real power of agile comes from not only adopting certain processes or strategies but also from adopting a certain kind of mindset one that is necessarily different from the traditional waterfall models this means that you can still get some benefits from thinking in an agile way and seek to apply those agile values and principles from the agile manifesto even when you need to use a waterfall delivery approach so with all this agile stuff bubbling around your heads let's do a quick recap on some of the key tenets of traditional waterfall project management then we'll explore some of the ways you can blend the methods and approaches you've just learned about to best fit the needs of a specific project as we learned in earlier courses a waterfall project life cycle is made up of the following phases initiation planning executing and completing tasks and closing out the project and all of the tasks within each of these phases like identifying goals and scope scheduling budgeting and risk management agile project management includes most of the same phases and tasks they're just done in different ways so even though these two approaches have clear differences blending them might make a lot of sense depending on the type of project or project team you're working with here are some reasons you might want to blend agile and waterfall styles your stakeholders customers or sponsors are more comfortable with traditional approaches and using workflows or delivering traditional work products is easier for them to understand and follow but your project team is already established in scrum and they wish to continue maybe there are regulatory requirements that insist on certain traditional work processes such as large requirement documents for certifications or it could be that one of the vendors involved in a large project is already following a traditional approach and the integration between the teams requires some blending of methods in these cases a project manager might choose to blend aspects of waterfall and agile so that different parts of the project can be worked on in ways that meet project requirements but don't negatively impact other parts of the project or the project as a whole let's explore some more examples of how to blend methods let's say your project is to develop a software product during the retrospective for the last sprint a team member says i need to implement a certain feature but i don't have much experience building that particular feature someone else on the team is an expert on that feature so you decide to pair them up so they can work on building the feature together during the next sprint you've just blended xp and scrum xp provides the basis for working in pairs from pair programming and retrospectives are a key component of scrum here's another incredibly common example most scrum teams i know use a kanban board to track their progress through their sprint one word of warning though watch out for too much change in how you do things teams work best when they can build up some consistency let's come back to office green as project manager of virtual verde what types of methods might you want to use to get the project started where would you blend some traditional methods and agile methods here are some factors to consider the existing plant suppliers are used to dealing with the original plant pel's office delivery team some of them might be interested in experimenting with an agile approach but not all in this case you'll want to include those vendors in discussions early on to gain buy-in and address any concerns office screen also needs to really watch their costs so you'll want to use traditional budget management controls to make sure they don't go over budget on their program well that brings us to the end of this video let's review the key points i want you to take with you first agile is a mindset a way of thinking about the project delivery process through the values and principles outlined in the agile manifesto second agile values and principles can be achieved through certain frameworks and delivery methods like scrum kanban xp and lean and finally agile and waterfall are both effective ways of approaching project management that add specific value there are times when blending these styles will add even more value than sticking with just one so don't be afraid to mix things up as long as different parts of the project can benefit from certain processes without negatively impacting the project as a whole go for it congratulations on finishing this video in the google project management certificate access the full learning experience including job search help and start to earn your official certificate by clicking on the icon to view the next course in this video click here and subscribe to our channel to learn more from google career certificates