Heurists of the World Unite! Merging Agile Methods in Software and Interaction Design


proof-based design, and thus needs no further testing. Correctness and completeness, while valuable in theoretical computer science, are not achievable in real-world software development. Heuristic methods thus always require thorough testing. XP emphasizes the role of defects in users' perceptions of a system, and that catching errors early through comprehensive tests at the unit, integration, and user level, minimizes costs [8]. Similarly, SBD has a heavy focus on testing via claims analysis (in the form of claims and tradeoff analysis); for each claim about the system, both positive and negative impacts are explicitly explored and reviewed over time. Another form of testing in SBD is careful observation of user interactions (in part because users do not always understand the implications of what they are doing).


4. Iteration and Redesign


Because design and development are tightly coupled, with agile methods there is an explicit assumption that the system will need to undergo continuous modifications, especially in initial development. The typical notion of ‘correcting one's mistakes' is not appropriate here; it comes with a strong implication that the correctness and completeness are possible, and this is contrary to the heurist's creed. Because technology and context are tightly coupled, the organization will change with the introduction of the new technology [3], possibly in ways that designer did not intend.

As with XP, SBD rejects the assumption that interactions can be 'gotten right' at the first attempt. iteration{C}{C}takes the form of a task-artifact cycle [9] in which development creates scenarios. These scenarios are then used to understand an interaction, which is used to develop a system feature (or artifact). Claims analysis of is used to evaluate the positives and negatives of that artifact, the claims are used to modify the scenarios, and the cycle continues. Iteration allows the heurist to break from any existing task to take advantage of the fortuitous occurrence.


5. Multiple Inputs


Both XP and SBD de-emphasize the traditional view of development as solitary effort; whether emphasizing participatory design, stakeholder review of regular deliverables, or pair programming, the goal is to constantly review all artifacts. This can be chalked up to the maxim that ‘two heads are better than one.'

Meeting of the Minds: An Integration Opportunity

Scott Ambler has begun drawing practical connections between his own work on Agile Modeling and User-Centered Design and User Experience Design [10]. Some work has been done in recognizing the overlap and working to integrate the two areas; in particular, Alexander and Maiden's Scenarios, Stories and Use Cases {C}{C}{C}{C} [11] has looked at story driven development from an integrated standpoint, although heuristics are not emphasized. Lynn Miller reported on the development organization at Alias, where separate agile and usability teams worked in interconnected, parallel development tracks, using an iterative, heuristic design approach [12].


Table 1. Common features between the methods, and how they are implemented


{C}{C}{C}We have shown the areas where XP and SBD are similar and compatible ( ). The integration opportunity is one of synergy, the belief that the whole will be greater than the sum of the parts. By combining heuristic approaches in software engineering with compatible approaches in usability engineering, we will have a unified development process (an admirable goal), and also an improved process centered on people, their tasks, and their needs, but bounded by achievable limits and value considerations. Tables 2 and 3 show the complementary features of the two approaches. These are features that are not shared, but can provide new insights to the other.


Table 2. Complementary features of Extreme Programming, and how Scenario-Based Design can benefit



AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.