This content has been moved to my new website AgileProductDesign.com. You'll be forwarded automatically to the writing section of that website in 5 seconds, or you may navigate directly to www.agileproductdesign.com/writing.
Abstractics| papers |
|
Test Software Before You Code StickyMinds, column, August 2006 Summary: Testing doesn't have to begin after the code has been written. In this week's column, Jeff Patton resurrects the oldest and most overlooked development technique, which can be used to test a product before any piece of it materializes. |
html |
|
Write a Blockbuster Using User Scenarios StickyMinds, column, May 2006 Summary: Big projects require many little user stories. But if these scenarios don't add up to one good story, then you're probably missing out on the big picture. In this week's column, Jeff Patton describes how his team weaves many small tales into a single strong report by identifying key characters and themes. |
html |
|
Finish On Time By Managing Scale StickyMinds, column, Feb 2006 Summary: When deciding how a user's task is to be supported in our software, we often look at possible design solutions and select one that's best for the product and the user. As the project deadline approaches, however, we might choose to dismiss some features outright. In this column, Jeff Patton suggests we try keeping more features by adjusting their scale. |
html |
|
Finding the Forest in the Trees OOPSLA 2005, practitioner report, October 2005 Summary: While the iterative development approaches found in Agile Software Development fulfill the promise of working software each iteration, that task of choosing which software to build first can be daunting. While simple guidelines like "choose features with the highest business value" may seem useful, what really has high business value may be debatable. On large projects, the number of possible features to implement may number in the hundreds. Prioritizing such a list can be exhausting and frustrating. Simply building the features that are highest priority on such a list often results in a software that's unusable by its intended audience because of omitted features that, although lower priority, were necessary to the users daily workflow. Wading through piles of features to create a successful project release plan requires strategies other than "highest business value". We need strategies that bring our focus above the feature level, the tree level, to see the forest. Strategies that help us identify small but coherent sets of functionality that by releasing them early will begin to really generate the business value we desire. This experience report will discuss my team's experience working within large healthcare company writing software for use in their hospitals newborn intensive care unit. The very large scope of this project and the urgent need for delivery made project release planning difficult. Focusing on feature details, user story writing, lead to more confusion about priorities and release strategy. Making good use of User Centered Design user role models and task models gave us the big picture we need to un-stick the release planning process and effectively choose the bit of project scope we need to focus on for our first and subsequent releases. |
|
|
What Goes Up Must Come Down Better Software, article, September/October 2005 Summary: A balanced approach to writing requirements takes a top down and bottom up approach. |
|
|
User Centerd Design Round Table An Agile Toolkit Podcast hosted by Bob Payne, August 8, 2005 Summary: This Round table addresses the integration of User Centered Design into an agile project. Hosted by Bob Payne. Guests: Rebecca Wirfs-Brock, Lynn Mller, and Jeff Patton. |
mp3 |
|
Show Me The Money StickyMinds.com, column March 2005 Summary: Sometimes the most neglected users of our system are the people who asked for it in the first place - our stakeholders. What happens when we forget that? |
|
|
Test-Driven Development Isn’t Testing StickyMinds.com, column January 2005 Summary: There's a common misconception that test-driven development is a testing technique when in fact it's a design technique. In this week's column, Jeff Patton explains this and how you might use your unit tests to explicitly guide and describe the design of your software. |
html |
|
It's All in How You Slice It Better Software Mgazine, January 2005 Abstract: Design your project in working layers to avoid half-baked incremental releases. |
pdf html |
|
Hierarchically Managed Attributes PLoP 2004 Abstract: Assigning and maintaining values for attributes of large numbers of business objects can be cumbersome. Hierarchically Managed Attributes offers a simple solution by arranging business objects into categorized hierarchies, then assigning and maintaining those attributes at a category level. |
|
|
An Elephant In The Room Better Software Mgazine, January 2004 Abstract: The whole reason we make software is so someone can use it. Yet just who these users are, their needs - skills and goals - is so hard to determine that they are often simply ignored INTERACTION DESIGN helps you stop treating your customers like AN ELEPHANT IN THE ROOM |
|
|
Improving On Agility: Adding Usage-Centered Design to a Typical Agile Software Development ForUse 2003 Abstract: This paper describes, at a high level, the incremental development cycle typical of an agile software development environment, and how adding Usage-Centered Design will help this process run smoother. Specific points of applicability during the incremental development cycle are pointed out, along with the specific U-CD technique to apply there. The paper assumes a basic knowledge of agile software development and Usage-Centered Design. |
|
|
Unfixing the Fixed Scope Project: Using Agile
Methodologies to Create Flexibility in Project Scope ADC 2004 Abstract: Although it seems to be common knowledge that it’s impossible to succeed in a project with fixed time, quality and scope, we often continue to try anyway. This experience report discusses our successful failure at running fixed time and scope projects. I say successful failure because we actually failed to fix scope but arrived at an acceptable way to vary scope and deliver on time in an environment not normally amenable to variable scope. This paper discusses the methods used and makes recommendations on how you might unfix scope in your development environment. |
|
|
Hitting the Target: Adding Interaction Design
Agile Software Development OOPSLA 2003 Abstract: Extreme Programming appears to be a solution for discovering and meeting requirements faster (through close customer collaboration) as well as creating quality software. In practice we found XP did deliver high quality software quickly, but the resulting product still failed to delight the customer. Although the finished product should have been an exact fit, the actual end-user still ended up slogging through the system to accomplish necessary day-to-day work. This paper describes using interaction design in an agile development process to resolve this issue. Using interaction design as a day-to-day practice throughout an iterative development process helps our team at Tomax Technologies deliver high quality software, while feeling confident the resulting software will more likely meet end-user expectations. The method of Interaction Design followed here is based on Constantine and Lockwood’s Usage- Centered Design. Recommendations are provided on how to practice an agile form of U-CD and how to incorporate bits of Interaction Design thinking into every day development and product planning decisions. |
|