26
corporate quality consulting | Phone: +49 (0) 2241 25021 0 | Mail: [email protected] Kunde Projekt Referent Datum Karlsruher Entwicklertage Stephan Salmann 06. Juni 2013 Agiles Testen in Großprojekten

Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

corporate quality consulting | Phone: +49 (0) 2241 25021 0 | Mail: [email protected]

Kunde

Projekt

Referent

Datum

Karlsruher Entwicklertage

Stephan Salmann

06. Juni 2013

Agiles Testen in Großprojekten

Page 2: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Agenda

Problem

Big Picture of the Solution

Unternehmenspräsentation

Some Detail Views

2

Page 3: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Das Unternehmen

Mission Statement Wir bauen die Brücke zwischen Business und IT

Mitarbeiter

Rolle

Mediator: für ein gemeinsames Verständnis zwischen Business und IT sowie Kunde und Lieferant

Advisor: strategisch und operativ für Analytik und Konzeption

Man of Action: pragmatische und zielorientierte Lösungsumsetzung

0

20

40

60

80

100

120

2005(Gründung)

2007 2009 2011 2013

Hannover

Siegburg

Frankfurt

München

Hamburg

Wien

Zug

3

Page 4: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Fundierte IT-Management Beratung

4

Spezialisten

Freelancer

commodity Leistungen

operativ

strategisch

spezifische Leistungen

Outsourcer

Integratoren

Strategie- berater Wirtschaftsprüfer

corporate quality

Page 5: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Services & Trainings der CQ

IT-Linienmanagement

Enterprise Architecture

Excellence

IT-Portfolio- Management

IT-Produkt- management

IT-Controlling

Geschäftsprozessberatung in ausgewählten Branchen

Programm- & Projekt-

management IT-Architektur

Requirements Management

Test- management

Projektumsetzung im Managed Service Ansatz

Projekt

IT-S

trat

egi

e

Sou

rcin

g &

In

tern

atio

nal

isie

run

g

Go

vern

ance

, Ris

kman

agem

ent

& C

om

plia

nce

Qu

alit

ätsm

anag

emen

t

& P

roze

sse

Trusted Business Communications

Social Media Business Integration

Mobility Solutions Banking Open Enterprise

5

Page 6: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Agenda

Problem

Big Picture of the Solution

Unternehmenspräsentation

Some Detail Views

6

Page 7: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Conway´s Gesetz

Bedeutung für 3 Teams:

1. Drei Teams implizieren 3

Haupt-Software-Systeme

2. Es sind 3 Team-

Kommunikationen notwendig

7

Bedeutung für 17 Teams:

1. Zehn Teams implizieren 10

Haupt-Software-Systeme

2. Es sind 136 Team-

Kommunikationen notwendig

Die Kommunikation zwischen den

Hauptsystemen ist, nur so gut wie die

Kommunikation zwischen den Teams.

(𝑛 − 1)𝑛

2

Page 8: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Options for large scale agile Projects

8

Comuni-

cation

Steering Meeting

structure

Integration of

results

Scale effects

Option 1: one big

Agile Team

-- (many to many)

-- (missing roles

and hierarchy)

-- (to many

participants)

++ ++

Option 2: many

small agile Teams

&. scrum of

scrums

-+ -+ -+ (to undifferent)

-- (individual

procedures and

tools)

-- (in allocation,

architecture,

provisioning)

Option 3: many

small agile teams

with an adequate

program steering

++ ++ ++ (focussed)

++ ++ favorite

approach

How to organize big project with i.e. 30 - 400 team members

Page 9: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Build Problems

Growing complexity of build

Large variety of inconsistent

library versions

Different compiler versions

No staffing flexibility between

agile teams

Functionality

Incomplete

Redundant parts

Integration problems

Fingerpoint between teams

Missing technical/functional fit

No scale effects

technical/functional redundancies,

Tools cost

low staffing flexibility

Large Toolsets

High Maintenance Effort

Our Experience in large scale agile projects using scrum of scrums

9

Defined by individual agile Team

Overall incomplete or redundant

Defined by individual agile Team

High Maintenance costs by the variety of tools

No scale effects

Problems with interoperability (cross functions: PM, SCCM, QM, …)

Software of different teams can not be integrated with a proper

technical or functional fit

The integration is not a goal of an agile team

The integration leads to a fingerpointing between the agile teams

More and more desorientation over time

