• No results found

Agile Software Development

N/A
N/A
Protected

Academic year: 2021

Share "Agile Software Development"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Agile Software Development

Dr.-Ing. Thomas Stober

Release Architect, WebSphere Portal IBM Deutschland Entwicklung GmbH

(2)

IBM Software Group

2

Agenda

ƒ

Introduction WebSphere Portal

About the team, the product …

.. and the traditional development approach

ƒ

Agile Software Development

A variety of approaches

ƒ

Mix and Match

Agile development for Portal

Best practices

(3)
(4)

IBM Software Group

4

About WebSphere Portal: The Team

ƒ

Global development

8 major locations

ƒ

Multiple delivery streams

Major releases every 1 ½ years

Express

Fix packs

ƒ

Other product dependencies

WebSphere Application Server

WebSphere Process Server

Quickr

And many more …

Boeblingen

Boeblingen

Haifa

Haifa

Westford

Westford

Raleigh

Raleigh

Beijing

Beijing

India

India

Sidney

Sidney

Yamato

Yamato

(5)

About Portal: Traditional Development Approach

ƒ

Portal Development Process

Description, HOW to develop

Analysis

ƒ Requirements

Design and Development

ƒ Line Items

ƒ Design Documentation

ƒ “DCUT” Design-Code-Unit-Test

Test

ƒ Test scenarios

ƒ “IUT” Integrated Unit Test

ƒ “FVT” Function Verification Test

ƒ “SVT” System Verification Test

ƒ Final regression testing

ƒ

ƒ

Management System

Commitment, WHAT has to be developed

“IPD” Integrated Product

Development

“DCP” Decision Check Points

ƒ Concept

ƒ Plan

ƒ Availability

Release Content

(6)

IBM Software Group

6

About Portal: Traditional Development Approach

Coding complete

The Perfect Plan

Golden Master

Develop

Analysis

(7)

The Perfect Plan …

… Does NOT Exist !

If anything can go wrong, it will. Murphy‘s Law

Human life is just an instance,

(8)

IBM Software Group

8

Waterfall Approach: Getting Tougher Towards the End

Coding complete

The Perfect Plan

Golden Master

Develop

Analysis

Test

$

t

Fehlerkosten Kosten/Umfang Zeit Qualität
(9)

When Everybody gets

really

nervous …

Coding complete

Develop

Test

20051102 20051109 20051116 20051123 20051130 20051207 20051214 20051221 20051228 20060104 20060111 20060118 20060125 20060201 20060208 20060215 20060222 20060301 20060308 20060315 20060322 20060329 20060405 20060412 20060419 20060426 20060503 20060510 20060517 20060524 20060531 0 2000 4000 6000 8000 10000 12000 14000 0 2000 4000 6000 8000 10000 12000 14000

Total & Valid Defects

Projected Defects Projected Valid Actual Defects Actual Valid Total Backlog GM

Plan: Test complete

(10)

IBM Software Group

10

The Vasa Project, 1628

http://www.vasamuseet.se

(11)

… but has its limits

ƒ

Accept uncertainty

There is no perfect plan

Customer does not know or describe his requirements clearly enough

Technical solution is not entirely understood

Errors in design and implementation can invalidate plans

Changes in team are possible at any time

Change of customer requirements and your priorities are possible at

any time

ƒ

Risk Management

The most dangerous events are those which are not predictable

Plan for Change!

Planning is good …

It ain't what you don't know that gets you into trouble.

(12)

®

IBM Software Group

© 2007 IBM Corporation

Agile Software Development

(13)

What is Agility?

ƒ

React to changing requirements and constraints

ƒ

Balance

between Flexibility and Structure

Within your organization

During planning and execution

When using processes and tools

In your mentality

(14)

IBM Software Group

14

Agility: Keep the balance between predictable

Structure and total Flexibility (I)

ƒ

Flexibility is good, but no for free!

Airline Tickets are cheaper when you commit to your destination and

travel dates early! Same is true for product features

ƒ

Provide best possible guidance and planning!

Don’t use “Agility” as an excuse for lack of planning and design

Establish high-level goals and timelines

Keep risks in mind and have mitigation plans ready

(15)

Agility: Keep the balance between predictable

Structure and total Flexibility (II)

ƒ

Understand two fundamental cultural patterns

according to Edward T. Hall, http://en.wikipedia.org/wiki/Edward_T._Hall

Monochronism demands a planned, deliberate control over time.

ƒ This is a task-oriented way of living. Individuals like to identify time periods when certain activities will be done. Their strengths may be utilized in

developing schedules whose exactness and precision allows workers to function in a cooperative manner.

ƒ It 's efficient for getting things done and it dominates most parts of the US and other industrialized countries.

Polychronism is the perception of time as merely a context in which we live.

ƒ Tasks are handled as they come. Such jobs require that the individuals constantly adjust to incoming new jobs and responsibilities. They enjoy change as part of their job (and) changing from one activity to another is the part of this pattern.

ƒ This is a relationship-oriented way of living. It's efficient for building

