zur Geschichte des VDEh in der Auswahl-Chronik „150 Jahre ...
150 Jahre Lean IT Opex in the Clouds · August 16, 2017 Sudhagar Raghavan 8/22/2017 1 . 150 Jahre...
Transcript of 150 Jahre Lean IT Opex in the Clouds · August 16, 2017 Sudhagar Raghavan 8/22/2017 1 . 150 Jahre...
150 Jahre
Lean IT – Opex in the Clouds August 16, 2017 Sudhagar Raghavan
8/22/2017 1
150 Jahre
‹#› 8/22/2017
150 Jahre
‹#› 8/22/2017
150 Jahre
‹#› 8/22/2017
Software Development Life Cycle - The Waterfall Model
5
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.
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
Scrum (1996) – Framework
7
Reference: scrum.org
The Agile Manifesto (2001)
8
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.
12 Agile Software Development Principles
9
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.
Waterfall vs Agile Software Project Management
10
Reference: Urenio.org
Seven Principles of Lean Software Development (2003)
11
Reference: M & T Poppendieck, Lean Software Development. 2003 : Chapter 1
Optimize the Whole
Eliminate Waste
Amplify Learning
Delay commitment
Deliver fast
Empower the team
Build Quality In
Kanban (2007) – Key Principles
12
Reference: Archana Joshi, Cognizant
An example of a Kanban Board
13
Scrumban (2008) – Flow
14
Developer reviews WIP
Developer pull stories or help others
Pass to QA Completed
Project Backlog
Kanban Board with Sprint scope
and WIP limits
• Project backlog (Scrum)
• Sprint backlog (Scrum)
• Kanban Board & WIP (Kanban)
• Support others (Kanban)
• QA getting story asap (both)
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
DevOps – Flow
16 8/22/2017
The Lean Startup Model (2008)
18 8/22/2017