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

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


To conclude that we have all of the answers denies the fundamental, exploratory tenet of heuristics. XP and SBD have brought advances to software engineering and usability engineering, but advancements still can and need to be made, especially through integrating these two methods. Aside from the core components of system and interaction, we have opportunities for better system integration into environments, better documentation, lower-cost and lower-risk projects, and longer-term system viability. Integrating and sharing between heuristic methods will improve these and other development aspects.

A Bold New Future

Uniting heuristic methods not only provides an avenue for improving those methods, but also creates the potential for faster adoption. Below we describe some mechanisms for developing and implementing combined methods in industry, education, and research.


In Industry


Industry often leads academia. Industry likes what works, and clearly XP and SBD work. We must encourage developers to strengthen their skills in both areas. One concern common in industry is funding. Fortunately, one of the principle advantages of heuristic methods is efficiency; this is clear from a management standpoint [13], and new models are emerging showing the cost advantage of agile methods [14] and usability [15].

Those software developers that believe in heuristic methods such as Extreme Programming should not let themselves be fooled by simple guidelines for interface development. These crutches are playing off developers' tendency to be drawn towards 'correct and complete' approaches. Instead, they should look for and be pointed towards heuristic interface design methods, such as those found in SBD.


In Research


Research communities learn from industry by monitoring it for success, failure, and opportunities for improvements. Researchers have time to analyze fine detail, the freedom to try sometimes aggressive approaches, and the requirement to explain and connect practice to theory. Industry can take advantage of this thoroughness. SBD has roots in industrial and academic research, but research based around real-world problems [9]. The balance found in grounded, practical research is a fruitful testing ground for new ideas, as it demands rigor in both academic thoroughness and industrial applicability.

Researchers must work for the cross-pollination of software and usability engineering. Coordination and collaboration are necessary, but research projects need not focus on method development in both areas. Many research projects require software development and user interface development, and the methods that have proved productive in the field can (and should) be adopted in the lab. This cross-use may be sufficient to begin cross-pollination, as the researcher will inevitably develop and refine the methods and heuristics, and publish these additions, alterations, and improvements.


In Education


We have long recognized that students leave typical computer science undergraduate programs without the skills to develop software in industry. Undergraduate programs in software development, software engineering, information systems, and HCI are at the forefront of the march towards addressing this problem. These programs are one venue for coursework that integrates agile methods and Scenario-Based Design. 'Usability and usefulness‘ will (where appropriate) supplant 'correctness and completeness‘ as a mantra. The ideal education will give students a good theoretical understand as well as practical experience with cutting-edge industry practice. One final note: the best possible implementation of these concepts as course material would be integrated, in either a single course or a coordinated pair of courses.


Final Comments


Heuristics are neither formal nor wrong; this fact violates the beliefs of many about appropriate, 'scientific' methods. Heuristics are powerful tools [16], and those of us who use heuristic methods would benefit greatly from joining together

AgileConnection is a TechWell community.

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