! " # $%&' ()**+
% 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