The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary



Similar documents
Agile and Secure: Can We Be Both?

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

Agile Development Overview

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Agile with XP and Scrum

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

Human Aspects of Software Engineering: The Case of Extreme Programming

Software Development Life Cycle (SDLC)

CSSE 372 Software Project Management: More Agile Project Management

Governance of an Agile Software Project

Agile Testing and Extreme Programming

CMMI - The AGILE Way By Hitesh Sanghavi

CSE 435 Software Engineering. Sept 16, 2015

How to manage agile development? Rose Pruyne Jack Reed

Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile project management: A magic bullet?

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Extreme Programming, an agile software development process

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to extreme Programming (XP)

A Capability Maturity Model (CMM)

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Software processes that are:

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Agile Beyond The Team 1

Akhil Kumar 1, Bindu Goel 2

Agile Methodologies and Its Processes

Software Development with Agile Methods

How To Plan A Project

Introduction to Agile Software Development

Generalizing Agile Software Development Life Cycle

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Usage of SCRUM Practices within a Global Company

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development

Quality Assurance Software Development Processes

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich

AGILE SOFTWARE DEVELOPMENT

Agile Software Project Management Methodologies

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

SOFTWARE PROCESS MODELS

The Agile Manifesto is based on 12 principles:

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

Agile Processes and Methodologies: A Conceptual Study

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Lean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson

Extreme Programming, an agile software development process

Vragen. Software development model. Software development model. Software development model

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

EPL603 Topics in Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

How To Understand The Limitations Of An Agile Software Development

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Nationwide Application Development Center

Comparing Plan-Driven and Agile Project Approaches

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

An Agile Software Development Framework

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

Novel Hybrid Model: Integrating Scrum and XP

Getting Started with Agile Project Management Methods for Elearning

Agile Project Management

Quality Assurance in an Agile Environment

Creating a High Maturity Agile Implementation

Introduction to Agile

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Agile Projects 7. Agile Project Management 21

Agile processes. Extreme Programming, an agile software development process

A Framework for Teaching Software Development Methods

Getting Business Value from Agile

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

The Level of Agility in Testing Process in a Large Scale Financial Software Project

History of Agile Methods

Transcription:

! " # $%&' ()**+

% The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

, 75% of the enterprise software products are considered to be a failure there are not in use or do not fit customer s requirements '*+"&(#$$$)",-. /'!&0)" Software errors cost US economy $59.5 billion annually (In Q2 of 2003 investments of $200 billion in software development) '''& ) 1 (2%2332" It is a common practice to hire inexperienced young programmers at minimum rates as testers, while taking too much time to resolve defects is considered wasteful and is not rewarded!"#$$%&' (')"

"- Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/

- Adaptive Crystal DSDM Extreme Programming FDD Lean Development Scrum All acknowledge that the main issue of software development is people: customers, communication

./0,1 Extreme Programming emerged by software practitioners Differences from traditional methodologies Emphasis on people vs. development activities & schedule XP specifies how to behave; still leaves freedom 12 practices 4 values: feedback, simplicity, communication, courage The meaning of Extreme 45-6.'. ' '! "7 2333 45."7 2 ' '2338 Beck, K. (2000). Extreme Programming explained, Addison Wesley.

.2,1 Survey: 31 XP/Agile-methods early adopter projects 14 firms Findings: Cost reduction: 5-7% on average Time to market compression: 25-50% reduction 1 +"&2332)"9 :6;/ '< "#%8-#$="

/0,1

3 On-site customer Planning game Small releases Simple design Metaphor

2,14,5 "6 789 Business Day Business Day Week 1, Release 1, Iteration 1 Business Day Week 5, Release 1, Iteration 3 Week 2, Release 1, Iteration 1 Week 6, Release 1, Iteration 3 Week 3, Release 1, Iteration 2 Week 7, Release 1, Iteration 4 Week 4, Release 1, Iteration 2 Week 8, Release 1, Iteration 4 Release 2 starts Business Day Business Day

Stand-up meeting The development environment Pair programming Testing (Test Driven Development) Code standards Refactoring Simple design Continuous integration Collective ownership Sustainable pace

