Better Software - November 2008 - (Page 24) • When software is commissioned, people might know the broad problem to be solved but do not understand the intricate detail of how software can help. • Software takes a long time to implement, and the context of the problem domain can change while the software is being built. Agile recognizes these issues and provides some guidelines to help mitigate the risk they cause. When working to the agile principles, we focus on delivering software to the customers as early and as frequently as possible, allowing them to give feedback, validate, and adjust their perception of what it is they actually need from the software. Commonalities Between UCD and Agile A striking but sometimes overlooked similarity between agile and UCD is that both are often fundamentally misunderstood by people starting out on the path of adoption. This misunderstanding stems from the fact that both are frequently assumed to be methodologies— magical, step-by-step recipes that you can follow to guarantee project success. In fact, agile and UCD are both philosophies. There are many different methodologies that implement the agile philosophy: Extreme Programming, Scrum, the Crystal family, etc. There are also several different interpretations of UCD. User-experience aficionados can learn from the way products and experiences are created by the likes of Adaptive Path, Cooper, Apple, Shedroff, Morville, Spool, Nielsen, and Norman (see the StickyNotes). While the specific methods are very different, the underlying philosophies are undeniably similar. Both the agile and the UCD philosophies are iterative; they progress in small steps providing opportunities for verification and refinement along the way. losophy, while UCD is, in many organizations, championed by creatives. There will always be a healthy, natural tension between these left-brained and rightbrained individuals. If we examine the principles behind the agile and UCD philosophies, then we are much more likely to find tangible issues that can be addressed to facilitate agile developers and UCD practitioners working together to create quality software and robust user experiences, rather than falling back on the age-old argument that developers are from Mars; designers are from Venus. To better understand the disconnect, let’s compare some of the principles of the Agile Manifesto that cause conflict with the UCD philosophy. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.—Agile Manifesto The Agile Manifesto focuses directly on providing value for the customer, whereas UCD champions the end-user— the idea being to create software that users “cannot live without.” By delivering such intuitive software we cannot fail to deliver knock-on value to our stakeholders. The equivalent primary principle for UCD might read: Our highest priority is to help create an experience for end-users where they can achieve their goals easily and efficiently with minimal disruption to their mental model of the problem space. Working software is the primary measure of progress. —Agile Manifesto The concern here is the definition of working. The aim of this principle when it was defined was to get software development teams out of the mindset that creating a lot of design documentation before writing any code was helping to meet the project deadline. The goal of a software development project is to produce functioning software, not UML diagrams. From a UCD perspective, software that simply works is a secondary measure of progress. Much more important is whether the software helps the users achieve their goals. The equivalent UCD principle might read: www.StickyMinds.com The satisfaction of end-user needs (user goals) balanced with the achievement of business goals is the primary measure of success. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. —Agile Manifesto Agile development calls for early delivery of the software to the customer. This is not synonymous with releasing to end-users. The customer’s public release strategy can be entirely separate from this process. Early delivery to customers allows beta tests or usability trials to be performed and the customer to realign his priorities based on the findings. If we release too early to the market, the end-user experience could be poor. In some situations, this could be seriously detrimental to the impact of the product on the market and ultimately the bottom line. For example, in 2005, the early release of handsets that were touted as “feature complete” and “bug free” cost the mobile phone industry $4.5 billion: “One in seven mobile phones are returned within the first year of purchase 63% of the devices being returned are done so without fault.” “Most of these issues may be addressed through stringent device testing and usability modeling prior to the launch of the mobile device.” [2] Common Issues When Integrating UCD and Agile Design without constraints When the design of a system is created with users and customers but without regular feedback from a development team, there is significant risk of a design being proposed and approved when no one has any idea of how long it will take or how much it will cost to implement. When the estimate does come in, and it’s far above the amount expected, it is understandable that the customer will feel let down by the development team. To compound the problem, the design team will often be frustrated that the only way to deliver the software within the real budget will be to “water down” its design. As stated in the Agile Manifesto: Business people and developers The Conflict Between UCD and Agile There is a history of conflict between agile developers and user-experience designers. Agile software development is predominantly a developer-led phi24 BETTER SOFTWARE NOVEMBER 2008 http://www.StickyMinds.com
Table of Contents Feed for the Digital Edition of Better Software - November 2008 Better Software - November 2008 Contents Mark Your Calendar Contributors eLightenment Technically Speaking Code Craft Test Connection Management Chronicles Getting Agile with User-Centered Design Google Web Toolkit Simple Summaries of Complex Projects Product Announcements 10 Things You Might Not Know About … The Last Word Ad Index Better Software - November 2008 Better Software - November 2008 - (Page Intro) Better Software - November 2008 - (Page bellyband1) Better Software - November 2008 - (Page bellyband2) Better Software - November 2008 - Better Software - November 2008 (Page Cover1) Better Software - November 2008 - Better Software - November 2008 (Page Cover2) Better Software - November 2008 - Better Software - November 2008 (Page 1) Better Software - November 2008 - Better Software - November 2008 (Page 2) Better Software - November 2008 - Contents (Page 3) Better Software - November 2008 - Mark Your Calendar (Page 4) Better Software - November 2008 - Mark Your Calendar (Page 5) Better Software - November 2008 - Contributors (Page 6) Better Software - November 2008 - Contributors (Page 7) Better Software - November 2008 - eLightenment (Page 8) Better Software - November 2008 - eLightenment (Page QA1) Better Software - November 2008 - eLightenment (Page QA2) Better Software - November 2008 - eLightenment (Page 9) Better Software - November 2008 - eLightenment (Page 10) Better Software - November 2008 - eLightenment (Page 11) Better Software - November 2008 - eLightenment (Page 12) Better Software - November 2008 - Technically Speaking (Page 13) Better Software - November 2008 - Code Craft (Page 14) Better Software - November 2008 - Code Craft (Page 15) Better Software - November 2008 - Code Craft (Page 16) Better Software - November 2008 - Code Craft (Page 17) Better Software - November 2008 - Test Connection (Page 18) Better Software - November 2008 - Test Connection (Page 19) Better Software - November 2008 - Management Chronicles (Page 20) Better Software - November 2008 - Management Chronicles (Page 21) Better Software - November 2008 - Getting Agile with User-Centered Design (Page 22) Better Software - November 2008 - Getting Agile with User-Centered Design (Page 23) Better Software - November 2008 - Getting Agile with User-Centered Design (Page 24) Better Software - November 2008 - Getting Agile with User-Centered Design (Page 25) Better Software - November 2008 - Google Web Toolkit (Page 26) Better Software - November 2008 - Google Web Toolkit (Page 27) Better Software - November 2008 - Google Web Toolkit (Page 28) Better Software - November 2008 - Google Web Toolkit (Page 29) Better Software - November 2008 - Google Web Toolkit (Page 30) Better Software - November 2008 - Google Web Toolkit (Page 31) Better Software - November 2008 - Google Web Toolkit (Page 32) Better Software - November 2008 - Google Web Toolkit (Page 33) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 34) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 35) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 36) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 37) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 38) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 39) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 40) Better Software - November 2008 - Simple Summaries of Complex Projects (Page 41) Better Software - November 2008 - Product Announcements (Page 42) Better Software - November 2008 - Product Announcements (Page 43) Better Software - November 2008 - Product Announcements (Page 44) Better Software - November 2008 - Product Announcements (Page 45) Better Software - November 2008 - 10 Things You Might Not Know About … (Page 46) Better Software - November 2008 - The Last Word (Page 47) Better Software - November 2008 - Ad Index (Page 48) Better Software - November 2008 - Ad Index (Page Cover3) Better Software - November 2008 - Ad Index (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.