community, personal, and social relationships, and it dominates Asia, as well many rural areas.

(16)

IBM Software Group

16

IBM’s definition of Agile Development

“Uses continuous stakeholder feedback to deliver high-quality and

consumable code through use cases and a series of short, time-boxed

iterations.”

Key Features:

Stable

code at the end of each iteration

Æ be able to “ship” every few weeks

Meaningful

stakeholder

interaction

Æ get customer feedback – outside-in-design.

Æ Avoid anything that does not add value (waste).

Trust

the team

Æ delegate responsibility

Æ establish teams responsible for end-to-end functionality (reduce hand-offs and task switching)

(17)

Mix and Match:

(18)

IBM Software Group

18

Horizontal Teaming

Theme & Component Matrix

Components

Æ

Å

Themes

Infrastr. CMAPI Security Test

Owner Owner Owner Owner

Owner Owner Owner Owner Horizontal (=„Tiger“) -Teams major cross-cutting themes. component affinity. Organizational Focus Goal/Delivery Focus

Test

(19)

Translating Customer Requirements into

Vision/High Level Goals

Customer

I want a really cool user interface,

which is state of the art

I want to leverage the most recent

WAS as the common platform within my company

Leadership Team

- Create a new User Interface - Support WAS 6.1

Prioritization Strategy planning Release planning

Budget allocation /staffing High level use cases

ÆDeliver a release in 3Q07, and another in 1Q08 ÆInvest 5 people to create a new User Interface ÆInvest 4 people to support WAS 6.1

Decision

(staffing, rough timeframe and high-level goals)

Vision

(20)

IBM Software Group

20

Stabilization Points ÆDeliver a release in 3Q07, and another in 1Q08

ÆInvest 5 people to create a new User Interface ÆInvest 4 people to support WAS 6.1

Decision

(staffing, rough timeframe and high-level goals)

Translating Vision/High Level Goals into

actual Requirements/Line Items

Translating high-level goals into technical requirements and line items

Leadership Team

ÆInvest 5 people to create a new UI

ÆInvest 4 people to support WAS 6.1

High-level goal Discussion

Timeframe Discussion

ÆLeverage Ajax ÆMove from WMM to VMM ÆJava 5.0 compliance

Tiger Team Leads

ÆDeliver a 6.0.2 release in 3Q07 and a 6.1 release in 1Q08 GM Release 6.0.2 Inception Teamcharter Requirements HCDD, Test plan Efforts Staffing Priorities Teamcharter Requirements HCDD Test Plan Efforts Staffing Priorities

Content (requirements and plan outline)

INCEPTION --- STEP 2:

GM Release 6.1 StabilizationPoints (Iteration Exits) Decision Æ Content
(21)

Create an Iteration Plan

Teamcharter Requirements HCDD Test Plan Efforts Staffing Priorities Teamcharter Requirements HCDD Test Plan Efforts Staffing Priorities

Leadership Team

Line itemLine item Line item Line item Adjust … Vision, Decision (staffing/timeframe/goals) … when necessary Adjust … priorities, requirements line items

… when necessary

Tiger Team

Create a Plan

... based on given timeframe ... based on given goals

... based on agreed teamcharter

Line item Line item Line item Line item Work for a future release Iteration Plan … - agile, adaptive

- strategic cross-release thinking - includes Dev and Test work items

Working …

- use case driven, - decentralized,

- within given high level goals - in horizontal teams

Content

(requirements and plan outline)

GM Release 6.0.2 GM Release 6.1 StabilizationPoints (Iteration Exits) Test

Scen. Scen.Test

Test Scen. Test Scen. Test Scen. Test Scen. Line item Line item

(22)

IBM Software Group

22

StabilizationPoints (Iteration Exits)

Executing an Iteration Plan

Teamcharter Requirements Line Items HCDD Test Plan Efforts Staffing Priorities Teamcharter Requirements Line Items HCDD Test Plan Efforts Staffing Priorities Line itemLine item Line item Line item Line item Line item

ELABORATION, CONSTRUCTION --- STEP 1:

Tiger Team Leads

Line item Line item Line item Line item Work for a future release

Iteration Plan (Line Items for execution)

Actual Code in CMVC streams

Common CMVC Rel. 6.0.2

GMRelease 6.0.2 GM

Release 6.1 Release Closure Design Design Design Design Future Release Tracking Status PCR Adjustment (when necessary)

Release Management

Common CMVC Rel. 6.1

ReleaseClosure Design Design

Monitoring

Plan Æ Code Test Scen. Test Scen. Test Scen. Test Scen. Test

Scen. Scen.Test

(23)

Deliverable

Quality Assessment Common CMVC Rel. 6.0.2

Release Closure

Line itemLine item Line item

Tiger Teams

Iteration Exit Quality Assessment

Release Management

StabilizationPoints Line item Line item Line

item Lineitem

Line item Line item Line item Work for a future release

Acceptance

Release

