TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPass
Home  >  Detail: Show Me the Money



A StickyMinds.com Original
Article Picture
Show Me the Money

By Jeff Patton

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: How does your software earn money for your organization? 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? In this week's column, Jeff Patton admonishes software experts not to ignore the reasons they built the software in the first place, as it's busy earning them money!


Empirix
Say you're one of a dozen VPs of MegaCorp International. You've sponsored a software project to improve the time it takes customer service reps to take orders over the phone. Your marketing people told you that doing this would increase order sizes, improve your reputation, and, ultimately, add more customers. Your finance people told you it could earn the company several million dollars this coming year.

But things are looking rocky just now. The project delivered a few months late and a few hundred thousand dollars over budget. There are bugs—big bugs. The customer management people are moaning because they have to learn something new and they are already asking for changes and improvements.

And to make matters worse, the executive team is hassling you to stop the hemorrhaging and shut the project down. Then it hits you. You can make sure this thing is on the right track by making sure the time it takes to service customers did in fact decrease and that order sizes are increasing!

Slapping your forehead and muttering to yourself, "Why didn't I do this before?" you run down to the development department and ask, "How do I see the average time it takes to service customers and check the average size of orders placed through this new system?" Your lead developer responds: "Um . . . er . . . well, I'm not sure. I guess we could write a report. Well wait, we don't really keep track of that time-to-service-a-customer thing, and the system can't tell the difference between orders placed over the phone or via the online service. We'll have to change the software. But we could get it done in a month or so." Ouch.

I've seen this scene played out too many times. We set out with good intentions to build a piece of software to solve a business problem. We then focus on the people who'll be using the software to do their jobs and forget the reasons we built the software. When the time comes to prove the software is worth its weight in code, the software can't really tell us.

Suppose when you are building your software you consider your stakeholders as first-class users. Then suppose you build in functionality that allows your stakeholders to observe the very things that concern them.

As you're starting a new project or as you add to an existing one, ask:

  • How does this software earn our organization money?
  • What can we measure and report to prove it?
  • How do we track those measurements over time?
  • How do we know when things are going poorly?
  • How do we know when things are going well?

Design your software to gather and retain sufficient information to answer these questions—as it’s busy earning you money. To keep stakeholders informed, design software with reports, status screens, executive dashboards, and email notification.

In addition, something magic happens when users can monitor their activities. If users are able to see information about their performance, they often work to improve it—speed up their own transaction times or increase their average order size. Give users a way to keep score and they'll try to improve it.

Think of this as adding gauges to your software. Just like your car can tell you how fast it's going and how many miles it's been driven—your software should be able to tell you details about how it's being used.

There are a lot of examples that show this sort of thinking is becoming more commonplace. Search the Web for "executive dashboard" and you'll find the companies that are already building software with one—and the companies that forgot them and are ready to add dashboards to the enterprise class products. These are gauges. These are stakeholder features. These features tell the software’s owners and users how well the software is meeting their goals.

If you're responsible for designing and building software, don't ignore the reasons you built the software in the first place. Ask your software to "Show Me the Money." {end}

About the Author
Jeff Patton leads teams of Agile developers to build the best software possible. He proudly works at ThoughtWorks. Jeff's series of columns on software design and pre-design tips appears each quarter on the StickyMinds.com home page.

Back to Top
 
 


Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Robert Rose-Coutre 5/4/2005

Working mainly on Web projects, these measurements are pretty straightforward once the software is in place -- easily linked, automated online reports on monthly revenue from advertising, e-commerce (when applicable), any other site-related revenue -- along with data on members, visits, impressions, etc., which show growth. Regarding the "original goal" during development -- e.g., to improve customer experience -- One example might be upgrading a Web-purchase interface, where each transaction should demonstrably require significantly less time per transaction; and the new software should process many more simultaneously. These...Read On

 
 
Comment:    
by Payson Hall 4/21/2005

Great article. Too often stakeholders and sponsors are treated as checksigners. The questions you suggest during project definition and requirements will help many teams not only build more useful systems, but be able to demonstrate that the systems are useful - A key definition of success.

 
 
Comment:    
by Sara Schneider 4/21/2005

Thanks, Francois. I like your acronym.

 
 
Comment:    
by Srinivasan Desikan 4/21/2005

One way to implement the ideas suggested by the author is to have extensive user stories that gets reviewed by the users, as implemented by Agile methodologies. Very Good article.

 
 
Comment:    
by Francois Bachmann 4/20/2005

I use an acronym to remember what I need in a dashboard: ICARE. The letters are for: - I ndicators (linked to corporate objectives) - C ollaboration (who can I call for help) - A ctors/Actions for these indicators (who does what when indicator x reaches value y) - RE ality (don't get your nose stuck in the indicators, *talk* to the people if you want to know how things are really) Reality trumps any indicator, but gauges can be precious action triggers, IMHO. Francois

 
 
Comment:    
by clarke ching 4/20/2005

Fantastic Article Jeff.

 
 
Comment:    
by Steven Williams 4/19/2005

The article makes sense. I do have this comment though: wether you use a corporate dashboard, white board, or whatever, if stake holders are not involved then the focus of the project is quickly lost in new features, and not the reason why the project was started to begin with. Stakeholders invoke accountability with any project and remind the software project managers why they are developing to begin with.

 
 
Comment:    
by Megha Jain 4/19/2005

I agree with Jeff's view on avoiding the situation when the time comes to prove the software's worth and the software is not capable of doing so. Adding gauges to the software to monitor performance - not just on the backstage, but at the forefront, so that the Stakeholders are able to see the benefit (or lack thereof) tangibly, seems like a good idea. This can be achieved by putting-in the Executive Dashboard capability as a software requirement. However, good in theory, there are many a time when such requirements are considered superfluous and are deemed out-of-scope to better manage the project budget and timeline. Terms like...Read On

 
Back to Top


Marketplace

RESOLVE SUPPORT ISSUES from your Desktop!
Minimize downtime with a remote support solution that lets you resolve issues right from the desktop

See how EASY REMOTE SUPPORT can be. Try WebEx FREE!
DELIVER SUPPORT MORE EFFICIENTLY. Remotely Control Applications. Leap Securely through Firewalls!

SOLVE SUPPORT ISSUES on the First Call!
REMOTELY CONTROL AND CONFIGURE SYSTEMS. Easily install applications, updates. All from your Desktop!

IMPROVE YOUR SUPPORT EFFICIENCY
WebEx lets you remotely control, configure and install applications and updates more efficiently.

Web based bug tracking - AdminiTrack.com
AdminiTrack offers an effective web-based bug tracking system designed for professional software development teams.

Get your product or service listed here.
Subscribe to Better Software Magazine
Subscribe to Better Software Magazine

First Name:

Last Name:

Email Address:


Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2008 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Ravenflow



Better Software Conference & EXPO 2008