Sofia Bulgaria Summer School IST-2001-34488 eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Alternate Software Development Methodologies
Software Life Cycles ECE 417/617: Elements of Software Engineering
Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer Microsoft Corporation.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
CS 5150 Software Engineering
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Introduction to Agile.
Introduction to Continuous Integration Mike Roberts.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Extreme Programming Adam Cogan Database Architect ssw.com.au.
Software Development Life Cycle Decisions Project Management Disciplines Stacey Shearn September 8, 2005.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Software Testing Life Cycle
SE-280 Dr. Mark L. Hornick 1 Process Adaptations.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
MEASUREMENT PLAN SOFTWARE MEASUREMENT & ANALYSIS Team Assignment 15
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
T Project Review X-tremeIT I1 Iteration
T Final Demo Tikkaajat I2 Iteration
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming.
Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Planning Iteration Demo Suunto Training Program Planner.
Formal Methods in Software Engineering
1/7/2004CSG - Project Delivery at UT Austin1 Making a Model Perform Adopting a methodology to your environment.
Software Engineering process models
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
CS223: Software Engineering Lecture 4: Software Development Models.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Software Development.
Software Metrics 1.
Where Agile Business Meets Agile Development
Iterative and Agile Development
What do you need to know about XP?
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Extreme Programming Iterative programming Agile programming
Extreme Programming Extreme programming is "a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly.
Agile software development
Presentation transcript:

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Boyan Angelov Nemetschek Penko Ivanov Rila Solutions

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices eXPERT in Nemetschek Boyan Angelov

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices eXPERT Application – Phases Big Bang Productive Phase Evaluation Phase Project Lifetime

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Big Bang phase - 2 all or nothing Introduce all practices together – good or bad? Default practices Important practices Sequential application – what the sequence should be?

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Big Bang phase - 3 How 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Big Bang phase - 4 Initial evaluation and adjustment Criteria for evaluation Practices that needed immediate adjustment –Customer on-site –Planning game –Test first Enough fooling about

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Productive Phase Get 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Productive Phase - 2 Key Practices Which are they? Small Releases Simple Design Refactoring

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Productive Phase - 3 Adjust practices Which practices? –Non-XP Customer – Planning game and Customer On-site –Unit testing –Pair programming –PSP PROBE method

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase Collect 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 2 Collect 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, …

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 3 Collect 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 4 Main results No schedule deviation No costs deviation Low requirements management risk

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 5 Main Results Defect rates NOWBEFORE

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 6 Main Results Efforts per process

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 7 Main Results Unit tests

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Evaluation Phase - 8 Main Results PSP PROBE method Calculated hours per class type and size very smallsmallmediumlargevery large simple UI classes0,30,82,04,811,5 property UI panel classes1,02,24,710,322,5 multi UI panel components1,44,313,240,9126,6 model / data classes1,73,05,29,115,8 business logic classes3,15,28,915,225,8 utils/enum/interfaces/events/delegates0,61,12,14,07,5

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Nemetschek Pilot Project Tools 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices NUnit

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices C# Refactory

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices Nemetschek Pilot Project Lessons 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

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices For more information: