Agile Sw Development

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Agile Sw Development as PDF for free.

More details

  • Words: 2,498
  • Pages: 40
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

EXAMPLE OF AN INNOVATIVE LEAP - 1 •Due to the adoption of an agile production frame, F-Secure's mobile division in a new product development achieved § 3x reduction in lead-time, § 50x better quality, and § 5x cheaper! •Innovative leap due to the acceptance of radical variation in product development & management processes "From the management point of view, the

Fact corner: results were amazing." - SME of 250 developers Jari Still, Director, F-Secure, Finland - Mobile & desktop sw 1.12.2005 (C) VTT Electronics, Pekka AbrahamssonAGILE-ITEA Newsletter #2,2 2005 - Products sold globally

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

EXAMPLE OF AN INNOVATIVE LEAP - 2 •The use of diverse agile solutions lead Philips to: •Productivity: 8x Faster than industry average •Quality: 3.5x Better than industry average •Customer satisfaction: 4.9 in 5 point scale •Softfab, Rapid7, reflection, sprints, … from the agile toolbox Fact corner: - 400+ Kloc - 17.5 person years/1year 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

3

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

INNOVATIVE LEAP EXPLAINED •"The actual processes adopted were neither novel nor particularly inventive. Rather they had the virtues of being easy to explain and relatively easy to comply with, with goals easily describable as having been met or not." Ward et al. (2001)

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

4

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Part I: Agile philosophy & rationale

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

5

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

HISTORICAL PERSPECTIVE •Software Crisis (1960’ s) - Software intensive systems delivered late, over budget and do not meet the quality requirements •Solution attempt #1: Structured Methods (in 1980’ s) •Solution attempt #2: Object-oriented methodologies •Chronic Software Crisis (1990’ s) - Software intensive systems still delivered late, over budget and do not meet the quality requirements •Solution attempt #3: Software process improvement •Solution attempt #4: Agile development methodologies

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

6

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FEATURE USAGE RATE Always 7% Often 13 % Never 45 %

Sometimes 16 %

Rarely 19 %

Fact corner: > 60% features never or rarely used!

Source: Jim Johnson of the Standish Group, Keynote Speech XP 2002

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

7

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

HOW AGILE CAN YOU BE?

