expert best practices

28
Sofi a Bulga ria S ummer Summer School School IST-2001-34488 eXPERT: Best Practice on e-Project Development http://www.esi.es/Expert 30 June - 2 Jul y 2003 30 June - 2 July 2003 eXPERT Best practices Boyan Angelov Nemetschek Penko Ivanov Rila Solutions

Upload: eugenia-norris

Post on 01-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

eXPERT Best practices. e XPERT in Nemetschek Boyan Angelov. Apply e XPERT in real life project Gather experience. Collect metrics Evaluate the approach. Nemetschek OOD The Pilot Project - Aims. Facility Management system Real life customer. New technologies – Microsoft .NET - PowerPoint PPT Presentation

TRANSCRIPT

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:Best Practice on e-Project Development

http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Boyan AngelovNemetschek

Penko IvanovRila Solutions

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

eXPERT in Nemetschek

Boyan Angelov

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Nemetschek OOD

The Pilot Project - Aims

Apply eXPERT in real life

project

Gather experience

Collect metrics

Evaluate the approach

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Nemetschek OOD

The Pilot Project - Scope

• Facility Management system

• Real life customer

• New technologies – Microsoft .NET

• Small team

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

eXPERT Application – Phases

Big BangProductive Phase

Evaluation Phase

Project Lifetime

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

eXPERT Application – Phase 1/3

Big Bang Initial Phase

• Execute all practices at once

• Apply strict control over practices application

• Evaluate practices

• Modify bottleneck practices

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

eXPERT Application – Phase 2/3

Productive Phase

• Apply the approach

• Identify key practices

• Refine practices application

• Produce software

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

eXPERT Application – Phase 3/3

Evaluation Phase

• Collect quantitative measures

• Evaluate approach

• Adjust approach

• Collect lessons learnt

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Big Bang phase Prerequisites

• About 2 months length

• The team has worked together on previous

projects

• The team never used XP or PSP before

• The team had 1 week eXPERT training

• The customer did not have any XP experience

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Big Bang phase - 2all or nothing

• Introduce all practices together – good or bad?

• Default practices

• Important practices

• Sequential application – what the sequence

should be?

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Big Bang phase - 3How to make the team do it?

• Developers – right, wrong or just afraid?

• Easily adopted practices

• Not so easily adopted practices

• Hard practices

• Total control over the application of the

practices

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Big Bang phase - 4Initial evaluation and adjustment

• Criteria for evaluation

• Practices that needed immediate adjustment

– Customer on-site

– Planning game

– Test first

• Enough fooling about

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Productive PhaseGet the best of it

• Benefit from the strong sides

– Identify and emphasize on the key practices

– Minimize documentation

• Minimize the effect of the weak sides

– Adjust practices that imply big overhead, but

preserve their benefits

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Productive Phase - 2Key Practices

• Which are they?

Small Releases

Simple Design

Refactoring

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Productive Phase - 3Adjust practices

• Which practices?

– Non-XP Customer – Planning game and Customer

On-site

– Unit testing

– Pair programming

– PSP PROBE method

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation PhaseCollect quantitative measures

• Why measure?

– eXPERT project requires it

– PSP requires it

– Increases developers discipline

– Provides constant status feedback to management

– Shows the practices that need adjustment

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 2Collect quantitative measures

• What to measure?

– Code metrics – LOC, NOC, NOM, …

– Effort spent on tasks, processes, …

– Costs

– PSP PROBE method – effort per class, LOC, …

– Defects statistics – new, fixed, closed, …

– Unit tests – number of tests, failures, …

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 3Collect quantitative measures

• How to measure?

– Automatic tools - code metrics, unit tests, bugs…

– Manual measurements – effort, PROBE, costs, …

• How often?

– Daily – effort on tasks, PROBE, …

– Weekly

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 4Main results

• No schedule

deviation

• No costs deviation

• Low requirements

management risk

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 5Main Results

Defect rates

NOWBEFORE

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 6Main Results

Efforts per process

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 7Main Results

Unit tests

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Evaluation Phase - 8Main Results

PSP PROBE methodCalculated hours per class type and size

very small small medium large very large

simple UI classes 0,3 0,8 2,0 4,8 11,5

property UI panel classes 1,0 2,2 4,7 10,3 22,5

multi UI panel components 1,4 4,3 13,2 40,9 126,6

model / data classes 1,7 3,0 5,2 9,1 15,8

business logic classes 3,1 5,2 8,9 15,2 25,8

utils/enum/interfaces/events/delegates 0,6 1,1 2,1 4,0 7,5

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Nemetschek Pilot ProjectTools used

• MS Visual Studio.NET – development IDE• MS Visual Source Safe – version tracking• Microsoft Project – effort and cost tracking• MS Excel, MS Word• Bugzilla – defect tracking• NUnit – unit testing• C# Refactory – code refactoring

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

NUnit

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

C# Refactory

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

Nemetschek Pilot ProjectLessons learned

• CR management can be easy• Design can be simple• Coding can be the biggest part of a project• Schedule can be kept• Unit testing improves quality• Estimation can be more precise, but can never be

exact• eXPERT is agile, lightweight and flexible• Documentation can be minimized

SofiaBulgaria

Summer School

Summer School IST-2001-34488 eXPERT:

Best Practice on e-Project Development http://www.esi.es/Expert

30 June - 2 July 2003

30 June - 2 July 2003

eXPERT Best practices

For more information:

[email protected]@fmi.uni-sofia.bg

http://www.esi.es/Expert http://www-it.fmi.uni-sofia.bg/Expert