Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University.

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Effort and Schedule Estimation Copyright, 1999 © Jerzy R. Nawrocki Personal Software.
Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.
Planning at CMM level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements Engineering.
The Baseline Personal Process Copyright, 1999 © Jerzy R. Nawrocki Jerzy Nawrocki Personal Software Process Lecture 3.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
Copyright © 1997 Carnegie Mellon University Introduction to the Personal Software Process - Lecture 1 1 Introduction to the Personal Software Process Lecture.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Extreme Programming: Practices and Strategies Extreme Programming Practices and Strategies Mohammad Alshayeb Information and Computer.
Agile Methodology: The New Wave in Software Development By Patricia Cleary Thesis Hypothesis: The agile methodologies are better than the current methodology.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
An Agile View of Process
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Metody statystyczne Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie Procesów Programowych.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan,
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
Software Engineering SW Processes: Extreme Programming Slide 1 Software Engineering Software Process: Agile/Extreme Programming.
Extreme Programming(XP)
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices.
Effort and Schedule Estimation Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture.
Implementing XP at PUT Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #4 Software Engineering.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
December Using Software Development Methodology (SDM) in the Third Teaching Unit (laboratory) CS Teachers Conference Dr. Orit Hazzan & Yael Dubinsky.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Chapter 3 Agile Development
Extreme Programming Based on and
Extreme Programming (XP) Web Applications and Services.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services.
An Extreme Makeover Jill Burkart H. Leonard Liaw Amaris Vigil Andrew Switzky Diana Miranda-Murillo Don Turnbull The University of Texas at Austin.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Toward Maturity Model for eXtreme Programming Copyright, 2001 © J. Nawrocki, B. Walter, A.. Wojciechowski
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
T Project Review X-tremeIT I1 Iteration
Requirements Engineering Lecture 4
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Planning User stories are written.
A possible solution: Personal Software Process (PSP)
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Agile and XP Development
eXtreme Programming (XP) and eXtreme Modeling (XM)
Agile and XP Development
Coming up: What is Agile?
Extreme Programming (and Pair Programming)
Presentation transcript:

Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University of Technology Poznan, Poland Jerzy Nawrocki, Adam Wojciechowski Poznan University of Technology Poznan, Poland

J. Nawrocki, Experimental Evaluation.. Plan of the lecture Introduction Personal Software Process eXtremme Programming Description of the experiment ResultsConclusions

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Pair programming Creator Quality assurer if (x=y) z=0; Must be x==y

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction After some time.. Creator Quality assurer x-=y; else How to test it?

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Nosek’s experiment Write a script that performs a database consistency check.

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Nosek’s experiment 30 minutes 42 minutes Completion time (aver.)

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Nosek’s experiment 71 % 100 % Completion time Effort 143 % 100 %

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Main weakness ‘If several tasks each take an hour, combine them to form a larger task.’ Kent Beck Extreme Programming Explained ‘If several tasks each take an hour, combine them to form a larger task.’ Kent Beck Extreme Programming Explained Only one short assignment (45’).

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction The Utah experiment programming assignments 6 weeks 4 programming assignments 6 weeks 50% - 60% 100% Completion time

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction Weak points What were the assignments about? What was the process? What were the sizes? What was the time in hours? What was the deviation in time and size? What were the assignments about? What was the process? What were the sizes? What was the time in hours? What was the deviation in time and size?

J. Nawrocki, Experimental Evaluation.. IntroductionIntroduction About our experiment Aim: experimental evaluation of pair programming. Aim: experimental evaluation of pair programming. XP-like process PSP-like process Fall semester 1999/2000; Poznan University of Technology, Poznan, Poland Fall semester 1999/2000; Poznan University of Technology, Poznan, Poland

J. Nawrocki, Experimental Evaluation.. Plan of the lecture Introduction Personal Software Process eXtremme Programming Description of the experiment ResultsConclusions

J. Nawrocki, Experimental Evaluation.. Personal Software Process Time and defects are recorded. Defect type standard. 0 Coding standard. Size measurement. Process Improvement Proposal. 0.1 Software size estimation. Test reports. 1 Task planning. Schedule planning Design templates. Code & design reviews.2.1 Incremental approach3

J. Nawrocki, Experimental Evaluation.. Personal Software Process Planning Designing Coding Compiling Testing Postmortem Requirements Product + data

J. Nawrocki, Experimental Evaluation.. Plan of the lecture Introduction Personal Software Process eXtremme Programming Description of the experiment ResultsConclusions

J. Nawrocki, Experimental Evaluation.. eXtreme Programming (XP) Pair programming. Test-centred quality assurance. Simple solution. Spike solutions. Keep moving. Pair programming. Test-centred quality assurance. Simple solution. Spike solutions. Keep moving. We applied: User stories. An on-site customer representative. Planning game. CRC cards. Continuous integration User stories. An on-site customer representative. Planning game. CRC cards. Continuous integration We didn’t apply:

J. Nawrocki, Experimental Evaluation.. Plan of the lecture Introduction Personal Software Process eXtremme Programming Description of the experiment ResultsConclusions

J. Nawrocki, Experimental Evaluation.. Description of the experiment XP-like pair programming XP2 PSP 0.1 (time, defect & size measurement) PSP Test-centred QA, Spike solutions XP1

J. Nawrocki, Experimental Evaluation.. Description of the experiment Programming assignments 1. Estimate the mean and standard deviation of a sample of n real numbers. 2. Calculate the linear regression parameters. 3. Count the logical lines in a program, omitting comments and blank lines. 4. Count the total program LOC, the total LOC in each object the program contains, and the number of methods in each object. C/C++

J. Nawrocki, Experimental Evaluation.. Plan of the lecture Introduction Personal Software Process eXtremme Programming Description of the experiment ResultsConclusions

J. Nawrocki, Experimental Evaluation.. ResultsResults There is almost no difference between XP2 and XP1. Prog 1Prog 2Prog 3 Prog 4

J. Nawrocki, Experimental Evaluation.. ResultsResults Prog 1Prog 2Prog 3 Prog 4 Pair programming is more predictable than individual one.

J. Nawrocki, Experimental Evaluation.. ResultsResults Prog 1Prog 2Prog 3 Prog 4

J. Nawrocki, Experimental Evaluation.. ResultsResults Prog 1Prog 2Prog 3 Prog 4 Pair programming leads to more stable solutions.

J. Nawrocki, Experimental Evaluation.. ConclusionsConclusions XP-like pair programming appears less efficient than it is reported by J.T. Nosek and L. Williams et al.XP-like pair programming appears less efficient than it is reported by J.T. Nosek and L. Williams et al. Pair programming is more predictable one than individual one both in completion time and program size.Pair programming is more predictable one than individual one both in completion time and program size. The experiment was restricted to relatively small programs ( LOC).The experiment was restricted to relatively small programs ( LOC).