280 likes | 409 Views
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
E N D
eXPERT in NemetschekBoyan Angelov eXPERT Best practices
Apply eXPERT in real life project Gather experience Collect metrics Evaluate the approach Nemetschek OODThe Pilot Project - Aims eXPERT Best practices
Facility Management system Real life customer New technologies – Microsoft .NET Small team Nemetschek OODThe Pilot Project - Scope eXPERT Best practices
eXPERT Application – Phases Productive Phase Big Bang Evaluation Phase Project Lifetime eXPERT Best practices
eXPERT Application – Phase 1/3Big Bang Initial Phase • Execute all practices at once • Apply strict control over practices application • Evaluate practices • Modify bottleneck practices eXPERT Best practices
eXPERT Application – Phase 2/3Productive Phase • Apply the approach • Identify key practices • Refine practices application • Produce software eXPERT Best practices
eXPERT Application – Phase 3/3Evaluation Phase • Collect quantitative measures • Evaluate approach • Adjust approach • Collect lessons learnt 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 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? 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 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 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 eXPERT Best practices
Productive Phase - 2Key Practices • Which are they? Small Releases Simple Design Refactoring 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 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 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, … 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 eXPERT Best practices
Evaluation Phase - 4Main results • No schedule deviation • No costs deviation • Low requirements management risk eXPERT Best practices
Evaluation Phase - 5Main Results Defect rates BEFORE NOW eXPERT Best practices
Evaluation Phase - 6Main Results Efforts per process eXPERT Best practices
Evaluation Phase - 7Main Results Unit tests eXPERT Best practices
Evaluation Phase - 8Main Results PSP PROBE method 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 eXPERT Best practices
NUnit eXPERT Best practices
C# Refactory eXPERT Best practices
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 Nemetschek Pilot ProjectLessons learned eXPERT Best practices
For more information:bangelov@nemetschek.bgexpert@fmi.uni-sofia.bghttp://www.esi.es/Experthttp://www-it.fmi.uni-sofia.bg/Expert eXPERT Best practices