[[Course 2. Software Processes and Agile Practices]] of the [[Software Product Management Specialization]] Previous [[Lesson 2 Process Models]] --- https://www.coursera.org/learn/software-processes-and-agile-practices/home/week/3 # Using Agile With Process Models Refresher - Processes are models that you use to organize development into phases.  - Practices are techniques or actions that you can use to help manage and track development.  - Methodologies are defined groups of practices. - Practices and methodologies that are based upon the agile manifesto are called Agile Practices and Agile Methodologies. Some agile methodologies are: - Extreme Programming - Scrum - Kanban --- # Extreme Programming - XP - All about client satisfaction. - Five Aspects of Extreme Programming. - Communication - Simplicity - Feedback - Respect - Respect every one in the team. Same level. Expertise. - Courage - Don't be afraid to try. Pair Programming - Two programmers work together. (What if there is two case managers, work together?) ## 12 Principles of XP http://www.extremeprogramming.org https://en.wikipedia.org/wiki/Extreme_programming#Practices --- 29 Extreme programming rules. Downfall for XP - All or nothing mindset, if you follow XP rules. Not practical or possible to follow all the rules. - Lack of upfront planning. Result in lots of reworking - Personality conflict for pair programming - Difficult to have on site client Got to experiment if XP works for you, eclectic approach like in psychotherapy. --- # Scrum [[Scrum]] - Transparency - Everyone can see what we are working on. - Common terminology - What "done" mean - Inspection - Frequent inspection, progress, deviation - Adaptation - Adjust to prevent deviation - Sprint planning - Daily Scrum - Sprint Review - Sprint Retrospective Who is a Product Owner? - Making decisions about the product, and the product backlog - One point of communication Development Team - Cross-functional; - No sub team in the development team - small, less than 9. Can feed with two large pizza. - All term developers. No titles. Scrum Master - Keep team adhere to scrum rules. - Finding techniques to manage the backlog - Helping the scrum team to understand the need for a clear and concise backlog - Ensuring the product owner knows how to prioritize the backlog to get maximum value - Facilitating scrum events. - Coaching the team to self-organise - Removing development roadblocks - Facilitating scrum events - Sprint planning - Daily Scrum - Sprint Review - Sprint Retrospective ![[Screenshot 2022-07-05 at 9.23.18 PM.png]] How to define "done"? - Coded, tested, documentation # Module 3: Supplemental Resources ## Listed below are selected resources related to the topics presented in this module. ### Using Agile with Process Models _This is the official resource for the Agile Manifesto. It simply outlines the values, principles, and history of the Agile Manifesto._ "Agile Manifesto." 2003. 21 Jun. 2016 <[http://www.agilemanifesto.org/](http://www.agilemanifesto.org/)> _A book that highlights that the major issue with software development is people. The book provides solutions to dealing with the people in software projects. An interesting read._ "Peopleware: Productive Projects and Teams (Second Edition): Tom ..." 2016. 21 Jun. 2016 <[https://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439](https://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439)> _This post provides a good explanation of traditional models and Agile methods. It also talks about some challenges you may face when transitioning from a traditional model to Agile. It provides a good overview for the topics explored in this course._ "Traditional and Agile Methods: An Interpretation - Scrum Alliance." 2013. 21 Jun. 2016 <[https://www.scrumalliance.org/community/articles/2013/january/traditional-and-agile-methods-an-interpretation](https://www.scrumalliance.org/community/articles/2013/january/traditional-and-agile-methods-an-interpretation)> _A really great resource that gives a brief overview of some of the Agile methodologies. Many of these we cover in the course, but some we do not (For example, Crystal). It describes Agile as an “umbrella” in which all these methodologies fall under--this is the same approach that we take in this course and specialization. Works well as an introduction or study guide!_ "Agile Methodologies for Software Development - VersionOne." 2015. 21 Jun. 2016 <[https://www.versionone.com/agile-101/agile-methodologies/](https://www.versionone.com/agile-101/agile-methodologies/)> _This shows the results from a survey, conducted by VersionOne, that shows you the popularity of Agile, and other methodologies like Scrum, Kanban, Extreme Programming, and Lean in the software industry._ "8th Annual State of Agile Survey - VersionOne." 2015. 21 Jun. 2016 <[https://www.versionone.com/pdf/2013-state-of-agile-survey.pdf](https://www.versionone.com/pdf/2013-state-of-agile-survey.pdf)> ### Extreme Programming _Test Driven Development, also known as TDD, is a foundation of Extreme Programming. If you wanted to read more about TDD, this book is an excellent guide to implementing TDD with your team. If you wanted just a quick explanation, this is not the resource for you._ "Test Driven Development: By Example: Kent Beck: 9780321146533 ..." 2014. 21 Jun. 2016 <[https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)> _If you are interested in implementing XP in your team, this would be a great resource for you. This book describes what Extreme Programming is, as well as why it works and why the practices are the way that they are._ "Extreme Programming Explained: Embrace Change, 2nd Edition (The ..." 2016. 21 Jun. 2016 <[https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658](https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658)> _A simple explanation of Extreme Programming and it’s practices. Provides a good overview or study guide for XP._ "Extreme Programming (XP) FAQ - Jera Design." 2002. 21 Jun. 2016 <[http://www.jera.com/techinfo/xpfaq.html](http://www.jera.com/techinfo/xpfaq.html)> _Another simple XP guide. Explains the practices and has a few diagrams. It also gives you a bit of history about how and when traditional models transitioned into Extreme Programming and other Agile methodologies, if that is something that interests you._ "Extreme Programming." 2006. 21 Jun. 2016 <[http://www.umsl.edu/~sauter/analysis/f06Papers/Hutagalung/](http://www.umsl.edu/~sauter/analysis/f06Papers/Hutagalung/)> _This is my favorite Extreme Programming resource. It doesn’t just give you the practices, it explains what they are, and how to implement them in more detail. This is especially useful if you don’t understand one of the practices (i.e. System Metaphor). Note that this resource does not have the “12 rules of XP”, instead they have many more that still fall within the XP methodology._ "Extreme Programming: A Gentle Introduction." 21 Jun. 2016 <[http://www.extremeprogramming.org/](http://www.extremeprogramming.org/)> ### Scrum _A really great video to watch if you are new to Scrum. It pretty much describes the basics of Scrum in a quick 10 minute video._ "NEW Intro to Agile Scrum in Under 10 Minutes - What is ... - YouTube." 2012. 21 Jun. 2016 <[https://www.youtube.com/watch?v=XU0llRltyFM](https://www.youtube.com/watch?v=XU0llRltyFM)> _You can read or download (in PDF) the Scum Guide. This gives you a description of just about everything related to Scrum. This is a really great resource to print out and keep with you if you are implementing Scrum in your team._ "Scrum Guides: Home." 2013. 21 Jun. 2016 <[http://www.scrumguides.org/](http://www.scrumguides.org/)> ---