Specialists for tasks are bounded in Teams

Extensive costs for learning curves when staff is reallocated in

other agile teams

The split in teams serves for a missing view on the big picture so

that technical cross functions are neglected

The steering on the program level is indirect via different roles in

different agile Teams

Focus

of agile

Team

Processes

Tools

Integration

problems

Staffing

flexibility

Functional

Silos versus

Horizontal

functions

Big Problems

Page 10: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Fuzzy Evolution of Functionality in parallel Scrum Teams

cummulative

Functionalities

1. Agile Team

2. Agile Team

3. Agile Team

Overlapping Development

Characteristics:

Redundancies

Incompleteness

Every team chooses

Own Architecture

Own Design

Own Implementation

Own Test

Own Success

……….

Incompleteness !

10

Page 11: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Evolution of oriented Scrum Team Developement (adequate steering)

1. Iteration 2. Iteration 3. Iteration

Cummulative

Functionalities

1. Mandate

2. Mandate

3. Mandate

Characteristics:

No redundancies

Completeness

Every team has

One Major Architecture

Disjoint task set

Integrated Tests

One Success

measurement

1. Agile Team

2. Agile Team

3. Agile Team

11

Page 12: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Agenda

Problem

Big Picture of the Solution

Unternehmenspräsentation

Some Detail Views

12

Page 13: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Sequence of Tests

13

Program-

management

Agile

Team 1

Business

Archi-

tecture

Technical

Archi-

tecture

Programm Governance Advisory

Config.

& Release

Manage-

ment

Integration

Test

Quality

Manage-

ment

Integration Team

Iteration 1

Agile

Team 2 Iteration 1

Agile

Team 3 Iteration 1

Inte

gra

tio

n T

est

Iteration 2

Iteration 2

Iteration 2 In

teg

rati

on

Test

RF

T

RF

T

RF

T

Iteration 3

Iteration 3

Iteration 3

Inte

gra

tio

n T

est

RF

T

RF

T

RF

T

Man

date

M

an

date

M

an

date

copyright by CQ

Ma

cro

La

ye

r

Pro

gra

m/D

om

ian

Mic

ro L

aye

r

Pro

ject/A

pp

lica

tion

ST

Daily Build

RST

Daily Build

RST

Daily Build

RI RI

Accep

tan

ce T

est

ST ST DT

FT

DT

DT

DT

DT FT

FT

FT

FT

DT FT

DT FT

DT FT

DT FT

DT-Developer Test // FT- Functional Test // ST – Smoke Tests // IT – Integration Test // R<X> - Regressiontest

Page 14: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Operating Phase

Delegate

Ressources

Define

Technical

Domain

Architect.

Define

Business

Achtitect.

Setup the Organization

14

Define Major

Business

Capabilities Program Governance Advisory

Integration Team

AgileTeams

Agile Team 1

Agile Team 2

Agile Team 3

Ma

cro

La

ye

r

Pro

gra

m/D

om

ian

Mic

ro L

aye

r

Pro

ject/A

pp

lica

tion

M

M

M In

teg

rati

on

Test

Setup Phase

Man

date

s:

iterative

Page 15: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Path of the agile Solution Development for one Agile Team

Start

Mandates ~

Cones of Freedom

1. Iteration 2. Iteration 3. Iteration

Fu

nctio

nalit

y

Explanation:

Agile Team receives a

Mandate per Iteration

from the PGA

A Mandate consists of

the Application(s) to be

build and the

capabilities of be

realized

As long as the agile

stays in the cone of the

mandate it moves from

sprint to sprint

If it moves outside the

cone, it has to ask for

approval of the PGA

S1

S2

S3 S4

S1 S2

S3

S4

S1 S2

S3

S4

final

Application

S - Sprints Round Tables Mandates (Application/Capabilities) from the PGA

Time

15

Page 16: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Typical (functional) Testprocesses in large scale agile projects

16

Test Task Quality Criteria Test Object Test Basis Layer Team/Role Regression/

Capture

Regression/

Replay

Remarks

Developer Test

DT

functionality Class capability, user

story

Agile Team Developer always, while

testing

dailiy within daily

build & test

procedure

see J Unit;

special

frameworks

Fuctional Test

FT

functionality application in the

definied

integration

degree (per

component)

capability for the

definied

integration set

Agile Team Team

Member/Tester

when sufficient

stability is

reached, mostly

late in sprint

