catarci/hcislides/agile.pdf · agile software development, agile 2006 conference, minneapolis,...

31
! " # $% &’ ()**+

Upload: others

Post on 21-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

���������� �������������

��������������

� ���������������

��������� ��! ���"������� ������������ ������������� ��� �

#���� �����������$%��������&�'

(���� ��)**+

Page 2: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

%� � ��������

� The Agile approach

� Extreme Programming (XP)

� Implementing XP into a software project

� Introducing HCI design into agile software

development

� Summary

Page 3: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

� 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"

Page 4: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

"���������- ������

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/

Page 5: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

���������� �������������- �����

� Adaptive� Crystal� DSDM� Extreme Programming� FDD� Lean Development� Scrum

All acknowledgethat the main issue

of software development is

people: customers,

communication

Page 6: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

.������/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

Page 7: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

.���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-#$="

Page 8: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

����/0 ����, �� ������1

����������

�� ��� ��������� � ��

�������� � ������ �

Page 9: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

3�����������

� On-site customer

� Planning game

� Small releases

� Simple design

� Metaphor ������������ ������ ������� ������� �

Page 10: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

�����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

Page 11: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��������������

� Stand-up meeting � The development environment

� Pair programming � Testing (Test Driven Development) � Code standards� Refactoring � Simple design� Continuous integration� Collective ownership � Sustainable pace

������������ ������ ������� ������� �

Page 12: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

/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

Page 13: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

2,�� � � �������� ��� �����

���������������� ���������������������

���������� ������������

Beck, K. (2000). eXtreme Programming explained, Addison Wesley.

Page 14: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

�����: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

Page 15: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

"������������������

�����:2,��������� ��

"����� �

Page 16: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

� 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)

�����������

Page 17: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

����� ��- ����

� 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.

Page 18: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��&��- � � �

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.

Page 19: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��&��- � � ��; 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

Page 20: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

,�����- � � �

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

Page 21: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

3� �4����

050

100150200250300350400450

0 1 2 3 4 5 6 7 8

Week Number

Day

s

Remaining Work Remaining Resources

Page 22: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

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

Page 23: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

���� ���

� 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.

Page 24: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

����������������

� 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

Page 25: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

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

Page 26: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

"&'�) ����*

Page 27: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

"&'�) %�����+�#%�����

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

Page 28: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

"&'�) ����%�����+�#%�����

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

Page 29: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

��

"&'�) �$�#�� ������

Page 30: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

"&'�) �$�#�� �������) ����*

Page 31: catarci/HCIslides/Agile.pdf · Agile Software Development, Agile 2006 Conference, Minneapolis, Minnesota. ˇˆ˙ ˝˛ ˘ ˛ ˚˜ The Catalogue Browsing Project Implementing a new

����� �

� 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