/0,, Refactoring Simple design Coding standards Testing Code/Technical Perspective Continuous integration Small releases Human/Social Perspective Collective ownership Pair programming Sustainable pace On-site customer Planning game Metaphor

2, Beck, K. (2000). extreme Programming explained, Addison Wesley.

:2,, 6 XP encourages changes in the organizational culture: Cooperation (vs. knowledge-is-power) Simplicity (vs. habit-of-increase-complexity) Change in work habits Change in customer s conception, involvement and relationships with the software team

" :2, "

Strategic decision (Oct 2003) Reduce the time from user requirement to software response Reduce overspec Increase suitability of product to need Increase responsibility & professionalism The support of leadership Preparation (2004) Learning and experience workshop First pilot (2005)

- Qualitative (questions for example) How do teammates conceive the change? What process characteristics can and should be measured? In which frequency should each metrics be measured? Quantitative (questions for example) What is the work progress? What is the status of the project resources? What is the quality of the product? How continuous is the integration? Dubinsky Y., Hazzan O., Talby D., and Keren A. (2006). System Analysis and Design in a Large-Scale Software Project: The Case of Transition to Agile Development, The 8th International Conference on Enterprise Information Systems (ICEIS), 23-27 May 2006, Paphos, Cyprus.

&- Number of Test Points 1800 1600 1400 1200 1000 800 600 400 200 0 End of 1st Iteration End of 2nd Iteration End of 3rd Iteration End of 4th Iteration Successful Test Points Test Steps that did not run Failed Test Points Talby D., Hazzan O., Dubinsky Y., and Keren A. (2006). Agile software testing in a largescale project, IEEE Software, Special Issue on Software Testing, July-August, 2006.

&- ;3 Financing Component Name Marketing Warning Mortgage Bank Account 0 100 200 300 400 500 600 700 Number of Test Points Iteration 1 Iteration 2 Iteration 3 Iteration 4

,- 180 160 140 120 100 80 60 40 20 0 20/02/2005 13/02/2005 30/01/2005 06/02/2005 Days of Release 23/01/2005 Number of Check-in Operations 02/01/2005 09/01/2005 16/01/2005

34 Days 450 400 350 300 250 200 150 100 50 0 0 1 2 3 4 5 6 7 8 Week Number Remaining Work Remaining Resources

34- ;.<=> Software Components (Overhead) Development Financing Marketing Mortgage Bank Account 0 10 20 30 40 50 60 70 Days Remaining Work Remaining Resources Software Components (Overhead) Development Financing Marketing Mortgage Bank Account 0 5 10 15 20 25 30 35 Days Remaining Work Remaining Resources

Experienced participants emphasized The real feedback they get every two weeks The fixed dates of delivery The ease of combining inexperienced people The awareness of problems almost when occur Younger participants were satisfied From the direct communication with the customer From the process itself Most developers wrote the word "people" answering what they liked most Talby D., Hazzan O., Dubinsky Y., and Keren A. (2006). Reflections on Reflection in Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota.

The Catalogue Browsing Project Implementing a new access paradigm Speech based interface Involving agile and HCI design approaches Collect user evaluation data and agile metrics Thanks to Claudio Di Ciccio and Andrea Iannitti

!"#$%&$'("&'

"&')*

"&')%+#% Statement SD D A SA I like interfaces with speech features 1 1 3 1 I have experience with speech interfaces 1 5 I use speech interface when I can 1 3 2 Speech interfaces are slow 1 2 1 1 I feel uncomfortable with speech interfaces 2 4 Speech interfaces are fun 1 4 1 Speech interfaces are annoying 4 2 I expect to use more speech interfaces in the future 3 3 I prefer interfaces that do not include speech 3 3

"&')%+#% Averaged search time in minutes Group Averaged search duration Averaged Non-S search duration Averaged S search duration Non-S S 54.66 28 81.33 S Non-S 26.58 14 39.16

"&')$#

"&')$#)*

Achieving the XP/Agile change Learn by experience the approach and methodology Foster customer collaboration Test and measure all the way Foster knowledge sharing Maintain short iterations while sustainable pace More about CBP under http://www.dis.uniroma1.it/~catalogue/ You are invited to contact us if you wish to participate in such a project