Your SlideShare is downloading. ×
Enterprise Agile - Hybrid of Methods
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Enterprise Agile - Hybrid of Methods

255
views

Published on

Presented in Agile Tour 2912

Presented in Agile Tour 2912

Published in: Business, Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
255
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 1 Enterprise Agile Hybrid of Methodologies Maris Prabhakaran M PMP,PMI-ACP,CSM,CSP,TOGAF9,PRINCE2 ,SPC,PMOC,ITIL,SCEA
  • 2. 2 Why hybrid of Methodologies Scrum + XP + Kanban Lean + Agile Synergies Appendix Agenda Lean + Agile
  • 3. 3 Why Hybrid of Methodologies Agile implementation is broadening from small development project to larger projects and scale out to address entire value chain of the organisation. In fact Agile is going beyond systems development and address the alignment between IT and business and the design and operation of entire Enterprise. One method will not fit the organisation Hybrid of methods are required Do not develop an attachment to any one weapon or any one school of fighting. Miyamoto Musashi a 17th century Samurai Twin sword fighting technique
  • 4. 4 What Industry feels about Agile? 4 Are the agile teams distributed? Reasons for adopting agile Benefits realized from implementing Agile How many separate locations or sites are using Agile 89% of the surveyed said they saw ≥ 10% ‘Increased Productivity’ 56% saw ≥ 25% ‘Increased Productivity” Early Potentially Shippable product
  • 5. 5 Where Does Agile fit into an IT Organization Storage Mainframes Servers Middleware IT Ops Mgmt Systems Data Centers End User devices Applications Tools Projects Firewall Goal 1 Objective 1 Objective 2 Goal 2 Objective 3 Objective 4 Programs Project 1 Project 2 Dashboards Governance councils IT Demand BU 1 GEO A BU 2 GEO A BU 3 GEO B Infrastructure and Operations Application devp.& maintenanceGovernance and Compliance ITStrategy formulation Kanban + XP + Scrum XP + Scrum Lean + Scrum Selecting Right tools to improve Enterprise Agility IncreasingEnterpriseAgility Lean + Scrum
  • 6. 6 GOVERNANCEDEMAND MEASUREMENT DISTRIBUTIONWORKFLOW EnterpriseTransformation requires Hybrid of Agile TOOLS CULTURE Hybrid of Agile ALIGNMENT
  • 7. 7 Hybrid of Scrum ,XP and Kanban Agile Framework + XPXPXPXPSCRUMSCRUMSCRUMSCRUM INVEST model to decompose optimal stories Story points to task estimation and Velocity Deliverables “doneness” criteria Vision process and themes approach Manage changes actively, using Product Backlog Test Driven Development – for quicker debugging Pair Programming – high quality code, collective ownership Code Refactoring –reduced technical debt Continuous Integration – lesser code breaks. painless releases Automated testing – test regression and release readiness Agile Umbrella Scrum simplified roles + XP Engineering Principles + Kanban board KANBAN
  • 8. 8 Lean + Agile FLOW Lean uses special principles & tools to map the value stream, optimize flow, and remove waste, and solve problems. Agile uses roles & practices to enable pull based & frequent delivery of value, collaboration, & continuous improvement. LEAN AGILE Any system is only as efficient and capable as the largest constraint, at any given time, will allow. WASTE
  • 9. 9 Agile Implements Lean Principles Lean Agile/Scrum/XP Capacity Planning (Queing Theory) Enterprise Backlogs, Product Backlogs, Prioritization based Biz Value, Release Planning, Pull (Kanban) Prioritized backlog, Kanban (Scrum board) tracking/status, Feature focused, User Scenarios to Stories, Personas, Iterative and Incremental, User Acceptance Testing, Sprint Goals, Sprint Planning (only 1-2 iterations), Takt Time (customer to customer) Backlog to Production measurement Single Piece Flow Small stories, feature based/slicing and swarming, Iterative and Incremental Waste Elimination Only develop stories that are actionable, only do what’s absolutely necessary, simplicity in all things, automation, excellence in engineering, Lean Agile/Scrum/XP Standardization Standard dev practices, framework usage, communications model Value Threads Story Mapping from Roadmap to Release to MMF to Epic to Story Automation Automated testing, Continuous Integration, Code Health, Easy Deploy Line Stop (Jidoka, Poka Yoke, Andon) Refactor, Reuse, Big Visuals, Iterate, Incremental Fail Fast Iterate, Inspect and Adapt, Retrospectives No defects No defects, Definition of Done, Test Driven Development, Refactor, Shippable code Lean Agile/Scrum/XP Go See Yourself Customer close by, Prototypes, Iterative and Incremental, Early Deploy Remove Waste Customer close, decisions at lowest level, good estimation, actionable user stories, no goldplating, team instead of cowboy, remove needless metrics, automation of almost all testing, no over-the-wall, biz/IT combined teams, simplify governance, daily standups Workload Leveling, Concurrent Eng. Small stories, slicing and swarming, cross-functional team, daily standups Quick Changeover Cross-functionalteam, simple and repeatable practices, no indiv. Code ownership, consistent build and deploy, team rotations, daily standups Automation Automated test, integration, build, deploy tools, andon, communication Orthogonal Arrays OATS Pairing with Dev and QA, Automation Increased accessibility to Value Optimal use of Resources Efficiency and Capability, Speed Cycle Time Cost Quality
  • 10. 10 Waste elimination using Agile Waste Category Application to SW How Scrum/XP Resolves Inventory Partially Done Work Shorter iteration cycles Smaller inventory of detailed requirements – Product backlog with complete User Stories Extra Processing Unnecessary docs Focus on the end product and less documentation, simplicity in code, automate everything possible Over Production Extra Features Prioritization of product backlog helps to do away with nice to have features which are waste Transportation Building the wrong thing Prioritized and actionable User Stories, Clear Acceptance Criteria, Customer/PO involvement, & Demos Waiting Waiting for info, Handoffs Product owner exists and is engaged daily, cross functional teams with everyone included to deliver the Sprint, Pair programming Motion Task Switching Slicing, Swarming, Use of DSM, Co-Located (or using W- GAME), Defects Defects Definition of Done, TDD, Test first, Defects must be fixed during sprint
  • 11. 11 • Release Planning ensures that real customer needs are pursued. • Prioritized Backlogs ensure that the most important/valuable items are completed first, giving the most value the soonest. • Iterative and incremental sprint cycles ensure that changes can be made to move with the customer and only add what is valuable – removing waste due to delivering something not valuable. • Potentially Shippable Software is released every sprint enabling a clear and early value delivery to the customer. This increases ROI and reduces cost. Value Flow • Prioritized backlogs reduce investment on work that is not valuable. • Iterative and incremental cycles enables the business to cease work when enough value has been achieved, reducing wasted time spent creating lower value results. • Planning by sprints allows only the necessary amount of planning to be done, since the true outcome cannot be known until it is being delivered. • Only minimal documentation and other deliverables are created, reducing the wasted time in production, maintenance, and rework when poorly managed. Eliminate Waste • Daily scrums increase communication and ensure that the team can be proactive, changing as needed based on the conditions. • Retrospectives enable the teams to learn about one another, their work, and how to get better. • Frequently released software enables more frequent feedback from the customer, enabling more adaptive change to meet their needs. • Product Owners/Customers work directly with the creators of value, providing direct feedback about the outcome. Increase Feedback • Iterative and incremental work periods enable the results to be delivered as soon as they are good enough. • Two – Four week iterations is enough time to get work done, but not enough to waste, which ensures that people work to reduce wasted time. • Definition of Done ensures that as the work products are being created, they are completely ready for customers. • Inspect and Adapt allows the organization to change course and still produce results in much less timeframe than normal. Deliver Fast • Test Driven Development helps ensure that the software is built to achieve the criteria designed for it. • Testing happens at the beginning, not at the end of development process ensuring that higher quality can be achieved. • Definition of Done specifies specifically all the steps that must be taken to release the software, not just the coding of the software. • Enhanced roles in Scrum/XP ensure that everyone is concerned about and takes ownership of quality. The ScrumMaster helps ensure impediments are removed, thus enabling clearer understanding of the work and higher quality. Build Integrity In • Teams are cross-functional, enabling a multi-faceted look at problems and opportunities, ensuring that many angles are thought about during creation – the cheapest time in the lifecycle for fixing errors. • Development selecting items from the backlog to work from • Selection of work Vs assignment of tasks • Product owners working directly with the team reduce wasted due to time delays in communication. Empower The Team • Delay requirements that are architecturally not significant till the last responsible moment (AS Late As Possible) Delay Commitment • Product Owner/Customer collaboration ensures that only what is needed is produced, at the right quality, and in the right time. • Demos show value to the customer early. • The ScrumMaster helps remove impediments in and outside of the team. Resolve Constraints • Release plan provides the end to end view at a high level • Break functionality into vertical slices to get a end to end view See the Whole Lean & Agile Synergies DSM VOICE OF THE CUSTOMER INCREASE FEEDACK 5S AUTOMATION VALUE STREAM MAPPING ANDON VISUAL CONTROL QUALITY FUNCT. DEPLOYMENT ROOT CAUSE ANALYSIS SIPOC ANALYSIS KANBAN BOARD CUSTOMER PULL THEORY OF CONSTRAINTS KAIZEN LEAN AGILE FRAMEWORK LEAN TOOLS
  • 12. 12 Thank you marisagility@gmail.com
  • 13. 13 Appendix
  • 14. 14 Why Lean Agile? • Better Return on Investment (ROI) • Short releases will make the product available with high business value features early in the cycle • Faster Time to Market enables earlier earning and learning • Doing most important work quickly results in delivery of real customer value • Productivity and code quality improvements • Continuous attention to technical simplicity (just-enough/right-size) • Defect prevention rather than defect verification through practices like continuous integration and Acceptance tests • High test-coverage – great impact on code quality • Increasing Probability of Success through close collaboration and reduction of risk • Business and the IT team collaborate through out the development cycle through creation of requirements, Iteration Planning, Demo etc • High technical risk and high business value requirements are implemented early in the cycle • Flexibility of implementation of requirements • Iterative delivery of the requirements • Re-prioritization of requirements is possible at the end of each Iteration • Better management and Reduction of requirement volatility • Iterative and Incremental approach with the prioritized backlog of requirements • Better understanding of requirements by having acceptance tests within it • Better management of Project Schedule and Cost • Iterative and Incremental approach with the prioritized backlog of requirements • Burndowns for Releases and Iterations/Sprint create transparency • Higher quality due to continuous integration reduces cost of late stage defect rework
  • 15. 15 SCRUM
  • 16. 16 How Scrum works
  • 17. 17 ProductProduct Owner • Define the features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results ScrumScrum Master • Represents management to the project • Responsible for enacting Scrum values and practices • Removes impediments • Ensure that the team is fully functional and productive • Enable close cooperation across all roles and functions Team • Typically 5-9 people • Cross-functional: • Programmers, testers, user experience designers, etc. • Teams are self-organizing How Scrum works
  • 18. 18 How scrum works
  • 19. 19 • Reports Scrum Artifacts
  • 20. 20 XP
  • 21. 21 Essence of XP (eXtreme Programming ) 21 • eXtreme Programming is a discipline of software development based on values of simplicity, communication,feedback, and courage. It works by bringing the whole team together in the presence of simple practices,with enough feedback to enable the team to see where they are and to tune the practices to their unique situation. • It is distinguished from other methodologies by : • Its early, concrete, and continuing feedback from short cycles. • Its incremental planning approach, which quickly comes up with an overall plan that is expected to evolve through the life of the project. • Its ability to flexibly schedule the implementation of functionality, responding to changing business needs. • Automated tests written by programmers and customers to monitor the progress of development, to allow the system to evolve, and to catch defects early. • Oral communication, tests, and source code to communicate system structure and intent. • Evolutionary design process that lasts as long as the system lasts. • Close collaboration of programmers
  • 22. 22 XP - Why is it called eXtreme Programming? 22 Taken known best practices to eXtreme levels • If code reviews are good, we will review the code all the time • If testing is good, everybody will test all the time • If design is good, we will make it part of everyone’s daily business • If simplicity is good, we will leave the system with the simplest design that supports current functionality • If integration testing is important, then we will integrate and test several times a day • If short Iterations are good, we will make the Iterations very short
  • 23. 23 23 Communication Communication builds a thread of trust at all levels (customer, end users, developers, QA) and it improves the collaboration among the project stakeholders. Simplicity Simplicity stresses to build system in such a way that is enough to meet the requirements that are available today. Feedback Feedback highlights the opportunities for improvement. Feedback from customer and peers plays important role in refining the system under development. Courage Courage breaks the cultural barriers and enables higher communication with constructive feedback. Courage builds ground for feedback giving and receiving. Respect Team members should not feel unappreciated or ignored. This ensures high level of motivation and encourages loyalty toward the team, and the goal of the project Values of XP
  • 24. 24 Process Flow for XP 24
  • 25. 25 XP (eXtreme Programming) Practices 25 1. Planning game - Programmers estimate effort of implementing customer stories and customer decides about scope and timing of releases 2. Metaphor - Guides all development with a simple shared story of how the whole system works 3. Simple design - The system should be designed as simple as possible at any given moment 4. Test First - Programmers continually write unit tests, which must run flawlessly for development to continue
  • 26. 26 XP (eXtreme Programming) Practices 26 5. Refactoring - As programmers add new features to the project, the design may start to get messy. If this continues,the design will deteriorate 6. Short/Small releases - Programmers build the system in small releases defined. A Iteration is typically for about two weeks 7. Pair Programming - All production code is written with two programmers at one machine 8. Continuous Integration - Integrate and build the system many times a day, every time a task is completed. New builds as soon as code ready
  • 27. 27 XP (eXtreme Programming) Practices 27 9. Collective ownership - The team owns the code. Programmer pairs modify any piece of code they need to 10. On-site customer - Include a real, live user on the team, available full-time to answer questions.customer present and available full-time for team 11. 40 hour week - Work no more than 40 hours a week as a rule. Never work overtime a second week in a row. maximum 40-hour week 12. Coding standards — Programmers write all code in accordance with rules emphasizing communication through the code
  • 28. 28 KANBAN
  • 29. 29 KANBAN 29 • Visualize the workflow • o Split the work into pieces, write each item on a card and • put on the wall. • o Use named columns to illustrate where each item is in • the workflow. • • Limit Work In Progress (WIP) – assign explicit limits to how • many items may be in progress at each workflow state. • Measure the lead time (average time to complete one item, • sometimes called “cycle time”), optimize the process to make • lead time as small and predictable as possible.