Good Driver Iteration Exit Iteration Exit Iteration Exit Test Scen.Test Scen. Test Scen. Test Scen. Test Scen.Test Scen. Test Scen.Test Scen. Test Scen.Test Scen. Good Driver Extended FVT GVT TVT SVT Final Regr IUT IUT GM

Test Teams

Quality Assessment

Deliverable

Perf. Testing
(24)

IBM Software Group

24

Example: The Web 2.0 Tiger Team (I)

09/2006

Mission defined Initial Team staffed

03/2007

Mission updated

Plan aligned with Portal V6.0.2

Demo of Prototype on Greenhouse Demo at LotusSphere 09/2007 Mission updated

Plan aligned with Portal V6.1

Early Delivery as Portal V6.1 Beta GM Delivery as Portal V6.1 Beta 05/2008 (plan) Mission completed:

GM Delivery with Portal V6.1

REST Services

Basic Client Side Theme Demo Portlets

Drag&Drop Themes & Skins Back Button

Semantic Tagging

Client Side Programming Model

AJAX Proxy, Access Control Property Broker

Accessability and I18n

Leadership

Team

Web 2.0 Tiger Team

Go als Bu sine ss Sc en ari os Engine Business Portlets Business Portlets Portlet Container Admin UI Test Project Mgnt

(25)

Summary and

Best Practices

(26)

IBM Software Group

26

Agile Development

ƒ

Outside In Design

ƒ

Test driven based on use cases

ƒ

Think horizontally across Organizations

ƒ

Sustainable Pace

ƒ

Continuous integration of code

ƒ

Stabilization points

ƒ

Prototyping and early customer feedback

ƒ

Learn as we go

ƒ

Allow teams to stay focused

ƒ

It‘s a lot about philosophy

ƒ

There is NO general rule

ƒ

Mix and Match is common

ƒ

Accept that

Change

is part of your plan

(27)

Critical for Success: Management Responsibility

ƒ

Initiate

Tiger Teams

early

with staffing based on the budget decided

ƒ

Provide sufficient

guidance

to the teams:

Provide a “feature grid” and a “timeline grid”

Æ Communicate a well defined overall Vision and high level Goals

Æ Communicate a rough timeline in which deliverables are expected

Æ Make clear and timely decisions

Æ Balance detailed goals versus flexibility

ƒ

Delegate

responsibility

to the teams

Teams do detailed planning and prioritization of Line Items within the given High Level Goals

Æ they are the subject matter experts

Æ they have the authority to act within give guidance and goals

Allow teams to focus on making progress

(28)

IBM Software Group

28

Critical for Success: Planning Responsibility

ƒ

Support

Agility

Do not overcommit a Tigerteam

Æ Only commit to really important “must-have” work items.

Æ Don’t be too aggressive. Be realistic.

Drive Content based on use cases and customer value

Plan for test coverage and execution (automation!!)

Anticipate changes throughout the project and be prepared to adapt to changes

Stick to schedule/iteration length, but rather move content around (“time boxing”)

ƒ

Avoid

excessive use of

Agility

Change is good! But it doesn’t come for free

Allow the team to stay focused

Æ Keep overall vision, high level goals and rough timeline as stable as possible

Allow the team to execute

Æ Limit re-planning exercises, unless absolutely necessary

Æ Avoid team members being side-tracked

Allow the team to gain a common team spirit

(29)

Critical for success: Collaboration

ƒ

Collaborate

across component and location boundaries

ƒ “We” = Tiger Team

– Avoid constantly changing team members – Ensure a reasonable staffing

ƒ Integrate test and development members

– Common goals

– Exchange of expertise

– More effective, quicker defect turnaround

ƒ Integrate team members across locations and organizations

– We are a globalized company

ƒ End-to-End thinking based on use cases

– Out of the box thinking

– Responsibility for customer value rather than component function

ƒ Ensure component consistency and quality

(30)

®

IBM Software Group

© 2007 IBM Corporation

Your Questions, please ...

References

Related documents

The preliminary AA-QS values derived in this publication for both the fresh water and Baltic sea were compared for those five active substances and one metabolite that have

A brief description of another sustainability publication or outreach material not covered above (1st material): University Communications & Marketing has a reporter assigned to

13 Administration 2015 2019 Affordable Housing Public Housing Homeless Non-Homeless Special Needs Non-Housing Community Development TUCSON, AZ Citywide Decent

2 Medical Devices Involving Software Many medical devices are not electrical, even fewer are electronic, and even fewer involve software. However medical device software

Major themes included texting habits, strategies and past relationships that molded one’s texting identity, the positive and negative language used in texting discourse, the effects

• Nervous system signs (such as dullness, seizures) caused by accumulation of ammonia in the system, due to inability of the liver to rid the body of ammonia (condition known

These measures include: the organization of Training of Trainers (ToT) workshops, development of aptitudes in the detection and quantification of aflatoxin levels,

Mitra Abadi Sejahtera belum pernah membuat laporan keuangan untuk kegiatan operasional perusahaan dan oleh karena keterbatasannya data untuk tahun 2007, 2008, dan