Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4
Transcript of Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4
![Page 1: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/34.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/35.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/36.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/37.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/38.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/39.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/40.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/41.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/42.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/43.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/44.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/45.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/46.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/47.jpg)
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 48: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/48.jpg)
licensed under the Creative Commons Attribution-Share Alike 4.0 International Downloaded from wikipedia
13.4.2015 TIE-2210x/Kari Systä 48
![Page 49: Other methods - TUNI · From Celkee tool: Current skills 13.4.2015 TIE-2210x/Kari Systä 4](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/49.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/50.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/51.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/52.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/53.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/54.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/55.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/56.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/57.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/58.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/59.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/60.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/61.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/62.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/63.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070810/5f08f21f7e708231d4247d28/html5/thumbnails/64.jpg)
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