1. Why Agile? – waterfall vs Agile2. Agile Manifesto3. Scrum – an overview4. Key Roles in scrum5. Story planning6. Retrospective7. Role of the ScrumMaster8. Role of the Product Owner9. Role of Scrum Teams10. Agile Project Management11. Agile Infrastructure12. Scrum of scrums13. Release Planning14. Scaling
Are we doing Half way? the right 0% of software thing? delivered End-to-End small slices of work 20 % done = 100 % usable• Business value is delivered early (can • Business value is only delivered capture ROI against Business Case towards the end of the project (hard early) to capture ROI against Business• Focus on the important features first Case)• Early feedback that we are doing the • False belief the we know more about right thing the project than we possibly can• Customers are happy when they see • Planning is by task rather than progress feature• Early feedback of capability to deliver • False feature rich• Reduced cycle time is a major competitive advantage
Individuals and Interactions – over processes & toolsWorking Software – over comprehensive documentationCollaboration & Transparency – over contract negotiationResponding to change – over following a plan Customer transparency/business buy-in (crucial) People focus Open & Honest Remaining ‘Agile’ Scrum, XP, TDD, KANBAN etc…
Agile IS based on iterative outcomes, where requirements and solutions evolve through collaboration between self-organising 24 hours cross-functional teams. Agile is NOT • The ‘silver bullet’ • Uncontrollable by Project Management Iteration 2-4 weeks • A free reign to deliver anything Iteration goal • Is not a methodology Return Initial Investment Product • Require team coaching – plan, allocate, commit (at sprint level) backlog Potentially shippable • Technology delivery focus product increment • Business involvement and buy inCommon misuse of Agile The Agile PromiseAll care no responsibility. Agile provides early indicators on likelihood of delivery to promise.A free run on time and budget Accountability to tasks specific to sprints. (we deliver what we promise) Known delivery NOT assumedAn excuse for no documentation Eliminate wasted documentation and collaborate through knowledge managementDevelopment led project Business/customer led project (Product Owner)Little visibility/control Complete transparency/improved control
The Agile promise Delivery commitment on a known–known NOT and known- unknown A framework NOT the lawAgile practices• Forming, Storming, Norming & Performing• Regular showcases – inspection and evolution• Emerging requirements, team capability and technology• Self organizing team & adaptive• Regular process improvement (Retrospectives, Scrum-of-Scrums, Design Reviews, etc…)• Risk management• Collaboration & transparency
• Product Owner: – The Product Owner is responsible for gathering the product backlog for the entire program of work at an epic level to capture the high level features (functions) required by the business, breaking up the epics into user stories (manageable chunks in business speak), elaborating on features and prioritising the backlog of work. The product owner role is a key role in providing the overall business context and functional scope of each release of work to the sprint teams and understanding the complete scope of work and alignment to business drivers. (align benefits)• Scrum Master/Technical Project Lead: – The Scrum Master is responsible for making sure a Scrum team lives by the values and practices of Scrum and is the key individual for competency leads, project manager and product owner to communicate with a team. The Scrum Master keeps the team working at the highest level of productivity primarily by making and facilitating decisions and removing impediments. – The Scrum Master facilitates the daily scrum and becomes responsible for removing any obstacles that are brought up by the team during those meetings. – The role must plan the delivery of the iterations and release in conjunction with the product owner, confer with the scrum team and take accountability for the technical delivery of the application. This includes identification of key milestones, dependencies and progress reporting/tracking. This role is accountable to the project manager – LEAD & FACILITATE
• Scrum Team Member: (Delivery Team) – The Sprint Team builds the deliverable that the customer is going to consume (examples should include: processes, documentation, software functionality). The aims to be "cross- functional" and includes members from all competencies conducting various roles where possible.• Subject Matter Expert: – Provide real business experience to the project team and ensures that any proposed solution can meet business requirements, while still considering the limitations in product functionality and understanding where business processes need to be re-engineered.A new role ??• Project Delivery Partner: – The project delivery partner is responsible for overall delivery of the project . The project delivery partner is responsible for engaging and reporting to the project board. The project delivery partner is responsible for working with the scrum masters to determine resource allocations for the pipeline of work. – The project delivery partner is responsible for the financial control relating to the project. – The project delivery partner is responsible for expectation management with the business sponsor. – The project delivery partner is responsible for ensuring adequate change management practices are in place for the project. – Can be potentially shared across the SM
Product Owner: The Product Owner is responsible for gathering the product backlog for the entire program of work at an epic level to capture the high level features required by the business, breaking up the epics into user stories, elaborating on features and prioritising the backlog of work. The product owner role is a key role in providing the overall business context and functional scope of each release of work to the sprint teams and understanding the complete scope of work and alignment to business drivers. ?
Scrum master:• Supporting the team and removing key barriers at an iteration level• Ensure administration of the iteration velocity tracking & reporting• Managing and improving development team software delivery and maturity practices – i.e. test automation, continuous integration• Improving the engineering practices so each increment of functionality is potentially shippable.• Manage the product backlog• Apply commonsense ?
! " } Prioritisation Business Lock in Scope ROM Days (BA, Dev, Test)/ High-level view of R2.2 Features /Stories Prelim release plan WoL priorities (relative WeightingR2.2 Features/Stories (planning poker)) High-level delivery costs & timeframes Agreement Business Detailed task planning Hours & Iteration plan (BA, Dev, Test) R2.2 Features/Stories R2.2 Features/Stories ?
User Stories As a <user> I want <business functionality> So that <business value> Acceptance Criteria Entry Criteria <pre-requisites> Exit Criteria <post-conditions> Then <result>Must be simple enough to be completed in a iteration. If story is large and complex break it down into manageable pieces.
Agile Estimation (Poker Planning) Estimation done by ‘scrum team’ Complexity measure to estimate (Fibonacci Sequence) Story weighting (complexity calibration) Simple story complexity vs complex story Continue estimating until all team members agree (3 Times) If consensus can’t be met discuss the separation in estimates Note: Break the story down into as simple a form as possible so task planning can be easily achieved.
Product Backlog Prioritisation Finalise PBI (Product Backlog Items) PO to agree with Business on priority of deliverable stories This is prioritised across the entire product backlog (or as much as possible across the PBI) Agree with the business the first iteration of stories to be delivered Agree with the scrum team Deliver sprint!
Daily stand up Facilitated by the scrum master 15 minutes Chicken & PigsEach team member stands in front of the scrum board and details the tasks they completed yesterday, planned to do today and any impedimentsEach team member to ensure scrum board is upto date and tasksmove across the board as they are completedTeam members must be prompt and ontime to the daily stand-up
Task: Configure database Task: Configure database Task: Configure database Task: Configure database and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay Time Remaining: Time Remaining: Time Remaining: Time Remaining: 4 hrs 4 hrs 4 hrs 4 hrsStory #1 Task: Configure database and SpaceIDs for Trac Owner: Sanjay Task: Configure database and SpaceIDs for Trac Owner: Sanjay Time Remaining: Time Remaining: 4 hrs 4 hrs Task: Configure database Task: Configure database Task: Configure database and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac Owner: Sanjay Owner: Sanjay Owner: Sanjay Time Remaining: Time Remaining: Time Remaining: 4 hrs 4 hrs 4 hrsStory #2 Task: Configure database and SpaceIDs for Trac Owner: Sanjay Time Remaining: Task: Configure database and SpaceIDs for Trac Owner: Sanjay Time Remaining: Task: Configure database and SpaceIDs for Trac Owner: Sanjay Time Remaining: 4 hrs 4 hrs 4 hrs Task: Configure database and SpaceIDs for Trac Owner: Sanjay Time Remaining: 4 hrs ! #
Product showcasing is displaying working softwareInvolves the customerReview the iteration goals Were they achieved Review iteration backlog Review acceptance criteriaSeek customer feedbackNominate a different team member for each showcase(spread the knowledge)
$ % What went well What didn’t go so well What can we do better What are we going to implement in the next iteration (assign these to owners in the team) Issues to escalate to the scrum master ActionsOccur after every iteration (minor retrospective with the team)Major retrospectives can occur after every 3rd iteration and can involve the customerThis is an opportunity to share ideas for improvement.This is NOT an opportunity to whinge…
Reporting drawn out of Jira Scope UNINTERRUPTED FOCUS TO COMPLETE Actual Velocity ITERATIONS Planned Velocity •Daily stand-up •Design sessions •Real time progress view from a team perspective •Showcase •Retrospectives Transparency – Storyboarding • Planned, In-progress, Test, Done • Real-time burndown – updated daily • Look at managing dependencies using KANBAN ? • How to manage impediments? – backlog or tax
Velocity – WoL reporting & predictability•Rolled up iteration reporting against WoL product backlog•Realtime project reporting against plan•Trend forecasting - forecasting•Stage gating – i.e. burndown tracking against specific milestones (set as part of epic-levelestimating)•Can consume additional scope depending on velocity & business value (zero cost change)•WoL tracking – overall number of stories/epics to be delivered against current WoL delivery plan
Meeting between the scrum-master and the project deliverypartner and other key resourcesGenerally twice weeklyGenerally used on large projects with multiple scrumsGreat way to manage interdependencies between scrums ornon-Agile projectsSimilar to a stand-upMore project management focusedReview impediments that can’t be managed at a scrum-master or sprint level (key risks/issue review)Validation of overall program velocity vs release roadmap
1 2 3 4Jan Feb March April May June July Aug Sep Oct Nov DecEPIC•Storys EPIC •Storys EPIC •Storys EPIC •Storys Regular release planning based on planned velocity Predictive planning based on actual delivery capability Reviewed and adjusted regularly in consultation with the business Generally delivery is prioritised by business value
Collaboration Whiteboards Wiki – share and update storiesContinuous Integration (Hudson)Automated testing Automated Unit testing (xUnit) Automated Regression testingScrumworks/Jira for product backlog tracking
Committed Stakeholder – Business Buy-inHigh performing technical teams Hire the right people (collaborative self starter, change adopters and driversRoles & Responsibilities – SCRUM Product owner – business representative SCRUM Master Team – cross-functional (no egos) Project Management/Governance (optional)Manageable technical debt Continuous integration/build – Hudson Automated testing – Unit, Regression Test driven development – quality in the hands of the team Develop to test scenarios – robust software
Dependency management ‘Agile up’ – taking into account various other influences within the Agile environment Non-Agile teams Technical Debt – Infrastructure, Architecture, Support Other projects Business process tuning (i.e. change processes etc…)Acknowledgement of a “Lean” documentation approach Wiki’s Reduced heavy documented templates for reqs capture etc.. Story cardsAccess to resources whom are versed and knowledgeable with iterative delivery A coach will be the difference between success and half baked implementation ofAgile