tarkvaratehnika agile methods väledad meetodid · tarkvaratehnika agile methods väledad meetodid...

25
Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi [email protected]

Upload: others

Post on 16-Jul-2020

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

Tarkvaratehnika

Agile MethodsVäledad meetodid

Erik Jõ[email protected]

Erik Jõ[email protected]

Page 2: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Tarkvaraarenduse protsess?

Page 3: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

“Traditsiooniline” tarkvaraarendus

Understanding and writing specifications that define how the software will look and what it will do

Performing in-depth analysis and design work before estimating development costs

Ensuring software developers follow the specifications

Testing the software after implementation to make sure it works as specified

Delivering the finished result to the user

That is if the specifications is of sufficient detail then the software will be written such that it will satisfy the customer, will be within budget and will be delivered on time.

Page 4: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

The Standish Group Report – 1995“The Chaos Report”31.1% of projects will be cancelled before they ever get completed

52.7% of projects will cost 189% of their original estimates

The failure to produce reliable software to handle baggage at the new Denver airport is costing the city $1.1 million per day

In 1995 American companies and government agencies will spend $81 billion for cancelled software projects

Only 16.2% of software projects are completed on-time and on-budget

Projects completed by the largest American companies have only approximately 42% of the originally-proposed features and functions

Page 5: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Agile!

Page 6: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Veidi ajalugu

~1950

Toyota Production System

Just-in-Time Flow – Nonstock Production

Autonomation – Stop-the-Line Culture

Lean Manufacturing/Lean Operation

Page 7: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Tarkvaraarenduse areng

1995-2001

eXtreme Programming – XP

Scrum

Lean

Crystal

DSDM

Pragmatic

FDD

Page 8: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Manifesto for Agile Software Developmentwww.agilemanifesto.org

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.

Page 9: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Principles behind the Agile Manifesto1/4Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Page 10: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Principles behind the Agile Manifesto2/4

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Page 11: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Principles behind the Agile Manifesto3/4

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Page 12: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Principles behind the Agile Manifesto4/4

Simplicity – the art of maximizing the amount of work not done – is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 13: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Adaptive vs. Predictive

Adaptive methods focus on adapting quickly to changing realities. When the needs of a project change, an adaptive team changes with it. An adaptive team will have difficulty describing exactly what will happen in the future. The further away a date is, the more vague an adaptive method will be about what will happen on that date. An adaptive team can report exactly what tasks are being done next week, but only which features are planned for next month.

Page 14: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Adaptive vs. Predictive

Predictive methods focus on planning the future in detail. A predictive team can report exactly what features and tasks are planned for the entire length of the development process. Predictive teams have difficulty changing direction. The plan is typically optimized for the original destination and changing direction can cause completed work to be thrown away and done over differently. Predictive teams will often institute a change control board to ensure that only the most valuable changes are considered.

Page 15: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Communication

Page 16: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

eXtreme Programming – XP

Page 17: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

eXtreme Programming – XP

Embrace change – arvesta muutustega

Values:

You need to improve communication

You need to seek simplicity

You need to get feedback on how well you are doing

You need to always proceed with courage

Communication leads to valuable feedback which encourages simplicity which allows for courage to change.

Page 18: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Practices

On-Site Customer

Co-located

Open workspace

Informative workspace

One team

We belong

We are in this together

We support each others’ work, growth and learning

Page 19: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Practices

User stories

Storytelling

Story wall

Short iterations (1 or 2 weeks)

Short release cycles(1-3 months)

Planning game

Programmers give estimations

Customer prioritizes stories

Page 20: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Practices

Daily stand-ups

Programmers sign up for stories

Pair programming

Test-driven development

Simple design (precisely enough design)

Refactoring

Collective code ownership

Page 21: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Practices

Automated acceptance tests

UI level tests

Specified together with customer

Continuous integration

Automated build/deploy

Frequent commits

Page 22: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Practices

Velocity metricsBurndown charts

RetrospectivesKPT - Keep/Problem/Try

Continuous learning

Sustainable paceSlack

Page 23: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

XP Myths

There’s no Design in XPZero DocumentsAll these tests have to slow down developmentSimple Design is only for simple problemsPairing can’t be faster/betterCollective Code Ownership makes all code worse

Corollary: No code reviews = bad code

Team environment is too distractingShould not be used for mission critical projects

Page 24: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

What XP Isn’t

Cowboy Heaven

Bureaucratic

Simplistic/Trivial

Informal

Static

The Silver Bullet

For Everybody

Page 25: Tarkvaratehnika Agile Methods Väledad meetodid · Tarkvaratehnika Agile Methods Väledad meetodid Erik Jõgi erik.jogi@swedbank.ee Erik Jõgi erik.jogi@swedbank.ee

© Swedbank

Be Agile!