Agile Project Management: Adapting project behaviors to the software development environment with Bill Doescher, PMP, CSM PrincipalConsultant and Product Development Director Business Management Consultants Session Objectives Identify the unique challenges of managing software development projects Learn how the fundamental principles of agile project management address these challenges Understand how the roles and behaviors of key project participants ii are affected by a transition to agile practices 1
Introduction Challenges of software development 32% finished on time, on budget, with required dfeatures/functions ti (Standish Report 2009) 24% cancelled, or released and never used Software Features: 20% Often/Always Used; 64% Rarely/Never Used (Standish Group 2002) Why are SW development projects so hard to predict? Project Uncertainty Uncertainty/ Change in Technology IT/IS Projects Uncertainty/Change in Requirements 2
Certain vs. Uncertain Target Requirements Design Implement Test Release The triple constraints of a project Scope (results) Budget Value (cost) Schedule Quality (time) Budget (cost) Schedule (time) Scope Constraints (results) Jim Highsmith (CutterBlog) 3
Manifesto for Agile Software Development Kent Beck (XP) Mike Beedle (Scrum) Arie van Bennekum Alistair Cockburn (Crystal) Ward Cunningham (XP) Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries (XP) Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber (Scrum) Jeff Sutherland (Scrum) Dave Thomas February 2001 We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration Responding to change over contract negotiation over following a plan That is, while there is value in the items on the right, we value the items on the left more. 4
The Agile Manifesto: Agile Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. The Agile Manifesto: Agile Principles Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face to face conversation. 5
The Agile Manifesto: Agile Principles Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. The Agile Manifesto: Agile Principles Simplicity the art of maximizing the amount of work not done is essential. The best architectures, requirements, and designs emerge from self organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior bh accordingly. 6
Overview of Agile Principles (using SCRUM) Product Backlog Backlog Backlog Backlog Backlog Release Discovery Release Planning Planning Planning Planning Planning Daily Scrum Demo and Retrospective Demo and Retrospective Demo and Retrospective Demo and Retrospective Product Testing Scrum Roles Product Owner represents the business, identifies the value, responsible for the prioritized product backlog Scrum Master responsible for assuring the scrum process is followed and for clearing impediments Development Team self organizing, responsible for delivering the value 7
Agile terms: User stories User stories represent a thin, vertical slice of system functionality (through the presentation, business and data layers) As a <user type>, I can <user action> so that <business result>. Example: As a sales manager, I can group clients by purchased products so that I can send them information on product accessories. User stories are contracts for conversation. Group Activity: Create a bedtime tale Characters (2): As a character, I need a name so that readers can identify me. As a character, I need an age so that readers can relate to me. Setting/Location/Place: As a setting, I need a name so that readers can identify me. As a setting, I need a description so that readers can envision me. As a setting, I need a timeframe so that technology is believable. Adventure: As a character, I need an adventure so that I can capture readers interest. As an adventure, I need a challenge so that the characters can achieve. 8
Agile terms: Estimation and Velocity Estimation Story Points relative sizing Fibonacci ( 1, 2, 3, 5, 8, ) Doubles (1/2, 1, 2, 4, 8, ) Clothes Sizes (S, M, L, XL, ) Ideal Developer Days direct link to time 4 5 hrs/day Planning Poker Agile terms: Estimation and Velocity Velocity Number of points attempted in a sprint Actual number achieved is monitored over time Establishes a velocity at which the team can operate effectively Velocity Over Last 10 s Velocity Number 9
Agile terms: Release Burndown Story Points Iteration Typically the team will use a similar task burndown chart for tracking progress within a sprint. Agile terms: Task Board Used to track sprint tasks to done Kenji Hiranabe, Visualizing Agile Projects using Kanban Boards, InfoQ.com 10
Agile terms: Daily Standup (Daily Scrum) What I accomplished yesterday. What I will accomplish today. What are my impediments. The daily standup should be brief (10 15 minutes) It s not a problem solving session Pigs talk, chickens listen Agile terms: Retrospective Goal is continuous improvement One hour maximum What worked well, what did not Generate action items for improvement 11
Roles and behavior changes in transition to agile What changes do you see required in the roles in your organizations? What behaviors will need to change? Roles and behavior changes in transition to agile Business personnel need to be more involved, and take ownership for the software application Executives need to accept and support a methodology with less deterministic planning Software developers must take responsibility for providing business value, not just coding Software testers must work very closely with developers (test driven development) 12
Want to Learn More About Agile? PMI s Agile Certified Practitioner SM (PMI ACP) Project Management Institute (Apr 2012) Members 383 000 Project tmanagement tprofessionals (PMP ) 477 000 Certified Associates in Project Management (CAPM ) 17000 Risk Management Professionals (PMI RMP ) 1300 Program Management Professionals (PgMP ) 770 Agile Certified Practitioners (PMI ACP SM ) 750 Scheduling Management Professionals (PMI SP ) 630 13
PMI ACP SM Eligibility Requirements A secondary diploma (high school diploma or global equivalent) A minimum of 2000 hours general project experience* within the past 5 years AND An additional 1500 hours agile project experience within the past 3 years * PMP or PgMP accepted 21 contact hours of training in agile practices PMI ACP SM Examination Content Tools and Techniques (50%) Knowledge and Skills (50%) Domains Value Driven Delivery Stakeholder Engagement Boosting Team Performance Practices Adaptive Planning Problem Detection and Resolution Continuous Improvement (Product, Process, People) www.pmi.org 14
Questions? Comments? If you think of something later, contact me at: doescher@bmc online.com Bill Doescher, PMP, CSM Bill Doescher is a Principal Consultant and Product Development Director with Business Management Consultants based in Houston, Texas. In his 20 year career, he has led project teams in new product development, application development, technology introduction, project and portfolio management processes, business process change, and marketing program development. Mr. Doescher has a strong belief that projects are the instruments of change, and people are the power behind projects. For continued growth and evolution, businesses must be dedicated to improving their ability to translate strategy into projects, to enhancing the environment in which their projects operate, and to maturing the knowledge and skills of their project team members. Mr. Doescher has held engineering, engineering management, project and program management positions in the geophysical and high tech industries with Geosource, Compaq Computer and Hewlett Packard. Mr. Doescher earned a B.S. in Electrical Engineering with Honors at the University of Texas at Austin and an M.B.A. at the University of Houston. He is a member of the Project Management Institute, a PMI certified Project Management Professional (PMP ) and Certified Scrum Master (CSM). He is also a member of the Engineering Management Society of the Institute of Electrical and Electronics Engineers (IEEE). 15