Preventing Dancing Bear Software: Task-Directed Design for Software Solutions
290 likes | 385 Vues
Dive into the world of goal-directed design to prevent the omnipresent issue of dancing bearware in software development. Explore how task-directed design can revolutionize software solutions by focusing on goals over features. Learn practical examples, the importance of personas, and the impact of cognitive friction in software development.
Preventing Dancing Bear Software: Task-Directed Design for Software Solutions
E N D
Presentation Transcript
Goal Directed Design Prevents Dancing Bearware Andrew Steele twitter: ahsteele blog: http://steelebit.com andrew.steele@sandia.gov Sandia National Laboratories is a multi-program laboratory operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin company, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.
The Inmates Are Running the Asylum If you are familiar with Alan Cooper’s The Inmates Are Running the Asylum this presentation will be a refresher.
it is omnipresent dancing bearware
Look a dancing bear! The wonder isn't that the bear dances well but that the bear dances at all
Causes of Dancing Bearware • Software forgets • Software is lazy • Software is stingy with information • Software is inflexible • Software blames users • Software won’t take responsibility
Software Solutions having one is > than not having one
Cognitive Friction Creates Two Groups Apologists Survivors
how we apologize (badly) features
Why do we use features? • Features are quantifiable • Can be bargained over • Put programmers in control • Users are not compelled by features
Product Feature List • Internal combustion engine • Four wheels with rubber tires • Transmission connecting the engine to the drive wheels • Engine and transmission mounted on metal chassis • Steering wheel
Product Goal List • Cuts grass quickly and easily • Comfortable to sit on
different than features goals
What are goals? • Goals are the reason why we perform tasks • Tasks are not goals
Task-Directed Design • What are the tasks? • Programmers do task-directed design • Good programmers, of necessity, see things procedurally, or task-wise
Examples of False Goals • Save memory • Save keystrokes • Run in a browser • Be easy to learn • Safeguard data integrity • Speed up data entry • Increase program-execution efficiency • Increase graphic beauty • Maintain consistency across platforms
how to kill the elastic user Personas
Persona Benefits • Specificity • Hypothetical • Precision, not accuracy • Realistic look at skill levels • End feature debates
Cast of Characters Bruce Hamilton Nancy Green
Bruce Hamilton • Age 52 • Engineer • Prone to complaint • Intolerant of complexity • Computer Literate • Limited recreational internet use • Goal: Perform required task as quickly as possible.
Nancy Green • Age 33 • Center Business Analyst (money person) • Prone to complaint • Power user of Microsoft office • Some recreational internet use • Goal: Track budgets quickly and easily.
Application Praise • ELA is nice and easy to use. • It doesn’t seem to work like other Sandia applications. • I am usually astounded by how our systems at Sandia are unintuitive and difficult to use, but in this case, the Enterprise License Accountability app was a pleasant surprise.