Lean IT Opex in the Clouds August 16, 2017 Sudhagar Raghavan

Size: px
Start display at page:

Download "Lean IT Opex in the Clouds August 16, 2017 Sudhagar Raghavan"

Transcription

1 150 Jahre Lean IT Opex in the Clouds August 16, 2017 Sudhagar Raghavan 8/22/2017 1

2 150 Jahre 8/22/2017 #

3 150 Jahre 8/22/2017 #

4 150 Jahre 8/22/2017 #

5 Software Development Life Cycle - The Waterfall Model Weakness of SDLC Increased development time & cost Systems must be defined up front. Hard to estimate costs project overruns. User input is sometimes limited. Value delivered at the completion A sequential process in the development of a system or software that flows in a downward progression. Often involves phases that are totally dependent on each other, particularly the preceding phases. The number of phases vary depending on the software or system to be developed. 5

6 Scrum (1996) Definition Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Scrum is: Lightweight Simple to understand Difficult to master The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum s success and usage. The rules of Scrum bind together the events, roles, and artifacts, governing the relationships and interaction between them. The rules of Scrum are described throughout the body of this document. Specific tactics for using the Scrum framework vary and are described elsewhere. 6

7 Scrum (1996) Framework Reference: scrum.org 7

8 The Agile Manifesto (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: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 8

9 12 Agile Software Development Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 9

10 Waterfall vs Agile Software Project Management Reference: Urenio.org 10

11 Seven Principles of Lean Software Development (2003) Eliminate Waste Build Quality In Amplify Learning Optimize the Whole Empower the team Delay commitment Deliver fast Reference: M & T Poppendieck, Lean Software Development : Chapter 1 11

12 Kanban (2007) Key Principles Reference: Archana Joshi, Cognizant 12

13 An example of a Kanban Board 13

14 Scrumban (2008) Flow Project Backlog Project backlog (Scrum) Sprint backlog (Scrum) Kanban Board & WIP (Kanban) Support others (Kanban) QA getting story asap (both) Kanban Board with Sprint scope and WIP limits Developer reviews WIP Developer pull stories or help others Pass to QA Completed 14

15 DevOps (2007) Key Principles Cross-functional team and skills: DevOps aims to expand the boundaries by integrating the process of operational and functional roles while Agile focuses on reaping the benefits of integrating development and quality assurance roles. Continuous delivery: Ongoing updates, applications, and every important aspect of the development lifecycle are made more frequently in smaller sizes in order to avoid service disruption. Optimum utilization of toolsets: The cross-functional teams i.e. development and operations implements the same tools where necessary. Automated deployment pipeline: DevOps initiates the creation of automated deployment model pipeline in order to allow for a frictionless deployment in the development lifecycle. Continuous assessment: The DevOps environment recommends the continuous assessment of application development and release process. 15

16 DevOps Flow 8/22/

17 The Lean Startup Model (2008)

18 8/22/