64
Other methods 13.04.2015 13.4.2015 TIE-2210x/Kari Systä 1

Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Other methods

13.04.2015

13.4.2015 TIE-2210x/Kari Systä 1

Page 2: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

About the project

- Drop-outs

- Separate development without integration

+ Code-jams (coding nights)

+ (Almost) all groups have used version control

– And groups have liked

+ Use of Agilefant has been generally OK

13.4.2015 TIE-2210x/Kari Systä 2

Page 3: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

From Celkee tool: understanding goals

13.4.2015 TIE-2210x/Kari Systä 3

Page 4: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

From Celkee tool: Current skills

13.4.2015 TIE-2210x/Kari Systä 4

Page 5: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

From Celkee tool: Spent hours

13.4.2015 TIE-2210x/Kari Systä 5

Page 6: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

From Celkee tool: Assumed grade

13.4.2015 TIE-2210x/Kari Systä 6

Page 7: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Ari Jaaksi • People aspects are always important

– Remember collaborative game

• How to deal with bugs – It is important to follow number of bugs

(”Build quality in”)

• Business plan, roadmap

• Req mgmt – It is impossible to remove

• Time boxes: – Ask ”what will be ready by Tuesday” instead of ”when”

13.4.2015 TIE-2210x/Kari Systä 7

Page 8: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

How do the lectures continue?

13.4.2015 TIE-2210x/Kari Systä 8

16.02 Scrum part 2

23.02 Project planning (part 2): effort estimation

02.03 Continuous Integration, Continuous Deployment, DevOps,..

09.03 No lectures - exam week

16.03 Guest Lecture 1: Juho-Pekka Pöyry, Leonidas

23.03 Improving Quality:

30.03 Guest Lecture 2: Ari Jaaksi

06.04 Easter - no lectures

13.04 Other methods; RUP, XP, Lean; Kanban

20.04 Role of software architecture; software maintenance; software evolution

27.04 Software business, software start-ups

04.05 Dependable and safety-critical systems

11.05 Recap, prepare for the exam. --

Page 9: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Content

• RUP

• XP

• Lean

• Kanban

• Scrum ban

• Lean Start-up

• DevOps

13.4.2015 TIE-2210x/Kari Systä 9

Page 10: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Pioneer hackers

Requirements Planning Discipline

Waterfall Need better

risk management

Iterative

Spiral

Reqs. change

Change empower teams Agile

Learn for car production Lean

business

DevOps Lean

Startup

RUP XP

Scrum

Kanban

13.4.2015 TIE-2210x/Kari Systä 10

Page 11: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Phases in RUP

• Inception: business case and stakeholders

• Elaboration: spec, design, plan

• Construction: ”the real work”

• Transition: to users

13.4.2015 TIE-2210x/Kari Systä 11

Inception Elaboration Construction Transition

Page 12: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Iterative model: RUP (Rational Unified Process)

13.4.2015 TIE-2210x/Kari Systä 12

Page 13: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Extreme programming

• Well-known method developed by Kent Beck • (only briefly covered by Haikala&Mikkonen, but

internet is full of resources)

• Requirements are expressed as scenarios called User Stories which are implemented directly as series of tasks

• Programmers work in pairs and develop tests for each task before writing the code

• All tests must be successfully executed when new code is integrated

13.4.2015 TIE-2210x/Kari Systä 13

Page 14: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

XP (Extreme programming)

13.4.2015 TIE-2210x/Kari Systä 14

http://www.extremeprogramming.org/

Page 15: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

XP Practices Practice/principle Description

Incremental planning

Small releases Minimun useful is implemented first; frequent releases

Simple design Spend enough time in design

Test-driven development

Test written before code, automated tests

Refactoring All team members should refactor code to keep simple and maintainable

Pair programming Check each others’ work; support

Collective ownership

No islands of responsibilities; every body can change everything

Continuous integration

Whenever something is ready it is integrated; always test

Sustainable pace Large amounts of overtime is not sustainable

On-site customer Continuous access to customer

13.4.2015 TIE-2210x/Kari Systä 15

Page 16: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

XP vs Scrum

• XP has typically shorter iterations (1-2w instead of 2-4w)

• Scrum does not allow changes into sprints

• XP is work in strict priority order

• Scrum does not prescribe any engineering practices

• Scrum focuses more on management aspects

13.4.2015 TIE-2210x/Kari Systä 16

Page 17: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