Size (# of personnel)

Fact corner: Agile is not an absolute 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson Concept.

Source: Boehm & Turner (2003) 8

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

AGILE THINKING EXPLAINED

Need to respond to constant changes Values Principles Practices

Fact corner: There is no definite set of agile practices.1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

The fundamental reason for a “new” paradigm Defines the set of most important beliefs of what is truly important Defines a set ways to meet the values Defines in detail how this is implemented in practice 9

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

AGILE VALUES…

Fact corner: Agile manifesto is first of its kind in software 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson Source: www.agilemanifesto.org 10 engineering field

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

THE 12 AGILE PRINCIPLES (1/3) DESCRIPTION 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’ s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale. 4. Business people and developers must work together daily throughout the project Fact corner: See principals as “thinking-tools” 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

SUMMARY 1. Satisfy customer through early and frequent delivery. 2. Welcome changing requirements even late in the project. 3. Keep delivery cycles short (e.g., every couple of weeks). 4. Business people and developers work together daily throughout the project.

11

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

THE 12 AGILE PRINCIPLES (2/3) 5. Build project around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

5. Build projects around motivated individuals.

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

6. Place emphasis on face-to-face Communication.

7. Working software is the primary measure for progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

7. Working software is the primary measure of progress.

8. Promote sustainable development pace.

12

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

THE 12 AGILE PRINCIPLES (3/3)

9. Continuous attention to technical excellence and good design enhances agility.

9. Continuous attention to technical excellence and good design.

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

10. Simplicity is Essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflect on how to become more effective, then tunes and adjusts its behavior accordingly. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

11. The best results emerge from self-organizing teams.

12. Team reflects regularly where and how to improve.

13

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

What has improved? (Asked from the industrial developers)

Iteration planning Estimation skills Communication

Responsibility

Fact corner: Agile methods improve communication! 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

14

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Part II: Existing agile software development approaches

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

15

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

EXISTING AGILE METHODS •Methods for agile software development: - Agile software process model [Ayoama, 1998] - Adaptive Software Development [Highsmith, 2000] - Crystal Family of Methodologies [Cockburn, 2000] - Dynamic Systems Development Method [Stapleton, 1997] - Extreme Programming [Beck, 1999] - Feature-Driven Development [Palmer & Felsing, 2002] - Lean software development [Poppendieck x 2, 2003] - Scrum [Schwaber, 1995; 2002] - … the list is growing every year… •Combination of approaches: - Agile Modeling [Ambler, 2002] Fact corner: - Internet-Speed Development [Cusumano & Yoffie, 1999; Only 3 out of 9 Baskerville et al., 2001; Truex et al., 1999] Methods has - Pragmatic Programming [Hunt & Thomas, 2000] Empirical evidence

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

16

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

AGILE PRACTICES: THE TOOLBOX XP

Scrum

Crystal

Product backlog

2

Planning game Small/short releases

Effort estimation

Staging Revision and review

3

Metaphor

Sprint

Monitoring

4

Simple design

Sprint planning meeting

Holistic diversity

5

Testing

6

Refactoring

7

Pair programming

8

Collective ownership

1

Sprint backlog Daily scrum meeting Sprint review meeting

Methodologytuning technique User viewings Reflection workshops

Agile practices FDD DSDM ASD Domain object Active user Iterative modelling involvement development Developing by Teams must be Feature-based feature empowered.. planning Individual class … frequent Customer focus(code) ownership delivery group reviews Fitness for business purpose… Feature teams Iterative and incremental development Inspection All changes are Regular builds deversible Configuration Requirements are management baselined… Progress reporting

Continuous 9 integration 10 40-hour week 11 On-site customer 12 Coding standards 13 Open workspace 14 Just rules 15 16

Testing is integrated … A collaborative and cooperative approach shared by all stakeholders

Lean Seeing waste Value stream mapping

Perceiced integrity Conceptual integrity

Feedback

Refactoring

Iterations

Testing

Syncronization Set-Based Development

Measurements

Options thinking The last responsible moment

Making decisions Pull systems Queuing theory Cost of delay Self determination Motivation Leadership Expertise

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

17

Contracts

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SOURCE FOR AN OVERVIEW OF AGILE METHODS •Titled “Agile software development methods: Review and analysis”, 2002 •A VTT series publication freely available from http://agile.vtt.fi •For each method the following aspects are described: - Purpose & motivation - Roles & responsibilities - Development process - Development practices - Current status & known limitations 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

18

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Part III: The Mobile-D™ for mobile software

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

19

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FORMATION OF A BASELINE: REQUIREMENTS FOR A GOOD SOFTWARE DEVELOPMENT PROCESS •The development process should •provide systematic support for high quality software development (Production frame) •be designed for small (and medium) sized development teams (Most teams are small) •produce visible results early (Early validation) •be easy to learn, transparent, straightforward and adjustable (= makes sense) •provide a fit to company’ s strategic planning (= aligned with the business) •meet the needs of standard quality requirements (= be convincing to us & customers) 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

20

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

NEW PROGRAMMING ENVIRONMENT End-users

Provides value

Customer Learns needs

Benefits Shares end-user needs & business requirements

Coach / Mentor

Software development activities, tools, people

delivers

Results: Working software, rapid delivery, high business value

supports

Removes obstacles

Management

Learning

State-of-the art methods Process definitions

Training

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

- Daily feedback from the developers - Communication - Collaboration 21

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MOBILE-D™ FOR MOBILE SOFTWARE •Concept: An 8-week agile development rhythm •Mobile-D™ is based on Extreme Programming (practices), Crystal methodologies (scalability) and Rational Unified Process (coverage) •Designed to meet the specific characteristics of mobile software development & industry quality standards •Designed for < 10 developers working in (close to) co-located office space •Pattern-based version: http://agile.vtt.fi/mobiled/mobiled.htm 1 WEEK

EXPLORE SET-UP

2 WEEKS

CORE

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

2 WEEKS

CORE-2

2 WEEKS

1 WEEK

STABILIZE WRAP-UP 22

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

AGILE PROGRAMMING ENVIRONMENT: THE WARROOM APPROACH

Fact corner: Software development 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson Is not solo business

23

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

THE PRINCIPAL ELEMENTS OF MOBILE-D •Requirements: Off-Site Customer •Planning: Phasing and pacing in Planning Day •Modeling: Agile modeling •Architecture: Architecture Line •Metrics: Time, size and defect •Documentation: RaPiD7-method •Improvement: Agile Software Process Improvement •End-users: User-Centred Focus •Testing: Mobile Test-First development 1 WEEK

SET-UP

2 WEEKS

CORE

2 WEEKS

2 WEEKS

1 WEEK

CORE-2

STABILIZE

WRAP-UP

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

24

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT

INCREMENT HEARTBEAT

4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004)

1 WEEK

MobileD

SET-UP

2 WEEKS

CORE

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

2 WEEKS

2 WEEKS

