Desktop Technology Program 1
Lightweight Tools for Agile Methods
Frank MaurerUniversity of CalgaryComputer Science
e-Business Engineering Group (ebe)[email protected]
http://ebe.cpsc.ucalgary.ca/Frank.Maurer/
This presentation reports on joined work with Harpreet Bajwa, Lawrence Liu, Chris Mann, Grigori Melnik,
Wenliang Xiong & Carmen Zannier
3-Feb-06 ebe Research 2
Copyright © 2005 Frank Maurer. All Rights Reserved.
Overview
• Principles of agile methods• ebe Research Overview
Desktop Technology Program 2
3-Feb-06 ebe Research 3
Copyright © 2005 Frank Maurer. All Rights Reserved.
Why Agile Methods?
• CHAOS Report, Standish Group– 66% of projects
failed or are challenged in 2002
– Large projects are failing more often than small projects
– Only 52% of features make it into product
http://www.standishgroup.com/sample_research/chaos_1994_1.phphttp://www.standishgroup.com/sample_research/PDFpages/chaos1998.pdf
16%
27%
26%
28%
34%
31%
40%
28%
23%
15%
53%
33%
46%
49%
51%
1994
1996
1998
2000
2002
Succeded Failed Challenged
3-Feb-06 ebe Research 4
Copyright © 2005 Frank Maurer. All Rights Reserved.
http://agilemanifesto.org/
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• 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.
Kent Beck - Mike Beedle - Arie van Bennekum - Alistair Cockburn - Ward Cunningham - Martin Fowler - James Grenning - Jim Highsmith - Andrew Hunt - Ron Jeffries - Jon Kern - Brian Marick - Robert C. Martin - Steve Mellor - Ken Schwaber - Jeff Sutherland - Dave Thomas
Desktop Technology Program 3
3-Feb-06 ebe Research 6
Copyright © 2005 Frank Maurer. All Rights Reserved.
How Everything Fits Together
Ken Beck. Extreme Programming Explained: Embrace Change, Addison-Wesley, 1999, p. 70
Scrum Flow (Sutherland, Schwaber and Beedle)
Ken Schwaber, Agile Project Management with Scrum, Microsoft Press: 2004.
Scrum: 15 min daily meetingsTeam members respond to basics:-What did you do since last Scrum?-Do you have any obstacles?-What will you do before next meeting?
Features assigned to Sprint
Sprint: 30 days
Potentially Shippable Functionality
Desktop Technology Program 4
3-Feb-06 ebe Research 8
Copyright © 2005 Frank Maurer. All Rights Reserved.
Agile Practices• Knowledge sharing (“verbal documentation”, co-location)• Adaptive Project Management using Informal Feature
Description (story cards)• Fast feedback (on-site customer, continuous integration,
short iterations, retrospectives)• Emphasis on testing• Emerging (simple) design & refactoring• Pairing• Collaborative, "whole team approach"• Business contracts
3-Feb-06 ebe Research 9
Copyright © 2005 Frank Maurer. All Rights Reserved.
Overview
• Principles of agile methods• ebe Research Overview
– Empirical studies on agile methods– Tools for agile teams
Desktop Technology Program 5
3-Feb-06 ebe Research 11
Copyright © 2005 Frank Maurer. All Rights Reserved.
Empirical Research on Agile Methods
• Are the claims of agilists justified?
• Issues:– Significance versus insight– Qualitative versus quantitative– Industry-based– Perceptions vs reality
3-Feb-06 ebe Research 12
Copyright © 2005 Frank Maurer. All Rights Reserved.
A Cross-Program Investigation of Students' Perceptions of Agile Methods (Melnik/Maurer)
• Online questionnaire– voluntarily and
anonymously• Total numbers of
respondents: 240– out of 693 invited,
35% response ratio• Over 3 years
– 6 academic semesters– 7 courses
• Online questionnaire– voluntarily and
anonymously• Total numbers of
respondents: 240– out of 693 invited,
35% response ratio• Over 3 years
– 6 academic semesters– 7 courses
35%240693Total, All Programs
94%1718Fall 2003
73%811Fall 2002
75%912Winter 2002GRAD (4
+2 years)
67%1624Winter 2004
61%2033Fall 2003
31%1962Winter 2003
35%1955Fall 2002
SENIOR (4 years)
13%18142Winter 2004
14%25175Winter 2003JUNIOR (2 years)
65%1117Winter 2004
96%2223Fall 2003
56%1018Fall 2002
55%1222Winter 2002
POSTDIPL (2+2 years)
23%940Fall 2003
61%2541Fall 2001,Winter 2002DIPL
(2 years)
Response rate
# of respon-dents
# of nvita-tionssent outSemester(s)Academic
program
Desktop Technology Program 6
3-Feb-06 ebe Research 13
Copyright © 2005 Frank Maurer. All Rights Reserved.
Using XP Improves Productivity of Small Teams
2 7 8
46
26
0
90
14
2
7
8
51
6
19
12
1
21
0
0
20
40
60
80
100
120
140
Disagree Disagree Agree Agree
Strongly Somewhat Neutral Somewhat Strongly
SAIT UofC Junior Undergrads UofC Senior Undergrads UofC Grads
80%“I believe that XP helps get more work done in less time and is very effective for small groups as it allows for the group members not to get stuck for extended periods of time.”
3-Feb-06 ebe Research 18
Copyright © 2005 Frank Maurer. All Rights Reserved.
Comparative Analysis of Job Satisfaction (Melnik/Maurer)
• Web-based survey (459 complete, 286 partial responses)
• Some questions verbatim identical with Computerworld survey (936 responses)
• Overall job satisfaction by groups
11.0%
7.6%
25.0%
29.8%
8.5%
11.0%
21.4%
35.0%
31.3%
53.2%
18.0%
9.9%
29.4%
0.9%
IT General(supplementarystudy)
Non-agile (main study)
Agile
Desktop Technology Program 7
3-Feb-06 ebe Research 20
Copyright © 2005 Frank Maurer. All Rights Reserved.
Longitudinal Agile Study (Mann/Maurer)
• Issues: Not much detailed data on agile methods from industry
• Approach inspired by ethnographical methods and action research– Embed researcher for two years in work environment– Change environment:
• Pair programming• Continuous integration & test-driven development• Scrum project management
– Observe and collect data
3-Feb-06 ebe Research 25
Copyright © 2005 Frank Maurer. All Rights Reserved.
Scrum Results
• Overall results:– Reduced
overtime– Increased
customersatisfaction
Average Percent Overtime Worked By Team
-20.00
0.00
20.00
40.00
60.00
80.00
100.00
01-0
5-20
03
02-0
9-20
03
03-1
6-20
03
04-2
0-20
03
05-2
5-20
03
06-2
9-20
03
08-0
3-20
03
09-0
7-20
03
10-1
2-20
03
11-1
6-20
03
12-2
1-20
03
01-2
5-20
04
02-2
9-20
04
04-0
4-20
04
05-0
9-20
04
06-1
3-20
04
07-1
8-20
04
08-2
2-20
04
09-2
6-20
04
10-3
1-20
04
12-0
5-20
04
01-0
9-20
05
02-1
3-20
05
Week
% H
ours
Ove
rtim
e
Scrum Introduced
New Windows App Release
Website Release
Windows App 1 support and Windows App 2
Development
Desktop Technology Program 8
3-Feb-06 ebe Research 28
Copyright © 2005 Frank Maurer. All Rights Reserved.
Tools
3-Feb-06 ebe Research 29
Copyright © 2005 Frank Maurer. All Rights Reserved.
In-container Portlet Testing (Bajwa/Xiong/Maurer)
Portlets
Portlets Source: (IBM Portal [2])
Desktop Technology Program 9
3-Feb-06 ebe Research 30
Copyright © 2005 Frank Maurer. All Rights Reserved.
The Portlet API layer is the only way Portlets and container communicate
Container-based Software: Testing Issue
3-Feb-06 ebe Research 31
Copyright © 2005 Frank Maurer. All Rights Reserved.
WIT- Design Overview
Desktop Technology Program 10
3-Feb-06 ebe Research 34
Copyright © 2005 Frank Maurer. All Rights Reserved.
Requirements and Agile Planning• User stories
– On index cards – Short descriptions of a feature– In customer language,
no techno babble– Provide value to customer– Independent of each other– Testable – Small decompose large stories– Estimated by developers
• Collect story cards and prioritize them
3-Feb-06 ebe Research 37
Copyright © 2005 Frank Maurer. All Rights Reserved.
Digital Tables for Agile Planning (Liu/Maurer)
Desktop Technology Program 11
3-Feb-06 ebe Research 38
Copyright © 2005 Frank Maurer. All Rights Reserved.
Current work
All photos from www.flickr.com
By curiouskiwi
By drp
By fallsroad
3-Feb-06 ebe Research 39
Copyright © 2005 Frank Maurer. All Rights Reserved.
Alan: A robotic colleague for agile teams
• Support continuous integration• Create and distribute
summaries of Scrum meetings
Desktop Technology Program 12
3-Feb-06 ebe Research 42
Copyright © 2005 Frank Maurer. All Rights Reserved.
FitClipse
• Acceptance test driven development tool• Testing of distributed J2EE applications• Scenario-driven testing of business logic layer
as well as UI layer• Acceptance regression testing
Discussion
[email protected]://ebe.cpsc.ucalgary.ca/Frank.Maurer