catarci/hcislides/agile.pdf · agile software development, agile 2006 conference, minneapolis,...
TRANSCRIPT
���������� �������������
��������������
� ���������������
��������� ��! ���"������� ������������ ������������� ��� �
#���� �����������$%��������&�'
(���� ��)**+
�
%� � ��������
� 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
� Software errors cost US economy $59.5 billion annually (In Q2 of 2003 – investments of $200 billion in software development)
� 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
, ��������������� ������������
���������������� ���������������������������������������������� ������������� �!"�#$$%�&'��������������(������� '�)"
����'���*�� ������+"�&( ����#$$$)"��������������������������������,������- ���������� .�����������/��'�������� ��������!������&0)"
���� �������������� ���������'��'����'������������& ���)�� ���1���������( ���2%��2332"
�
"���������- ������
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 acknowledgethat 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’
Beck, K. (2000). Extreme Programming explained, Addison Wesley.
45��������������������������������-��������6�.������'����.�����������������'� ��
�������'�!�����������"7 ������233345������.� ���������������"7������2�'�'�������2338
�
.���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,1�4 , �5� �"�������67� ���������� ������8�9��� �������������������
Release 2 starts
Week 8, Release 1, Iteration 4
Week 7, Release 1, Iteration 4
Week 6, Release 1, Iteration 3
Week 5, Release 1, Iteration 3
Week 4, Release 1, Iteration 2
Week 3, Release 1, Iteration 2
Week 2, Release 1, Iteration 1
Week 1, Release 1, Iteration 1
Business DayBusiness Day
Business Day
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 ����, �� �������, � � ��
Collective ownership
Pair programming
Sustainable pace
On-site customer
Planning game
Metaphor
Refactoring
Simple design
Coding standards
Testing
Continuous integration
Small releases
Human/Social Perspective
Code/Technical Perspective
�
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.
�
��&��- � � �
0200400600800
10001200140016001800
End of 1stIteration
End of 2ndIteration
End of 3rdIteration
End of 4thIteration
Nu
mb
er o
f Tes
t Poi
nts
Successful Test Points Failed Test PointsTest Steps that did not run
Talby D., Hazzan O., Dubinsky Y., and Keren A. (2006). Agile software testing in a large-scale project, IEEE Software, Special Issue on Software Testing, July-August, 2006.
�
��&��- � � ��; 3�����������
0 100 200 300 400 500 600 700
Account
Bank
Mortgage
Warning
Marketing
Financing
Com
pone
nt N
ame
Number of Test Points
Iteration 1 Iteration 2 Iteration 3 Iteration 4
�
,�����- � � �
020406080
100120140160180
02/01
/2005
09/01
/2005
16/01
/2005
23/01
/2005
30/01
/2005
06/02
/2005
13/02
/2005
20/02
/2005
Days of Release
Num
ber
of C
heck
-in
Ope
ratio
ns
�
3� �4����
050
100150200250300350400450
0 1 2 3 4 5 6 7 8
Week Number
Day
s
Remaining Work Remaining Resources
��
3� �4�����- � � ��; .�����<�=�>
0 10 20 30 40 50 60 70
Account
Bank
Mortgage
Marketing
Financing
Development
(Overhead)
Sof
twar
e C
ompo
nent
s
Days
Remaining Work Remaining Resources
0 5 10 15 20 25 30 35
Account
Bank
Mortgage
Marketing
Financing
Development
(Overhead)
So
ftwar
e C
ompo
nent
s
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
��
!���"���#�$%��&������$�'��(�����"&'�
��
"&'�) ����*
��
"&'�) %�����+�#%�����
33I prefer interfaces that do not include speech
33I expect to use more speech interfaces in the
future
24Speech interfaces are annoying
141Speech interfaces are fun
42I feel uncomfortable with speech interfaces
1121Speech interfaces are slow
231I use speech interface when I can
51I have experience with speech interfaces
1311I like interfaces with speech features
SAADSDStatement
��
"&'�) ����%�����+�#%�����
39.161426.58S � Non-S
81.332854.66Non-S � S
Averaged Ssearch duration
Averaged Non-S search
durationAveraged search
durationGroup
Averaged search time in minutes
��
"&'�) �$�#�� ������
�
"&'�) �$�#�� �������) ����*
�
����� �
� 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