18 May 2009 | Agile, Insights | andy
Jurgen Appelo in the .nl has conducted a survey on agile practices. 341 people responded, solicited via Jurgen’s blog and twitter. Read more at blog posts 1, 2, & 3. Participants were asked about the agility of different software development practices as well as their importance and degree of application.
At VersionOne, we do a regular survey on agile practices, with a focus on outcomes. Jurgen’s work is interesting in that he inquired about some user-centered design practices. Here’s an excerpt from the nifty info-mixer tool.
I’ve excerpted key measures from the requirements and design sections.
| Construction |
Configuration Management |
25.2% |
49.7% |
73.9% |
81.2% |
62.4% |
74.9% |
67.9% |
35.8% |
82.9% |
22.0% |
28.6% |
43.3% |
| Construction |
Issue Tracking / Bug Tracking |
27.4% |
45.2% |
84.4% |
77.4% |
54.9% |
82.4% |
79.8% |
59.6% |
89.4% |
25.0% |
23.8% |
51.2% |
| Requirements |
Use Cases |
28.2% |
43.6% |
76.0% |
52.2% |
4.3% |
61.3% |
36.2% |
27.7% |
79.5% |
38.0% |
46.0% |
42.0% |
| Process |
Risk Management |
29.5% |
41.0% |
75.1% |
84.7% |
69.5% |
70.8% |
57.3% |
14.7% |
81.1% |
22.4% |
36.1% |
36.3% |
| Design |
Design by Contract |
32.2% |
35.7% |
67.1% |
52.9% |
5.9% |
55.9% |
25.3% |
49.4% |
74.2% |
39.6% |
53.4% |
36.2% |
| Construction |
Software Metrics / Code Metrics & Analysis |
32.5% |
35.1% |
77.4% |
57.1% |
14.3% |
73.9% |
49.4% |
1.2% |
82.4% |
37.7% |
41.5% |
46.1% |
| Requirements |
Usage Scenarios |
37.9% |
24.2% |
61.9% |
60.8% |
21.6% |
56.9% |
30.3% |
39.4% |
74.5% |
38.5% |
53.8% |
34.7% |
| Construction |
Code Reviews / Peer Reviews |
42.3% |
15.5% |
84.4% |
76.4% |
52.7% |
82.9% |
59.1% |
18.1% |
85.9% |
32.9% |
41.6% |
41.4% |
| Organization |
Move People Around |
42.6% |
14.8% |
67.8% |
53.4% |
6.8% |
57.2% |
40.8% |
18.5% |
72.2% |
44.6% |
50.9% |
43.7% |
| Process |
Root Cause Analysis / 5 Whys |
42.6% |
14.8% |
62.2% |
84.1% |
68.2% |
57.8% |
46.0% |
8.0% |
74.1% |
29.2% |
48.3% |
30.9% |
| Testing |
System Testing |
46.6% |
6.9% |
73.2% |
93.9% |
87.8% |
73.2% |
83.1% |
66.2% |
79.3% |
26.3% |
31.7% |
44.6% |
| Requirements |
Personas |
47.3% |
5.4% |
59.5% |
56.0% |
12.0% |
51.3% |
32.6% |
34.7% |
71.0% |
45.6% |
57.3% |
38.3% |
| Construction |
Source Control / Version Control |
48.0% |
4.1% |
85.9% |
100.0% |
100.0% |
88.9% |
100.0% |
100.0% |
91.0% |
24.0% |
24.0% |
50.0% |
| Construction |
Coding Style / Coding Guidelines / Coding Standard |
49.0% |
1.9% |
78.9% |
89.0% |
77.9% |
81.9% |
86.6% |
73.2% |
82.4% |
30.0% |
31.2% |
48.8% |
| Design |
User Interface Prototyping |
49.4% |
1.1% |
81.7% |
85.8% |
71.6% |
76.1% |
66.1% |
32.2% |
84.5% |
31.8% |
41.7% |
40.2% |
| Testing |
Integration Testing |
53.4% |
6.8% |
81.6% |
92.7% |
85.3% |
83.8% |
88.2% |
76.4% |
89.9% |
30.4% |
32.6% |
47.8% |
| Design |
Domain Driven Design |
53.9% |
7.9% |
71.4% |
79.2% |
58.5% |
61.0% |
46.4% |
7.1% |
78.9% |
37.4% |
53.8% |
33.6% |
| Testing |
Smoke Testing / Build Verification Test |
54.5% |
9.0% |
74.9% |
92.9% |
85.8% |
78.8% |
78.6% |
57.1% |
86.0% |
30.8% |
38.0% |
42.8% |
| Testing |
Exploratory Testing |
55.6% |
11.3% |
69.3% |
86.3% |
72.6% |
65.4% |
62.6% |
25.2% |
77.7% |
34.7% |
46.5% |
38.1% |
| Process |
Lead Time / Cycle Time |
58.2% |
16.5% |
49.2% |
70.9% |
41.9% |
46.5% |
29.4% |
41.2% |
64.3% |
43.7% |
64.4% |
29.2% |
| Process |
Value Stream Mapping |
60.4% |
20.8% |
54.6% |
64.8% |
29.5% |
47.6% |
24.2% |
51.6% |
67.0% |
47.8% |
68.1% |
29.7% |
| Design |
CRC Cards |
63.0% |
26.1% |
64.8% |
40.7% |
18.6% |
55.4% |
22.8% |
54.3% |
76.1% |
61.2% |
70.1% |
41.1% |
| Requirements |
Product Vision / Vision Statement |
69.0% |
38.0% |
71.8% |
89.9% |
79.8% |
75.7% |
58.3% |
16.5% |
81.5% |
39.5% |
55.4% |
34.2% |
| Process |
Kanban Board |
70.5% |
41.0% |
65.9% |
52.1% |
4.2% |
51.9% |
20.9% |
58.3% |
75.1% |
59.2% |
74.8% |
34.4% |
| Requirements |
Minimum Marketable Features |
71.1% |
42.2% |
73.0% |
78.9% |
57.9% |
61.3% |
40.7% |
18.6% |
77.1% |
46.1% |
65.2% |
30.9% |
| Design |
System Metaphor |
73.6% |
47.3% |
60.6% |
38.1% |
23.9% |
53.1% |
19.0% |
61.9% |
69.0% |
67.8% |
77.3% |
40.5% |
| Organization |
Generalizing Specialists |
74.8% |
49.6% |
70.6% |
83.5% |
66.9% |
67.2% |
64.5% |
29.0% |
76.7% |
45.7% |
55.2% |
40.5% |
| Testing |
Unit Testing |
76.1% |
52.3% |
86.6% |
98.2% |
96.4% |
92.2% |
93.4% |
86.7% |
92.7% |
39.0% |
41.4% |
47.6% |
| Requirements |
Defer Decisions / Real Options |
76.6% |
53.2% |
65.1% |
89.9% |
79.8% |
58.1% |
64.2% |
28.4% |
68.0% |
43.3% |
56.2% |
37.2% |
| Organization |
Small Team |
77.5% |
55.0% |
88.9% |
91.8% |
83.6% |
81.1% |
85.0% |
70.0% |
88.9% |
42.9% |
46.3% |
46.6% |
| Construction |
Behavior Driven Development |
78.0% |
56.1% |
66.3% |
65.5% |
31.0% |
58.3% |
35.1% |
29.8% |
75.9% |
56.3% |
71.5% |
34.8% |
| Testing |
Test Automation |
78.6% |
57.1% |
86.0% |
96.3% |
92.5% |
89.4% |
85.4% |
70.7% |
91.6% |
41.2% |
46.6% |
44.6% |
| Process |
Release Planning |
78.8% |
57.6% |
89.2% |
95.5% |
91.0% |
83.8% |
81.1% |
62.1% |
91.4% |
41.7% |
48.9% |
42.8% |
| Requirements |
Requirement Prioritization |
82.4% |
64.7% |
84.8% |
98.2% |
96.5% |
82.7% |
94.4% |
88.7% |
83.3% |
42.1% |
44.0% |
48.1% |
| Process |
Limited Work in Progress / Fixed Batch Size |
83.6% |
67.1% |
75.7% |
83.8% |
67.7% |
70.3% |
65.3% |
30.6% |
79.5% |
49.9% |
59.1% |
40.7% |
| Construction |
Refactoring |
86.1% |
72.3% |
86.9% |
98.9% |
97.8% |
89.4% |
91.8% |
83.5% |
91.5% |
43.6% |
47.2% |
46.4% |
| Organization |
Cross-Functional Team |
86.1% |
72.2% |
87.8% |
94.4% |
88.8% |
79.4% |
81.9% |
63.8% |
88.9% |
45.8% |
52.1% |
43.7% |
| Testing |
Storytesting / Acceptance Criteria / Acceptance Testing |
86.1% |
72.2% |
84.4% |
98.1% |
96.1% |
86.6% |
78.7% |
57.3% |
91.6% |
44.0% |
53.7% |
40.3% |
| Construction |
Daily Builds / Automated Builds / Ten-Minute Builds |
86.6% |
73.2% |
89.9% |
97.8% |
95.5% |
89.9% |
90.3% |
80.5% |
93.0% |
44.4% |
48.2% |
46.3% |
| Organization |
Colocated Team / Sitting Together / Common Workspace |
87.7% |
75.3% |
90.0% |
91.9% |
83.9% |
82.8% |
77.8% |
55.7% |
92.8% |
47.9% |
54.9% |
42.9% |
| Design |
Architectural Spikes / Spike Solutions |
89.0% |
77.9% |
80.8% |
91.2% |
82.4% |
74.6% |
77.7% |
55.4% |
86.4% |
48.9% |
55.6% |
43.3% |
| Process |
Big Visible Charts / Information Radiators |
89.2% |
78.4% |
80.0% |
89.9% |
79.9% |
75.1% |
70.5% |
41.0% |
84.3% |
49.6% |
59.3% |
40.3% |
| Organization |
Scrum of Scrums |
90.1% |
80.2% |
72.8% |
64.2% |
28.3% |
58.9% |
38.6% |
22.9% |
77.8% |
63.0% |
75.8% |
37.2% |
| Process |
Task Board |
90.9% |
81.8% |
83.2% |
84.2% |
68.3% |
75.1% |
76.6% |
53.2% |
85.4% |
53.4% |
57.2% |
46.2% |
| Construction |
Test Driven Development |
91.2% |
82.4% |
91.5% |
93.7% |
87.4% |
87.4% |
71.4% |
42.7% |
93.0% |
48.8% |
59.9% |
38.8% |
| Organization |
Sustainable Pace |
91.4% |
82.9% |
84.4% |
98.6% |
97.3% |
81.1% |
76.7% |
53.3% |
83.3% |
46.4% |
57.4% |
39.0% |
| Construction |
Collective Code Ownership |
91.5% |
82.9% |
82.4% |
95.2% |
90.5% |
84.4% |
85.3% |
70.6% |
85.4% |
48.1% |
53.1% |
45.0% |
| Process |
Retrospective / Reflection Workshop |
91.7% |
83.4% |
84.9% |
98.0% |
96.1% |
82.2% |
84.7% |
69.3% |
88.1% |
46.8% |
53.5% |
43.3% |
| Construction |
Continuous Integration |
92.0% |
84.1% |
88.4% |
96.7% |
93.4% |
91.5% |
86.5% |
73.0% |
93.0% |
47.7% |
52.8% |
44.9% |
| Construction |
Pair - Programming / Pairing |
92.1% |
84.3% |
89.4% |
75.2% |
50.3% |
76.9% |
52.2% |
4.5% |
89.4% |
58.5% |
69.9% |
38.5% |
| Design |
Emergent Design / Evolutionary Design |
92.5% |
85.1% |
81.7% |
90.9% |
81.7% |
77.0% |
77.7% |
55.3% |
84.0% |
50.8% |
57.4% |
43.4% |
| Process |
Definition of Done / Done Done |
93.3% |
86.6% |
80.5% |
99.4% |
98.7% |
83.2% |
83.2% |
66.5% |
83.8% |
47.0% |
55.0% |
41.9% |
| Requirements |
Planning Poker |
93.4% |
86.8% |
84.5% |
71.7% |
43.3% |
68.3% |
72.2% |
44.4% |
83.3% |
60.9% |
60.6% |
50.3% |
| Organization |
On-Site Customer / Product Owner |
95.1% |
90.1% |
90.0% |
94.7% |
89.5% |
84.4% |
66.0% |
32.1% |
90.0% |
50.2% |
64.5% |
35.7% |
| Process |
Burn Down Charts / Burn Up Charts |
95.1% |
90.2% |
88.1% |
83.1% |
66.2% |
80.0% |
80.0% |
60.0% |
89.2% |
56.0% |
57.5% |
48.4% |
| Construction |
Frequent Delivery / Frequent Releases |
95.6% |
91.3% |
92.0% |
98.3% |
96.6% |
89.9% |
83.3% |
66.7% |
90.5% |
48.7% |
56.1% |
42.5% |
| Requirements |
Product Backlog |
95.6% |
91.3% |
87.4% |
98.2% |
96.5% |
83.0% |
93.2% |
86.3% |
85.9% |
48.7% |
51.2% |
47.5% |
| Requirements |
User Stories / Executable Requirements |
95.6% |
91.2% |
86.8% |
95.3% |
90.6% |
80.9% |
83.0% |
66.1% |
84.8% |
50.2% |
56.3% |
43.9% |
| Process |
Timeboxing / Fixed Sprints / Fixed Iteration Length |
96.0% |
92.0% |
94.1% |
92.5% |
85.0% |
86.5% |
90.8% |
81.5% |
93.5% |
51.7% |
52.6% |
49.1% |
| Organization |
Scrum Master |
96.3% |
92.7% |
91.1% |
81.4% |
62.8% |
80.6% |
80.5% |
61.0% |
88.3% |
57.5% |
57.9% |
49.6% |
| Process |
Sprint Review / Iteration Demo |
96.3% |
92.6% |
88.1% |
96.1% |
92.2% |
83.2% |
84.9% |
69.9% |
89.7% |
50.1% |
55.7% |
44.4% |
| Process |
Story Points |
96.9% |
93.7% |
85.9% |
79.0% |
58.0% |
77.3% |
73.7% |
47.3% |
90.3% |
58.9% |
61.6% |
47.3% |
| Organization |
Self - Organizing Team / Scrum Team |
97.5% |
94.9% |
87.8% |
94.0% |
88.0% |
83.3% |
79.1% |
58.3% |
90.6% |
51.7% |
59.2% |
42.6% |
| Process |
Daily Stand-up Meeting / Daily Scrum |
97.6% |
95.3% |
91.4% |
95.6% |
91.2% |
85.9% |
90.8% |
81.6% |
94.1% |
51.0% |
53.4% |
47.6% |
| Process |
Sprint Backlog |
98.1% |
96.2% |
85.9% |
90.6% |
81.2% |
80.5% |
87.0% |
74.1% |
87.6% |
53.8% |
55.5% |
48.2% |
| Process |
Velocity |
98.1% |
96.3% |
87.6% |
87.9% |
75.8% |
80.5% |
78.2% |
56.4% |
89.2% |
55.1% |
60.0% |
45.1% |
| Process |
Iteration Planning / Planning Game / Sprint Planning |
98.8% |
97.7% |
93.0% |
95.1% |
90.2% |
88.1% |
92.9% |
85.8% |
91.4% |
51.9% |
53.0% |
48.9% |
Walking through the results, I’ll start with use cases - strongly rejected by the survey participants. In the most extensive form, these are clearly not agile but I do appreciate aspects of the use case model. Primary and secondary actions and rigorous specification of the user audience are important drivers of a good design. These are also captured in usage scenarios which gets at least a sprinkling of support. Agilists are presumably focused on revealing these aspects through iterative design and the conversation that happens while building a system as well as in product management dialogues.
I was suprised to see how contentious personas and user inteface prototyping turned out to be. The 1% and 5% agreement for these factors shows an almost even split among respondents about the agility of these practices. Personas can be challenging to do well and are buttressed upon solid user research, something often missing from agile endeavors. On the other hand, user interface prototyping is almost guaranteed to produce a better end result assuming the prototype is regarded as a starting point for dialogue rather than absolute design directive.
I’ll be talking this over with fellow UX specialists at the Usability Professional’s Association 2009 Workshop on Best Practices of UCD in Agile. We’re working to make personas productive at VersionOne, but prototyping is core technique practiced continuously to good affect.
On the other hand, I’ll never push the use case model after the response I got from the rest of the product ownership team the first time I mentioned the word at V1!
Leave a Reply