in the same sprint

and selectively in

the forthcoming

sprints (to proof

the stablity of

already

implemented

functionality) -

RFT

reuse of mock

ups and stubes;

utilization of

common

testing tools

Smoke Test

ST

executability Daily Build over

the components

in their released

status; integrity

of added

interfaces

compiler;

selected streams

through the

business process

model

all Agile Teams,

integrated

Testcase:

Developer;

Testexecution:

C&RM-Team

potentially daily,

but selective

potentially daily -

RST

end 2 end tests;

no proof of

correctiveness

Integration Test

IT

interface

integrity; Sematic

Integrity;

correctiveness of

state transitions

Technical Domain

(all applications

of theprogram) in

their defined

integration

degree

business process

model or

business domain

model (including

business objects

& functionality)

Program Layer Integration Test

Team

selective executed in

Integration + 1 -

RIT

end 2 end tests

incl. proof of

correctness

Acceptance Test

AT

functionality (of

the complete

System)

Technical Domain

(all applications

of the program) in

their final

integration

degree

business process

model or

business domain

model (including

business objects

& functionality)

Program Layer Business Units in

their common

organization

no no end 2 end,

incl.proof of

correctness

non functional tests based on the program risk assessment on all integration levels possible (L&P, usability, security, operations tests, …)

Page 17: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Agenda

Problem

Big Picture of the Solution

Unternehmenspräsentation

Some Detailed Views

17

Page 18: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

General Operating Model

18

Enterprise Architecture

Integration Manager

… Project 1 Scrum Master

Project 2 Scrum Master

System Integration Team

Program Manager

M M

M

M

Project Config Mgr.

Business-,Information-, Application-, Integration- Architecture; Release Planning

Release Planning (Components & Capabilities)

Package delivery (Application)

Program CM System

all artefacts checked in & labeled

Baselining Building Packaging

Components of the environment

Run & maintain the environment

Archive (Package, Sripts, Data,…)

Single point of control

Project 3 Scrum Master

Product Owner

Customer

Team End-user

Test Environment Responsible

Page 19: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Integration Team

Orgchart Integration Team

19

Integration

Testmanager

Problem Resolution

Integration

Test Team

Integration Test

Envir. - Mgmt

Config.

& Release

Management

Config

Administration

Build Run the

Environment

Test Data

Deployment

• Test case determination

• Test data definition

• Test execution

• Test evaluation

• Regressions tests (Integration tests)

• Test case sellection

PL

Execution

ST, RST, RFT

• Scheduled Builds

• Build Automation

• CMDB

• Test Automation

• Scheduled Tests

• System

Administration

• System

Deployments

• Preprocess ing

Tickets

• Retrieving

Testdata

• Uploading

Testdata

Quality

Management

(not in scope)

Page 20: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

correct

End 2 End

processing

accross all

results of

all

agile teams

all function receive the data they require

i.e. are the underlying securities sufficient for a loan offering?

….Security data are available and approved

all functions transform data only for defined states of the business objects

i.e. does a terminated customer still receive services?

… The customer status is „terminated“; all functions, except „renew membership“ are

not valid for this status

All data are interpreted the same way throughout the whole system/all applications

i.e. does credit rating „A“ mean highest soundness in all applications?

… the value „A“ provides the same meaning for all functions, which interpretes this

data

Which Quality Criteria do we Test with Integration Testing?

20

Interfaces

State Transition

Semantic Integrity

Remark: The correct implementation of functionality in applications is tested in functional testing. This

quality is given and has not to be tested again. Therefore Integration Testing focuses on….

Page 21: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Functional Testing versus Integration Testing

21

Data Object 1

Function 1 Function 2 Function 3

X

X

X

X

X

X

X

X

Integration Testing

• End 2 End workflow per data object

• Low coverage ove all functions

• High coverage for state transitions and

interfaces

• Often done with (migrated) productive data

• Labor intensive for automation

Functional Testing

• all features/user stories of this function

• in deep (high coverage)

• synthetic test data

• suitable for automation

Fct

Fct

Fct

Fct

Fct

Fct D

D

D

D

D D

D

Fct Fct

IT-Landscape

D

Fct D

Fct

D

Appl. 1 Appl. 2

Data Object 2

Data Object 3

Data Object 4

Page 22: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

22

Environments, integration grade and activities on the envirnoments, push/pull mechanisms

Development System Test

Environment

