Agile från dag 1

Post on 08-May-2015

263 views 4 download

Transcript of Agile från dag 1

Använd Agile från dag 1 - starta med lättrörlig

kravhanteringMicael ÅkessonArne Åhlander

I samarbete med:

Intro

• Agile från dag 1 – vad menas?• Hört om Scrum• Lättrörlig kravhantering• Strukturerad kravhantering

- ett komplement till Agile• Frågestund• Summering

“It’s easier to act your wayto a new way of thinkingthan to think your way

to a new way of acting.”

Jeffrey Liker

Var kan vi börja?

• Dagligt möte• Samlokalisering• Tillvägagångssätt

– Continuous Integration– TDD

• Kontinuerlig återkoppling

12 Agile Principles• Our 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.

• 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.

• 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.

• 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.

Our 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 changefor 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.

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

Working software is the primary measure of progress.

Continuous attention to technical excellence and good design enhances agility.

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

Hört om Scrum

Jag bryr mig inte om hur ni

arbetar, bara ni levererar.

Mitt team har högre velocity än

ditt

Vi är speciella

Utgå från existerande team

Hur kan vi stödja teamen på bästa sätt?

Detta var mer än vad jag

sett tidigare

Lättrörlig kravhantering

Agile är INTE …

• en ursäkt för att skippa dokumentation

• en möjlighet att hoppa över planering

• allmänhetens åkning avseende tillägg av krav

• att blint tillämpa ”best practices” oavsett om de fungerar eller inte i er situation

Agile deals with

• Ziv's law - specifications will never be fully understood [1]

• Humphrey's law - the user will never know what they want until after the system is in production (if then) [2]

• Wegner's lemma - an interactive system can never be fully specified nor can it ever be fully tested [3]

• Langdon's lemma - software evolves more rapidly as it approaches chaotic regions (without spilling over into chaos) [4]

• Identifiera först, bygg sedan

• Tillräckligt med detaljer och ”Just in time” för att kunna implementera

Agil (lättrörlig) produktledning

• Fokuserar på kontinuerlig– nedbrytning och förfining av kraven

– prioritering av kraven

– kommunikation med utvecklingsteam

– kommunikation med kunder och intressenter

Gemensamma drag

• Representera intressenter

• Erbjuda förklaring och detaljering av kraven

• Ordna och prioritera kraven

• Arbeta tätt tillsammans med utvecklingsteam

• Har sista ordet avseende acceptans av produkten

Problemdefinition vid projektstart

Produktspecifikationer Hur mycket information finns formaliserat om den tänkta respektive den faktiska produkten vid projektstart?

Problemdefinition- krav i vattenfallsmetodik

Concept Study

Feasibility Study

Execution

Test

Customer Project 1

Krav

Krav

Krav

Krav

Krav

CCB

Vad en lärobok i kravhantering inte berättar…….

• Dolda Agendor?• Teknisk Skuld?

• Hur kommuniceras kraven?

• Hur hanteras motstridiga krav?

• Hur uppmuntras en godteamkänsla i kravhanteringen?

Strukturerad kravhantering – ett komplement till Agile- informationsflöde

Who are the usersof a product?

As a <User Role>, I want <Functionality>,so that <Benefit>

Customer Acceptance Test

User Story Feature/Function Test

Feature affärsnytta Specificationby Example

Exekverbartestdokumentation

Utmaningar för lättrörlig kravhantering

• För att fånga kraven, kör gärna Spec Sprintar!

• Se inte kraven som isolerade öar, de hänger ihop!

• Välj en lämplig prioriteringsmetod för kraven

• Fokusera på kraven som skapar kundnytta (värde)

• Undvik budbärare av krav, jobba istället nära källan, där kraven skapas (produktledning, design, test, etc.)

Requirements Abstraction Model (RAM)

This model is based on ”best industrial practice”. The model is developed in a research project in collaboration with Danaher Motion, ABB Corporate Research and School of Engineering, Blekinge Institute of Technology.

Roles and RAM

Company LevelStrategy

Product

Feature

Function

Product Level (goal)

Feature Level(features)

Function Level (functions)

Feature: a service that the system provides to fulfill one or more stakeholders needs

Function: when the user does x, the system will do y, action oriented (to be used forestimation and as input to development)

Product strategies, long and short-term goals, roadmaps and visions

Component Component Level

Component: to be used for impact analysis or action list

Product OwnerTeam

ScrumTeam

Frågor

Summering

• Agile innebär ofta nya tankebanor• Fast vi kan inte tänka fram förändringar

– Börja göra• Lättrörlig kravhantering:

– Tillräckligt med detaljer– Just-in-time

• Agile kan kompletteras– Speciellt i större organisationer

Tack!

micael@requirementsandsolutions.searne.ahlander@aqqurite.se

I samarbete med:

Notes

• [1] H. Ziv and D.J. Richardson, May 1996. See http://www.ics.uci.edu/~ziv/papers/icse97.ps

• [2] Watts S. Humphrey, A Discipline for Software Engineering, Addison-Wesley, 1995.

• See http://en.wikipedia.org/wiki/Watts_Humphrey• [3] Peter Wegner, Why interaction is more powerful than

algorithms, Comm. of the ACM, May 1997.• See

http://www.cs.brown.edu/people/pw/papers/ficacm.ps• [4] W. B. Langdon. See also

http://www.cs.ucl.ac.uk/staff/W.Langdon/

Litteraturtips

Från Arne• Essential Scrum: A Practical Guide to the Most Popular Agile Process (Kenneth S. Rubin)http://amzn.com/0137043295 • Agile Retrospectives – Making Good Teams Great(Esther Derby and Diana Larsen)http://tinyurl.com/8amwq6

• The Software Project Manager's Bridge to Agility(Michele Sliger, Stacia Broderick)http://amzn.to/awCcxx

• Management 3.0: Leading Agile Develepors, Developing Agile Leaders (Jurgen Appelo)http://tinyurl.com/6gt8b72

• Detta är Lean - lösningen på effektivitetsparadoxn(N. Modig, P. Åhlström)http://tinyurl.com/cxakwhk

Från Micael• Specification by Example av

Gojko Adzichttp://gojko.net