LEAN SW DEVELOPMENT

13.4.2015 TIE-2210x/Kari Systä 17

Page 18: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

http://en.wikipedia.org/wiki/Lean_software_development

• Lean software development (LSD) is a translation of lean manufacturing and lean IT principles and practices to the software development domain. Adapted from the Toyota Production System, a pro-lean subculture is emerging from within the Agile community.

• The term lean software development originated in a book by the same name, written by Mary Poppendieck and Tom Poppendieck. The book presents the traditional lean principles in a modified form, as well as a set of 22 tools and compares the tools to agile practices.

13.4.2015 TIE-2210x/Kari Systä 18

Page 19: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Toyota Way (http://www.toyotaway.com/)

What is lean?

• Providing value to your customer by reducing wasteful practices

• Philosophy comes from the world famous Toyota Production System

• Preserving value with less work

• Recognize profit potentials through elimination of wasteful production practices

13.4.2015 TIE-2210x/Kari Systä 19

Page 20: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Toyota Way 14 Principles (http://icos.groups.si.umich.edu//Liker04.pdf)

Section I: Long-Term Philosophy • Principle 1. Base your management decisions on a long-term

philosophy, even at the expense of short-term financial goals. Section II: The Right Process Will Produce the Right Results • Principle 2. Create a continuous process flow to bring problems to

the surface. • Principle 3. Use “pull” systems to avoid overproduction. • Principle 4. Level out the workload (heijunka). (Work like the

tortoise, not the hare.) • Principle 5. Build a culture of stopping to fix problems, to get quality

right the first time. • Principle 6. Standardized tasks and processes are the foundation for

continuous improvement and employee empowerment. • Principle 7. Use visual control so no problems are hidden. • Principle 8. Use only reliable, thoroughly tested technology that

serves your people and processes.

13.4.2015 TIE-2210x/Kari Systä 20

Page 21: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Toyota Way 14 Principles (http://icos.groups.si.umich.edu//Liker04.pdf)

Section III: Add Value to the Organization by Developing Your People • Principle 9. Grow leaders who thoroughly understand the work, live

the philosophy, and teach it to others. • Principle 10. Develop exceptional people and teams who follow

your company’s philosophy. • Principle 11. Respect your extended network of partners and

suppliers by challenging them and helping them improve. Section IV: Continuously Solving Root Problems Drives Organizational Learning • Principle 12. Go and see for yourself to thoroughly understand the

situation (genchi genbutsu). • Principle 13. Make decisions slowly by consensus, thoroughly

considering all options; implement decisions rapidly (nemawashi). • Principle 14. Become a learning organization through relentless

reflection (hansei) and continuous improvement (kaizen).

13.4.2015 TIE-2210x/Kari Systä 21

Page 22: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

http://www.toyota.eu

Continuous improvement

thoroughly understand the situation

13.4.2015 TIE-2210x/Kari Systä 22

Page 23: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Principles of Lean SW Development

Wikipedia

• Eliminate waste

• Amplify learning

• Decide as late as possible

• Deliver as fast as possible

• Empower the team

• Build integrity in

• See the whole

www.poppendieck.com

• Eliminate Waste

• Keep getting better

• Learn first

• Deliver fast

• Energize workers

• Build quality in

• Focus on customers

13.4.2015 TIE-2210x/Kari Systä 23

Page 24: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Eliminate Waste Wikipedia Lean philosophy regards everything not adding value to the customer as waste (muda). Such waste may include: • unnecessary code and

functionality • delay in the software

development process • unclear requirements • insufficient testing (leading to

avoidable process repetition) • bureaucracy • slow internal communication

Poppendick: The three biggest wastes in product development are: • Building the Wrong Thing

"There is nothing so useless as doing efficiently that which should not be done at all." – Peter Drucker

• Building the Thing Wrong If it seems like there is not enough time to build it right, then there certainly is not enough time NOT to build it right.

• A Batch and Queue Mentality Work in progress hides defects, gets obsolete, causes task switching, and delays realization of value.

13.4.2015 TIE-2210x/Kari Systä 24

Page 25: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Amplify learning; Keep getting better

The best approach for improving a software development environment is to amplify learning. The accumulation of defects should be prevented by running tests as soon as the code is written. Instead of adding more documentation or detailed planning, different ideas could be tried by writing code and building. The process of user requirements gathering could be simplified by presenting screens to the end-users and getting their input. The learning process is sped up by usage of short iteration cycles – each one coupled with refactoring and integration testing.

There is no such thing as a best practice. • Change as Fast as the World

Changes Yesterday's wisdom becomes today's obstacle and tomorrow's folly.

• Pay Attention to the Small Stuff Reliable performance comes when noise is not tolerated, when small failures are deeply investigated and corrected.

• Use the Scientific Method Establish a hypothesis, conduct many rapid experiments, create concise documentation, and implement the best alternative. Then choose another problem and do it again.

13.4.2015 TIE-2210x/Kari Systä 25

Page 26: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Decide as late as possible; Learn first

As SW development is always associated with uncertainty, better results should be achieved with an options-based approach, delaying decisions until they can be made based on facts and not on assumptions and predictions. An agile approach can move the options earlier for customers, thus delaying certain crucial decisions until customers have realized their needs better. This also allows later adaptation to changes and the prevention of costly earlier technology-bounded decisions. This does not mean that no planning should be involved – on the contrary, planning activities should be concentrated on the different options and adapting to the current situation.

Planning is useful. Learning is essential.

• The Predictability Paradox Predictable organizations do not guess about the future and call it a plan; they develop the capacity to learn quickly and rapidly respond to the future as it unfolds.

• Integrating Events Knowledge-based development seeks out knowledge gaps, develops multiple options for solutions, and frequently synchronizes all teams developing the system.

• The Last Responsible Moment Don't make expensive-to-change decisions before their time – and don't make them after their time!

13.4.2015 TIE-2210x/Kari Systä 26

Page 27: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Deliver as fast as possible In the era of rapid technology evolution, it is not the biggest that survives, but the fastest.

The sooner the product is delivered without major defects, the sooner feedback is received, and incorporated into the next iteration.

The shorter the iterations, the better the learning and communication within the team.

The just-in-time production ideology could be applied to software development, recognizing its specific requirements and environment.

This is achieved by presenting the needed result and letting the team organize itself and divide the tasks for accomplishing the needed result for a specific iteration.

At the beginning, the customer provides the needed input.

Create a steady, even flow of work, pulled from a deep understanding of value. Speed, Quality & Low Cost are Fully Compatible Companies that compete on the basis of speed have a big cost advantage, deliver superior quality, and are more attuned to their customers' needs. Focus on Flow Efficiency, not Resource Efficiency Resource efficiency interferes with the smooth flow of value; it often delivers half the value for twice the effort. Manage Workflow rather than Task-based Schedules The best way to establish reliable, predictable deliveries is to establish reliable, repeatable workflows.

13.4.2015 TIE-2210x/Kari Systä 27

Page 28: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Empower the team; Energize workers Traditionally the managers tell the workers how to do their own job. In a "Work-Out techniqueҬ managers are taught how to listen to the developers, so they can explain better what actions might be taken, as well as provide suggestions for improvements.

The lean approach: "find good people and let them do their own job," encouraging progress, catching errors, and removing impediments, but not micro-managing.

Another mistaken belief has been the consideration of people as resources. People might be resources from the point of view of a statistical data sheet, but in software development

The developers should be given access to the customer; the team leader should provide support and help in difficult situations, as well as ensure that skepticism does not ruin the teams spirit.

The time and energy of bright, creative people are the scarce resources in today's economy. • Purpose

A meaningful purpose inspires and energizes workers.

• Challenge Provide challenge, feedback, and an environment that enables everyone to become excellent.

• Responsibility The most productive groups are semi-autonomous teams – with an internal leader – that accept end-to-end responsibility for meaningful accomplishments.

13.4.2015 TIE-2210x/Kari Systä 28

Page 29: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Build integrity in; build quality in The customer needs to have an overall experience of the System – this is the so-called perceived integrity: how it is being advertised, delivered, deployed, accessed, how intuitive its use is, price and how well it solves problems.

Conceptual integrity means that the system’s separate components work well together as a whole with balance between flexibility, maintainability, efficiency, and responsiveness.

• Should be understood as whole

• Information is received in pieces

One of the healthy ways towards integral architecture is refactoring.

Automated tests are also considered part of the production process, and therefore if they do not add value they should be considered waste.

Find and fix defects the moment they occur. Mistake-Proof the Process Think of tests as specifications. Use them to establish confidence in the correctness of the system at any time during development, at every level of the system. Integrate Early and Often Every development process ever invented had as its primary purpose to find and fix defects as early in the development process as possible. Don't Tolerate Defects If you expect to find defects during final verification, your development process is defective.

13.4.2015 TIE-2210x/Kari Systä 29

Page 30: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

See the whole; focus on customers

Software systems are not simply the sum of their parts, but also the product of their interactions.

Defects in software tend to accumulate during the development process – by decomposing the big tasks into smaller tasks, and by standardizing different stages of development, the root causes of defects should be found and eliminated.

The larger the system, the more organizations that are involved in its development and the more parts are developed by different teams, the greater the importance of having well defined relationships between different vendors.

"If you organize around the consumer, the rest of it will follow." – Eric Schmidt

Ask the Right Questions Innovation begins with a fresh perspective, a keen insight, a penetrating question.

Solve the Right Problems Do not focus on the products you are building, focus on the problems customers are encountering.

Design a Great Experience It is not enough for customers to be satisfied, they should love your products.

13.4.2015 TIE-2210x/Kari Systä 30

Page 31: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Summary of lean

• Avoid waste • Model process as a flow • Make progress and state visible • Deliver fast and continuously • Build quality in & fix problems immediately (stop the work) • ”Japanese dictionary”

– continuous improvement (kaizen) – relentless reflection (hansei) – thoroughly understand the situation (genchi genbutsu) – Decide slowly; implement rapidly (nemawashi) – Level out the workload (heijunka)

13.4.2015 TIE-2210x/Kari Systä 31

Page 32: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

KANBAN

13.4.2015 TIE-2210x/Kari Systä 32

Page 33: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Pioneer hackers

Requirements Planning Discipline

Waterfall Need better

risk management

Iterative

Spiral

Reqs. change

Change empower teams Agile

Lean for car production Lean

business

DevOps Lean

Startup

RUP XP

Scrum

Kanban

13.4.2015 TIE-2210x/Kari Systä 33

Page 34: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Kanban (wikipedia based on David Anderson. Kanban – Successful Evolutionary

change for your Technology Business. Blue Hole Press, April 2010)

Visualise • Visualising the flow of work and making it visible is core to understanding

how work proceeds. Without understanding the workflow, making the right changes is harder.

• A common way to visualize the workflow is to use a card wall with cards and columns. The columns on the card wall representing the different states or steps in the workflow.

Limit WIP • Limiting work-in-process implies that a pull system is implemented on

parts or all of the workflow. • The critical elements are that work-in-process at each state in the

workflow is limited and that new work is “pulled” when there is available capacity within the local WIP limit.

Manage flow • The flow of work through each state in the workflow should be monitored,

measured and reported. By actively managing the flow the continuous, incremental and evolutionary changes to the system can be evaluated to have positive or negative effects on the system.

13.4.2015 TIE-2210x/Kari Systä 34

Page 35: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Kanban board (http://en.wikipedia.org/wiki/File:Simple-kanban-board-.jpg)

13.4.2015 TIE-2210x/Kari Systä 35

Page 36: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Kanban Make policies explicit • Until the mechanism of a process is made explicit it is often hard or

impossible to hold a discussion about improving it. Implement feedback loops • Collaboration to review flow of work and demand versus capability

measures, metrics and indicators coupled with anecdotal narrative explaining notable events is vital to enabling evolutionary change.

Improve collaboratively, evolve experimentally (using models and the scientific method) • The Kanban method encourages small continuous, incremental and

evolutionary changes that stick. • When teams have a shared understanding of theories about work,

workflow, process, and risk, they are more likely to be able to build a shared comprehension of a problem and suggest improvement actions which can be agreed by consensus.

• The Kanban method suggests that a scientific approach is used to implement continuous, incremental and evolutionary changes. The method does not prescribe a specific scientific method to use.

13.4.2015 TIE-2210x/Kari Systä 36

Page 37: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Example of tool support http://kanbantool.com/

13.4.2015 TIE-2210x/Kari Systä 37

Page 38: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

http://commons.wikimedia.org/wiki/File:Kanban_board_example.jpg

13.4.2015 TIE-2210x/Kari Systä 38

Page 39: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Motivation behind Kanban (http://www.netobjectives.com/files/resources/articles/Demystifying-Kanban.pdf based on

(http://www.netobjectives.com/blogs/real-differences-between-kanban-and-scrum)

• Controlling the rate of transition. First-generation methods often require traumatic change to the people and structures in the organization.

• Allocating specialized skill sets, domain knowledge, or knowledge of legacy code effectively across the organization. Dedicated and relatively static teams, while desirable, are usually not practical in this regard.

• Enabling participation of management and leadership. Scrum often marginalizes management.

• Providing teams with guiding principles, especially the principles of lean and the theory of constraints.

• Providing a better way to learn how to improve. End-of-iteration retrospectives are too narrow and too late to be valuable over the long haul.

• Enabling teams to work on the right-sized chunks. With time-boxing, work gets squeezed into a predefined period and unrelated bits of work get grouped into one sprint. 13.4.2015 TIE-2210x/Kari Systä 39

Page 40: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

http://www.netobjectives.com/blogs/real-differences-between-kanban-and-scrum

(one opinion!)

Kanban Scrum

Explicit policies Yes Don't believe it possible

Manage Work in Progress (WIP)

Yes Not mentioned, don't know how to do it without explicit policies

Visibility of process Input, work, output Input and output only. Work is black-box

Management Inclusive Keep them at bay

Value stream Includes product management across products

At team level for one product

Change management Controllable Must change to Scrum model – even if disruptive

13.4.2015 TIE-2210x/Kari Systä 40

Page 41: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

It is also a cultural issue (source Cutter IT Journal)

13.4.2015 TIE-2210x/Kari Systä 41

Page 42: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

It is also a cultural issue (source Cutter IT Journal)

“Note that the adoption is wider and that the more conservative cultures have

adopted it fairly rapidly. We attribute this difference

specifically to the evolutionary, incremental nature of Kanban. It is

more appealing in conservative cultures than the revolutionary approach required

by some agile methods.”

13.4.2015 TIE-2210x/Kari Systä 42

Page 43: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Summary of Kanban

• Visualise

• Limit Work-in-progress (WIP)

• Manage flow

• Make policies explicit

• Implement feedback loops

• Improve collaboratively, evolve experimentally (using models and the scientific method)

13.4.2015 TIE-2210x/Kari Systä 43

Page 44: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Ari Jaaksi 30.3 • People aspects are always important

– Remember collaborative game

• How to deal with bugs – It is important to follow number of bugs

– ”Build quality in”

• Business plan, roadmap

• Req mgmt – It is impossible to remove

• Time boxes: – Ask ”what will be ready by Tuesday” instead of ”when”

13.4.2015 TIE-2210x/Kari Systä 44

Page 45: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Scrum-ban

• Collect ideas from both Scrum and Kanban

• Scrum problems – Sprint planning often seen waste

– Burn-down charts and detailed estimation often waste (recall guest lecture by Leonidas)

– Team constraints (size, cross-functional, should be experienced)

• Kanban problems – WIP limits sometimes artificial

– Assumes constant flow

– Planning is sometimes vague

13.4.2015 TIE-2210x/Kari Systä 45

Page 46: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Key principles of Scrum-ban

• Short iterations (≤ 2 weeks)

• Pull principle (like in Kanban)

• On-demand planning with prioritization

• Bucket size planning

• Board (similar to Kanban)

• Feature freeze

13.4.2015 TIE-2210x/Kari Systä 46

Page 47: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Scrum-ban board Backlog

Analyze Implement Test

Work in progress Done

Task

Task Task

Task

Task

Task

Task

Task

Task Task

Task

13.4.2015 TIE-2210x/Kari Systä 47

Page 49: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

One recomendation http://www.aboutscrumban.com/comparison-of-scrum-kanban-and-scrumban/

Scrum Kanban Scrum ban

Fit for Enterprise maturity for teams working on product or especially project which is longer than a year

Support and maintenance teams, continuous product manufacturing

Startups, fast-pace projects, continuous product manufacturing

Each organization needs to find the best fit Further readind: http://www.eylean.com/Publications Whitepaper - Scrum vs Kanban vs Scrumban

13.4.2015 TIE-2210x/Kari Systä 49

Page 50: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

LEAN STARTUP

13.4.2015 TIE-2210x/Kari Systä 50

Page 51: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Pioneer hackers

Requirements Planning Discipline

Waterfall Need better

risk management

Iterative

Spiral

Reqs. change

Change empower teams Agile

Lean for car production Lean

business

DevOps Lean

Startup

RUP XP

Scrum

Kanban

13.4.2015 TIE-2210x/Kari Systä 51

Page 52: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Lean startup

• Based on

– work by Eric Ries, e.g. presentation ” The Lean Startup Doing More With Less”

– Presentations of Pekka Abrahamsson

13.4.2015 TIE-2210x/Kari Systä 52

Page 53: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Understanding Failure

• Not because the technology doesn’t work

• No customers or a sustainable business model

• With better management, idea failure doesn’t have to lead to company failure

13.4.2015 TIE-2210x/Kari Systä 53

Page 54: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Agile Product Development Unit of Progress: A line of Working Code

Problem: known

Solution: unknown

“Product Owner” or in-house customer

13.4.2015 TIE-2210x/Kari Systä 54

Page 55: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Product Development at Lean Startup Unit of Progress: Validated Learning About Customers ($$$)

Problem: unknown

Solution: unknown

Customer Development

Hypotheses,

Experiments,

Insights

Data,

Feedback,

Insights

13.4.2015 TIE-2210x/Kari Systä 55

Page 56: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

The Startup OODA Loop

LEARN BUILD

MEASURE

IDEAS

PRODUCT DATA

Minimize TOTAL time through the loop

DATA

IDEAS

13.4.2015 TIE-2210x/Kari Systä 56

Page 57: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

There’s much more…

IDEAS

PRODUCT DATA

BUILD LEARN

MEASURE

Code Faster

Unit Tests Usability Tests

Continuous Integration Incremental Deployment

Free & Open-Source Components Cloud Computing

Cluster Immune System Just-in-time Scalability

Refactoring Developer Sandbox

Minimum Viable Product

Measure Faster Split Tests Clear Product Owner Continuous Deployment Usability Tests Real-time Monitoring Customer Liaison

Learn Faster

Split Tests Customer Interviews Customer Development Five Whys Root Cause Analysis Customer Advisory Board Falsifiable Hypotheses Product Owner Accountability Customer Archetypes Cross-functional Teams Semi-autonomous Teams Smoke Tests

Funnel Analysis Cohort Analysis

Net Promoter Score Search Engine Marketing

Real-Time Alerting Predictive Monitoring

13.4.2015 TIE-2210x/Kari Systä 57

Page 58: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Key elements and terms of Lean Startup • A minimum viable product (MVP) is the version of a new product

which allows a team to collect the maximum amount of validated learning about customers with the least effort.

• Continuous deployment is a process whereby all code that is written for an application is immediately deployed into production.

• A split or A/B test is an experiment in which "different versions of a product are offered to customers at the same time.

• Actionable metrics can lead to informed business decisions and subsequent action. These are in contrast to 'vanity metrics' - measurements that give “the rosiest picture possible” but do not accurately reflect the key drivers of a business.

• A pivot is a structured course correction designed to test a new fundamental hypothesis about the product, strategy, and engine of growth.

13.4.2015 TIE-2210x/Kari Systä 58

Page 59: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

DevOps (http://dev2ops.org/2010/02/what-is-devops/)

• DevOps is a response to the growing awareness that there is a disconnect between what is traditionally considered development activity and what is traditionally considered operations activity. This disconnect often manifests itself as conflict and inefficiency.

• Wall of confusion

13.4.2015 TIE-2210x/Kari Systä 59

Page 60: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

13.4.2015 TIE-2210x/Kari Systä 60

Page 61: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

The lifecycle

13.4.2015 TIE-2210x/Kari Systä 61

Page 62: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

13.4.2015 TIE-2210x/Kari Systä 62

Page 63: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Content of DevOps

• Typically uses agile development processes

• Increased rate of production releases (Continuous development)

• Common tools

• Use of virtualized and cloud infrastructure from internal and external providers

• Increased usage of data center automation and configuration management tools

13.4.2015 TIE-2210x/Kari Systä 63

Page 64: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4

Material

• Liker: The 14 Principles of the Toyota Way: An Executive Summary of the. Culture Behind TPS http://icos.groups.si.umich.edu//Liker04.pdf

• Alan Shalloway, Demyhstifying Kanban http://www.netobjectives.com/files/resources/articles/Demystifying-Kanban.pdf

• Aspects of Kanban http://www.methodsandtools.com/archive/archive.php?id=104

• http://www.netobjectives.com/blogs/real-differences-between-kanban-and-scrum

• ScrumBan http://www.eylean.com/Publications

• Presentation by Eric Ries: http://www.gov2summit.com/gov2009/public/schedule/detail/10560

• DevOps: http://dev2ops.org/2010/02/what-is-devops/

13.4.2015 TIE-2210x/Kari Systä 64