Erik Philippus IMPROVEMENT BV erik@agile-architecting.com 1 IMPROVEMENT BV Nice to meet you Erik Philippus (191) IMPROVEMENT BV 3 years of experience in industrial automation Foxboro, ESA, Philips Medical, Assembléon, ASML, Vitatron, ASMI, Agilent, JVH, Imtech, NXP, training & workshops project coaching agile architecting www.improvement-services.nl www.agile-architecting.com agile scrum & lean development Agile Scrum Training Module 1 Basics The Essence of the Agile Way of Working Agile Scrum Essentials Module Elaboration Lean Development Agile Project Planning Agile Contracting 3 1
Agenda 1 The Essence of Agile Predictability & Adaptability, Agile vs Waterfall, Agile Manifesto, Agile Principles, Family of Agile Methods, Agile Attributes Agile Scrum Essentials Scrum Basics, Scrum Roles, Sprint Cycle Scrum Meetings, Product Backlog, Story Points, Daily Standup Meetings, Task Board, Tracking, Multi-project Scrum, Scrum of Scrums 4 Agenda 1 The Essence of Agile Predictability & Adaptability, Agile vs Waterfall, Agile Manifesto, Agile Principles, Family of Agile Methods, Agile Attributes Agile Scrum Essentials Scrum Basics, Scrum Roles, Sprint Cycle Scrum Meetings, Product Backlog, Story Points, Daily Standup Meetings, Task Board, Tracking, Multi-project Scrum, Scrum of Scrums The Era of Predictability 6
The Horizon of Predictability 7 The Ghost of Uncertainty 8 Seeking Predictability Consequences: precise, inaccurate information low precision, accurate information Stress Low Quality High Cost Uncertainty is part of every innovative and creative development process. 9 3
The Waterfall Approach Requirements Design Development Testing & Validation Deployment & Maintenance waterfall approach lacks (customer) feedback loops - 10 Assumptions Traditional Customer knows what he wants Engineers knows how to build it Nothing changes along the way Agile Customer discovers what he wants Engineer discovers how to build it Things change along the way For most projects, it is impossible to know upfront the exact scope and delivery date Average cost & time overrun: 70% 11 Response to Unpredictability Predictive Incremental Adaptive Decide early Deliver slow response to unpredictability Decide late Deliver fast Waterfall Spiral Model RUP Agile value value value Plan-driven Minimizing risk Change-driven change tolerance 1 4
Agile? 13 Agile Manifesto 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 The Agile Alliance Utah, Februari 001 14 Agile Architecting Agile Principles part 1 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 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. 1
Agile Architecting Agile Principles part 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. 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 accordingly. 16 Agile Architecting People Oriented Agile methods are people-oriented rather then process-oriented Declaration of interdependence Unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference. Alister Cockburn 17 The Agile Family Extreme Programming (XP) Crystal Dynamic Systems Development Method (DSDM) Test Driven Development (TDD) Feature Driven Development (FDD) Essential Unified Process Scrum Kanban 18 6
Time-Boxed Activities Task are broken down into small increments (-4 weeks), in which the team works through a full development lifecycle Minimizes the overall project risk Planning is easier with frequent releases Allows project to adapt to changes quickly 19 Empowered Teams Analyst Coder Tester Designer One of the aims of traditional methodologies is to develop a process where the people involved are replaceable parts (resources) QA Agile Teams are Small (7 ± ), Cross-functional & Self-Organizing 0 Collaboration The Agile working culture 1 7
Focus on Customer & End-User We tend to build the wrong things Often 13% Always 7% Sometimes 16% Rarely 19% Never 4% Source: Standish Group Study Report Customer in the Loop Agile teams contain (or have direct access to) a customer representative in order to optimized ROI 3 Communication Temperature face-to-face Communication Effectiviness people communicating through: whiteboard telephone email paper Richness of Communication Increasing communication temperature is an important goal of the Agile approach 4 8
Agile Software Development Agile is an iterative and adaptive approach to software development, performed in a highly collaborative manner by self-organizing teams, with just enough ceremony that produces high quality software in a cost effective and timely manner, which meets the changing needs of its stakeholders. Agenda 1 The Essence of Agile Predictability & Adaptability, Agile vs Waterfall, Agile Manifesto, Agile Principles, Family of Agile Methods, Agile Attributes Agile Scrum Essentials Scrum Basics, Scrum Roles, Sprint Cycle Scrum Meetings, Product Backlog, Story Points, Daily Standup Meetings, Task Board, Tracking, Multi-project Scrum, Scrum of Scrums 6 Agile Scrum Essentials 7 9
What is Scrum? Scrum is an Agile Project Management Technique iterative and incremental produces working software in short iterations adaptive rather than predictive people-oriented rather than process-oriented has a long history of succes on a wide variety of projects, including game development will surface (organizational) issues quickly is not a silver bullet 8 Scrum Basics Scrum facilitates an incremental, feature-driven & time-boxed product realisation process 9 Scrum in a Nutshell 30 10
Team Commitment What the team commits to, and what the product owner agrees to during sprint planning should be delivered! 31 Reciprocal Commitment The team commits to delivering the agreed-upon part of functionality Management trusts the team and commits to leave priorities alone during the sprint 3 Scrum Roles 'Pig' roles: Product Owner Team Scrum Master 'Chicken' roles: Users Customers & Vendors Managers 33 11
Role of the Product Owner The Product Owner: Understands the customer's needs and carries the product vision to the team Owner of the Product Backlog Defines the features of the product, decides on release date and content Priorizes features according to market value Can change features and priorities every sprint Accepts or rejects work results 34 Role of the Team The Team: Understands the details of the Product Backlog Decides how much productive time it has available during the sprint Decides how many Product Backlog items it can commit to complete during the sprint Delivers potentially shippable product at the end of every sprint Organizes itself and its work Demos work results to the Product Owner 3 Role of the Scrum Master The Scrum Master: Is the mentor and facilitator of the team and the moderator for Scrum meetings Takes care that the Agile/Scrum principles are understood and respected Shields the team from external interferences Enables close co-operation between all roles and functions Removes obstacles that impede team members Keeps track of the team progress 36 1
User Stories What is a User Story? Feature description from anyone on the team or any customer Have "Conditions of Satisfaction" which can be tested in review Have no/minimal dependency on other stories General Format: As a [user role] I want to [goal], so I can [reason] As a Product Owner, I want to understand Agile planning and estimation, so that I can produce an effective Product Backlog 37 Story Points A Story Point is a relative measure of feature difficulty/complexity Story Points are a more accurate measure of project velocity and release schedule than using hours and days. 38 Planning Poker 0 1 3 8 13 0 40 100 1 All the team members have a set of cards Scrum Master reads description of the backlog Item 3 Everyone selects and simultaneously shows cards 4 If estimates vary significantly, high and low estimators briefly explain why they have estimated so Repeat steps 3-4 until estimates stop converging 6 Decide estimate for backlog item 7 Move to next backlog item 39 13
Sample Product Backlog Project Backlog: Landscape Exam Tool ID 13 11 16 User Story As a GIS administrator I want to restrict editing of the State Forest Layer to only users in the Editor's role so that this layer isn't accidently edited As an Editor I want features in the State Forest Layer to be automatically clipped by the Forest District Features so that correct topology relationships are maintained As a GIS administrator I want the system to block standard deletions from the State Forest Layer, so that Users am forced to formally dispose of the feature As an Editor I want features in the State Forest to be automatically checked so that no features overlap within the same layer Story Points 8 4 40 Sample Product Backlog ID 1.1 1. 1.3 1.4 1. User Stories Members should be able to sign in to the website so that they can make use of the My Account Area. note: login via username/password. Lock account after unsuccessfull attempts. Notify user before th attempt and send email to the concerned email address. Members should be able to reset their password if they forget it, so that our involvement to reset is low. note: send a link to reset password to the concerned email address after asking for username/email address. Have link for forget password on all sign in boxes. Members should be able to change their password so that their account is secure Note: user must validate old password and confirm new password twice Members should be able to change their email address Note: again must validate password Members should see a link for Help on Sign In/ Forget Password pages Story Points 3 1 1 41 Sample Product Backlog ID 1.1 1. 1.3 1.4 1. User Stories Members should be able to sign in to the website so that they can make use of the My Account Area. note: login via username/password. Lock account after unsuccessfull attempts. Notify user before th attempt and send email to the concerned email address. product features described within the context Members should be able to reset of their customer/end-user password if they forget it, so that our involvement to reset is low. note: send a link to reset password to the concerned email address after asking for username/email address. Have link for forget password on all sign in boxes. have conditions of Members should be able to change satisfaction their password which can so that their account is secure be tested at review/delivery Note: user must validate old password and confirm new password twice Members should be able to change their email address Note: again must validate password have no or minimal dependency on other user stories Members should see a link for Help on Sign In/ Forget Password pages Story Points 3 1 1 4 14
The Product Backlog Iceberg Sprint Release Priority Future Releases 43 The Product Backlog Iceberg Detail is added as an item moves up the iceberg As an Editor I want features in the State Forest Layer to be automatically split or clipped by the Forest District Features so that correct topology relationships are maintained. As an Editor I want to be able to configure the minimum size limit for split vs clip. The tool must adhere to the new configuration without restarting. And then later, by adding 'Conditions of Satisfaction' 44 Product Backlog work items on a prioritized stack Features Defects Issues Customer Requests high-priority items should be well-defined high priority Each iteration implements the highest priority work items New work items are prioritized and added to the stack Market Demands Legislation Others low-priority items can be vague low priority Work items may be reprioritized at any time Work items may be removed at any time 4 1
Estimation of Productive Time task of 8 hours doesn't mean completion in 1 day incorporate time for: meetings, phone-calls, e-mails, bug-fixing, other responsibilities, etc. No contingency planning! The team should establish a working pace which can be sustained with normal working hours 46 The Sprint Cycle a regular pattern of delivery of business-valued increments Product Backlog feedback rhythm Daily Scrums Sprint Review Retrospective Goal: xyz Sprint 1 Backlog Week 1 Week Week 3 Sprint Planning Sprint fixed time interval Deliverable Sprint Planning meeting 47 Scrum Meetings (1) Product Backlog Estimation Product Owner informs the team about the product vision Product Owner presents he items on the product backlog that needs to be estimated Teammembers estimate effort needed for realization of items Sprint Preparation Meeting Product Owner & Team define the sprint goal Duration of sprint is decided Team member are allocated Scrum master makes inventory of total hours available for sprint Appointments & reservations for all meetings 48 16
Scrum Meetings () Sprint Planning Meeting Product owner describes priorities Team breaks product backlog items (features) into tasks Team commits to agreed-upon amount of work Daily Scrum Three questions: What did you do yesterday? What will you do today? What's in your way? Commitment between peers, not a management status meeting! 49 Scrum Meetings (3) Sprint Review Meeting Team demonstrates what is accomplished hours preparation time No powerpoint Anyone can attend Sprint Retrospective Focus on continuus improvement Look back at last sprint, and ask what we would like to: Start Doing Stop Doing Continue Doing 0 Sprint Burndown Chart hours work remaining 100 80 60 40 0 pessimistic estimation? optimistic estimation? 0 day 1 day day 3 day 4 day day 6 day 7 day 8 day 9 day 10 day 11 day 1 Determination of Team Velocity 1 17
Sprint Burndown Chart example Project Burndown Chart 3 Daily Stand-Up Meeting task board 'information radiator' stand-up & well-structured meeting no more 'submarine behavior' Each team member answers the following 3 questions: What did you do yesterday? What will you do today? What is in your way? timeboxed: 1 minutes! 4 18
Scrum Task Board Scrum Task Board 6 Strategic Planning ROADMAP Product Backlog product A Product Backlog product B Product Backlog product C Priority 7 19
ID 1.1 1. 1.3 1.4 1. 1.6 ID.1..3.4..6 ID 3.1 3. 3.3 3.4 3. 3.6 User Stories As a Team, we want to have a basic version of the functional game specification, sufficient to develop the mock-up As a GSE, I want to have a technical game specification, comprising directions for the development of the software for a minimal version of the game As a PDM, I want to have a preliminary version of the different variants of artwork in order to make a choice in consultation with other stakeholders As a PDM, I want an impression of game behaviour, sufficient to assess the potential of the game As a PDM, I want a proof of concept with respect to new features as described in the preliminary game specification As a PDM, I want a minimal exection environment for a mock-up for demonstration and verification purposes User Stories As a Team, we want to have a basic version of the functional game specification, sufficient to develop the mock-up As a GSE, I want to have a technical game specification, comprising directions for the development of the software for a minimal version of the game As a PDM, I want to have a preliminary version of the different variants of artwork in order to make a choice in consultation with other stakeholders As a PDM, I want an impression of game behaviour, sufficient to assess the potential of the game As a PDM, I want a proof of concept with respect to new features as described in the preliminary game specification As a PDM, I want a minimal exection environment for a mock-up for demonstration and verification purposes User Stories As a Team, we want to have a basic version of the functional game specification, sufficient to develop the mock-up As a GSE, I want to have a technical game specification, comprising directions for the development of the software for a minimal version of the game As a PDM, I want to have a preliminary version of the different variants of artwork in order to make a choice in consultation with other stakeholders As a PDM, I want an impression of game behaviour, sufficient to assess the potential of the game As a PDM, I want a proof of concept with respect to new features as described in the preliminary game specification As a PDM, I want a minimal exection environment for a mock-up for demonstration and verification purposes Estimation (ideal days) 3 4 Estimation (ideal days) 3 4 Estimation (ideal days) 3 4 Multiple Product Team Product Backlog product A Combined Product Backlog Sprint Backlog Product Backlog product B Product Backlog product C user stories (fits into 1 sprint) tasks 8 Combined Product Backlog product/feature A ID User Stories SPRINT GOAL Estimation 1.1 As a Team, we want to have a basic version of the functional game specification, sufficient to develop the mock-up product/feature B 1. As a GSE, I want to have a technical game specification, comprising directions for the development of the software for a minimal version of the game 3.3 As a PDM, I want to have a preliminary version of the different variants of artwork in order to make a choice in consultation with other stakeholders 4.4 As a PDM, I want to obtain an impression of game behaviour, sufficient to assess the potential of the game product/feature C 3. 3.6 As a PDM, I want a proof of concept with respect to new features as described in the preliminary game specification As a PDM, I want a minimal exection environment for running a mock-up for demonstration and verification purposes 4 9 Scrum of Scrums scaling Agile System Backlog scrum master 'meta' scrum team system/platform architect product portfolio manager integration & test engineer delegate team A delegate team B delegate team C Backlog Backlog Backlog scrum team A scrum team B scrum team C 60 0
Questions 61 1