1 WEEK

CORE-2

STABILIZE

WRAP-UP

25

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT

INCREMENT HEARTBEAT

4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004)

1 WEEK

MobileD

SET-UP

2 WEEKS

CORE

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

2 WEEKS

2 WEEKS

1 WEEK

CORE-2

STABILIZE

WRAP-UP

26

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT

INCREMENT HEARTBEAT

4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004)

1 WEEK

MobileD

SET-UP

2 WEEKS

CORE

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

2 WEEKS

2 WEEKS

1 WEEK

CORE-2

STABILIZE

WRAP-UP

27

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT

INCREMENT HEARTBEAT

4 CYCLES OF CONTROL

RELEASE PLANNING DAY DAY WORKING DAY MobileD

SET-UP

CORE

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

CORE-2

WRAP-UP 28

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Mobile-D: The daily heartbeat PLANNING DAY

1 WEEK

SET-UP

2 WEEKS

CORE

WORKING DAY

RELEASE DAY

2 WEEKS

2 WEEKS

1 WEEK

CORE-2

STABILIZE

WRAP-UP

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

29

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

ITERATION BACKLOG PRODUCT BACKLOG

INFORMATION RADIATOR IN THEORY DEFINED

STARTED

DONE

ITERATION STATUS

VERIFIED

PRODUCT STATUS

FINISHED PRODUCT

FEATURE1 FEATURE3

TASK TASK3.N TASK

TASK3.N TASK

TASK 3.N

TASK 3.N FEATURE2

FEATURE4

TASK TASK TASK4.N TASK

FEATURE FEATURE FEATURE FEATURE FEATURE FEATURE

FUTURE BACKLOG

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

30

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

INFORMATION RADIATOR IN PRACTICE

Project team in a daily stand-up meeting

Customers and project managers working together

Fact corner: Information Radiator Is one of the most spread “Big boss”at the airport agile practices 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

31

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Part IV: Empirical cases

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

32

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Some empirical evidence Mobile service: Active investor

Mobile added value: Stockbroker

Mobile added value: Sales person

Fact corner: 9 projects completed 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 1 projects underway

33

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

3 CASE PROJECTS Velocity in terms of implementation (design+code+test) Task effort allocation (Case average)

Percemtage of total effort

60 % 50 %

2,0 %

40 % 48,4 %

44,4 %

30 %

3,0 % 8,1 % 5,5 %

10,7 %

Defect fix 35,3 %

9,8 % 25,1 %

20 %

Enhancement

8,6 %

New feature 21,1 %

10 % 0% 1

2

Fact corner: Explicit quantified process control, i.e. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson CMMI 5 level issues

3

4

5

34

RELEASE

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

What is not working in the process? 282 problems in the development process… 45 40 35 30

# of negative issues

Project 1

25

Project 2 Project 3 Project 4

20

Project 5

15 10 5 0

Fact corner: 1 2 5 projects, 50 person months 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

3

4

# two-week work cycles 35

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

What is working in the process? 342 positive remarks in the process.. 45 40 35

# of positive issues

30 Project 1

25

Project 2 Project 3 Project 4

20

Project 5

15 10 5 0

Fact corner: 1 2 People seldomly share 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson what is going well!

3

4

# two-week work cycles 36

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

BUT, BE AWARE OF THE NEW DEVELOPMENT TECHNOLOGIES 20,0

TRADITIONAL UI a)

Lost hours

n=97 10,0

0,0

R1

-10,0

Lost hours

20,0

b)

- The same "rethought" process used - With theR2new technology: R3 R4 R5 65% savings in effort 50% reduction in the lead-time Traditional mobile platform NAKED OBJECTS 79% reduction lines-of-code = effort in 1070 hours, 8 weeks n=35

10,0

0,0

R1 -10,0

R2

Naked Objects framework = effort 380 hours, 4 weeks, 79% less app. code

Source: Keränen & Abrahamsson, Euromicro 2005 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

37

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Part IV: Future & conclusions

1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

38

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FUTURE

•Agile hype is getting to be over (good news) •XBreed, Freedom and other interesting agile methods will still keep emerging •Yet, how to become more agile is the question now •Before it was more concentrated on extreme programming •Empirical evidence is quickly building up •Agile becomes part of standardization work as well: Working group for IEEE 1648 (recommended practices) 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

39

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

THANK YOU! Questions and comments? Contact me at: [email protected] http://agile.vtt.fi XP2006 will be organized in Oulu, Finland 17.6.-22.6.2006 featuring Kent Beck, Barry Boehm and others. Go check out www.xp2006.org 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson

40

Related Documents