Weekly Build & Test

Pre-Production Production

Component System System of Systems

(Technical Domain) Coupled

Systems

Coupled

Systems

Versioning

(CMDB)

Component Test

Comp. Integrat. Test System Test (ST)

RST

SMT, RSMT, RSIT

Acceptance Tests

(OAT, BAT)

Functional SIT

Environmanet

SIT (FIT, UT)

Non Functional

SIT Environment

SIT (SLT, SPST, FOT)

pull

push

Build

Engine

pull pull

pull

pull

pull pull

push

Maintenance

Environment

Maintenance Tests

(analog ST)

pull

► ST: System Test

► SMT: Smoke Test

► SIT: System Integration Test;

five Tasks

► AT: Acceptance Test (BAT,OAT)

► (R) Regression Tests

Page 23: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Consequences of the Daily Build&Test Process

► Build Overall Team Development

► Test Overall Team Development

Agile

Team 1 Iteration

Agile

Team 2

Agile

Team 3

Iteration

Iteration

► The Outcome is delivered to the

Agile Teams

► Interface Problems are discussed by

the Hotfix Team and Chief Architect

► Targets

compilable software

Running basic functionalities

Awareness of Team interaction

Architects awareness on software interaction

Early error indicates of design

Build automation

Deployment automation

Test automation

► Daily &Test as early as possible

ST RST RIT

Inte

gra

tio

nte

st

in Daily Build

23

Page 24: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Entry Exit Criteria

24

Iteration 2

For Application 1

Developer

Test/I Functional

Test/I

Functional Test Environment Developer

Environment

Integration Environment

Application 1

Application 2

Application 3

Smoke

Test/I

Regression

Smoke Test/I-1

Regression Inte-

gration Test/ I-1

Part of the Daily Build

Inte

gra

tio

n T

es

t

Regression

Functional

Test/I-1

Entry

Criteria

Exit

Criteria

Entry

Criteria

Test Complete

ness

Max.

Failures

DT approval

FT all user

stories

(0/A);

(15%/B)

RFT 20% of

all RFTs

(0/A);

(15%/B)

ST/RST 10% of

No. User

Stories

100%

execut-

able

RIT 30%

auto-

mated

(0/A);

(5%/B)

(Example)

Exit

Criteria

Integr.at.

Test

Completeness

Coverage All Business

Objects & States

Coverage All capabilities

Coverage All Interfaces

Max.

Failures

(0/A)

(15%/B)

(Example)

Remark:

SW is deployed in FTE and ITE in parallel

ST, RST, RIT are executed dialy after build

RST, RIT are reduced Test Sets

Page 25: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Wilhelmstraße 63

D-53721 Siegburg

Phone: +49 (0) 2241 25021 0 Fax: +49 (0) 2241 25021 29

Mail: [email protected]

Web: www.corporatequality.de

Rooseveltplatz 13/5

A-1090 Wien

Phone: +43 (0) 1 89 03 448 Fax: +43 (0) 1 89 03 448 15

Mail: [email protected]

Web: www.corporatequality.at

An der Lorze 11

CH-6300 Zug

Phone: +41 (0) 41 740 39 19 Fax: +41 (0) 41 740 39 20

Mail: [email protected]

Web: www.corporatequality.ch

© 2005-2013 corporate quality | Verwendung nur mit Zustimmung der corporate quality

Stephan Salmann, CEO

corporate quality consulting GmbH

Phone: +49 (0) 2241 25021 10

Mobile: +49 (0) 163 327 27 02

Fax: +49 (0) 2241 25021 29

Mail: [email protected]

Web: www.corporatequality.de

Thank you for your Attention….

Page 26: Agiles Testen in Großprojekten · &. scrum of scrums -+ -+ -+ (to undifferent) -- (individual procedures and tools) -- (in allocation, architecture, provisioning) Option 3: many

Branch, Merge and Packaging Strategy

System of Systems,

Release and ST

approved Applications

System of Systems

In Weekly

Integration

Grade &

CT, CIT tested

Application

Under

Development

Released,

Application

(Release

Candidates)

Component

R1 R 1.1 R 2

Package R 1.1

Development, CT & CIT

Branch Merge &

Label

Package R1

System Integration Test

Package R1 Package R2

Package R2

Remark: Only Happy Path,

Foward Look, without

patching

System Test for Capabilities R1 of Application 1

Weekly Build &Test