Agile Project Management with Bill Doescher, PMP, MBA, CSM Pi Principal i lconsultant tand Product tdevelopment tdirector 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). 1
Workshop Objectives Identify the challenges of managing software projects with traditional methods Learn how the values and principles of agile project management address these challenges Introduce different agile methodologies Practice agile concepts using the Scrum methodology 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) What factors make SW development projects so difficult to manage? 2
Certain vs. Uncertain Target Requirements Design Waterfall Implement Test Release Project Uncertainty IT/IS Projects Complexity Uncertainty / Rate of Change 3
Complex Adaptive System Simple, localized rules Constant feedback Self organization Emergent order Adaptive Co evolve with the environment Sanjiv Augustine, Managing Agile Projects Continuum of Project Life Cycle Approaches Predictive (plan driven) Iterative & Incremental Adaptive or Agile (change driven) Well defined scope Standard practices Product delivered at end Change expected Iterative cycles Functionality in increments Learning from each iteration High change expected Incremental delivery has value High engagement with customer and sponsor Short fixed duration iterations PMBOK Guide, Fifth Edition 4
The triple constraints of a project Scope (results) Budget Value (cost) Schedule Quality (time) Budget (cost) Schedule (time) Scope Constraints (results) Jim Highsmith (CutterBlog) 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: 5
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. 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. 6
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. 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 Continuous attention to technical excellence and good design enhances agility. 7
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. The Declaration of Interdependence Agile and adaptive approaches for linking people, projects and value We are a community of project leaders that are highly successful at delivering results. To achieve these results: We increase return on investment by making continuous flow of value our focus. We deliver reliable results by engaging customers in frequent interactions and shared ownership. We expect uncertainty and manage for it through iterations, anticipation, and adaptation. We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference. We boost performance through group accountability for results and shared responsibility for team effectiveness. We improve effectiveness and reliability through situationally specific strategies, processes and practices. www.pmdoi.org 8
Where is Agile Project Management Used? SW Development (and example users) Adobe Amazon American Express Bank of America BBC British Airways CNN Facebook GE Healthcare IBM Microsoft Nokia Novell NYSE Rockwell Collins Salesforce.com SAP Siemens Healthcare Unisys Yahoo Expanding to other industries (and examples) Financial teams, procurement teams, telecom, law, sales, radio/television Basic Agile Concepts Incremental development Small, collaborative teams Time boxed iterations Early delivery of value Important features first Customer driven development Rapid feedback 9
The Agile Project Life Cycle Source: The Software Project Manager s Bridge to Agility Sliger and Broderick Agile Methodologies Feature Driven Development (FDD) Extreme Programming (XP) Adaptive Software Development (ASD) LEAN Software Development Dynamic Systems Development Model (DSDM) Crystal Scrum 10
Scrum Methodology Overview Team Roles and Responsibilities Scrum Process The New New Product Development Game, Harvard Business Review, January 1986, Hirotaka Takeuchi and Ikujiro Nonaka Scrum Methodology Scrum is based on the three pillars of empirical process control Transparency of the entire process Inspection of how the process is working Adaptation to continually improve the process 11
Overview of Agile Principles (using SCRUM) Product Backlog Sprint Sprint Sprint Sprint Backlog Backlog Backlog Backlog Release Discovery Release Planning Sprint Planning Sprint Sprint Planning Sprint Sprint Planning Sprint Sprint Planning Sprint Daily Scrum Review and Retrospective Review and Retrospective Review and Retrospective Review and Retrospective Product Testing Scrum Roles Product Owner represents the business, identifies the value, accountable for the prioritized product backlog and release plan, makes changes between sprints Scrum Master responsible for assuring the scrum process is followed, clearing impediments, improving productivity Development Team self organizing, delivers increments of value and high quality, offers options for delivery, manages work within sprint 12
Scrum Vocabulary Release actual release to production Sprint (iteration) fixed period oftime time, 30days Release Planning / Sprint Planning the Agile planning meetings Daily Scrum brief 15 min. daily status meeting Product Backlog prioritized list of product requirements Sprint Backlog list of tasks for the sprint (goal) Retrospective lessons learned meeting Simple Rules: Sprint Planning Meeting Selection from the Product Backlog (4 hrs) Product Owner controls the backlog Team determine how much it believes it can commit getting to done Creation of the Sprint Backlog (4 hrs) Team determines how it will turn the selected product backlog into increment of potentially shippable product functionality Breaks the Product Backlog functionality into Sprint Backlog tasks 13
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. 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 14
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 Sprints Velocity Sprint Number Agile terms: Release Burndown Story Points Iteration Typically the team will use a similar task burndown chart for tracking progress within a sprint. 15
Agile terms: Task Board Used to track sprint tasks to done Kenji Hiranabe, Visualizing Agile Projects using Kanban Boards, InfoQ.com Simple Rules: 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 16
Simple Rules: Sprint Review Time boxed to 4 hours Should take no more than 1 hour preparation Team presents to the Product Owner and stakeholder the functionality that is done Allows for stakeholders to see progress, and team to receive feedback, and both to learn Simple Rules: Sprint Retrospective Goal is continuous improvement One hour maximum What worked well, what can be improved Generate action items for improvement 17
The People Side of Agile Culture Change From delivering products, to delivering value Requires change at all levels Agile doesn t fix problems, it makes them visible Agile is a 3 5 year transition 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? 18
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) Questions? Comments? If you think of something later, contact me at: doescher@bmc online.com 19