Adopting, designing, and governing SOA well

SOA Best Practices Digest

Subscribe to SOA Best Practices Digest: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get SOA Best Practices Digest: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


SOA Best Practices Authors: Charles Araujo, Jason Bloomberg, Hollis Tibbetts, Pat Romanski, Liz McMillan

Related Topics: SOA Best Practices Digest, Software Configuration Management

Article

Software Best Practices: Use Cases Are for Everyone

Using use cases to build successful businesses

What Are Use Cases and Who Uses Them?
Use Cases are NOT just for requirements gathering by project managers. They're far too useful to be relegated to that niche.

For those not familiar with use cases, you can look up various confusing definitions which make reference to UML diagrams and such - but generally speaking in the world of software design, they describe how a person interacts with a piece of software. For example, a use case for Amazon.com might describe how a user searches for a book title.  Ultimately, use cases when collected together describe how software is used, who uses it, what problems get solved with it, why customers buy it, and other such bits of knowledge which are critical to creating Great Software.

Use cases in their myriad formats and derivations are a primary tool in software marketing, software product management, executive management. In their less-formal, more generalized and less-structured role in sales, marketing & management, they are often called "user stories."

Why Are They Useful?
At the highest level, use cases bring meaning and context to the abstract. For example, a hunk of software code is a very abstract concept. The use case for a sales representative using Salesforce.com to place a customer order brings meaning (including a sense of importance) to that abstraction.

Use cases are both a tool for communication as well as a tool for organization, prioritization and "completeness" of analysis.

This author also employ use cases for many of the same reason that he uses Mind Maps - they help with the creative thinking process and help you "come up with" important things and linkages/relationships/interactions that would not be uncovered by using more linear and hierarchical thinking processes.

They, like Mind Maps are also particularly useful in uncovering how different parts of complex systems interact.

What Makes Them Critical for Software Development?
In the world of software development, use cases are a valuable tool for helping ensure that the proper software gets built in the appropriate timeframe.

They also help validate that the product manager's understanding of the target customer and the target customer's pain is accurate. No sense in going to the next step if you don't have this down pat.

Applied to the discipline of developing requirements, use cases provide a meaningful and understandable way to describe and communicate the behavior of even the most complex software systems - including complex interactions between features/capabilities which would not be easy to do in a traditional "feature list".

As such, use cases help determine which features should be developed to solve particular user needs. Use cases thus enable efficiencies in development - as they can identify areas where various different user needs can by addressed by sharing a particular set of features.

By describing the behavior of the software system in a meaningful way, use cases are invaluable for the downstream prioritization of features/capabilities.

Furthermore, they are valuable beyond measure as a communication tool - as they build a vision of the software that can be shared from the executive level all the way to the software developers and over the wall into marketing and sales (for software companies). They are particularly valuable for use as a collaborative communication tool.

First Commandment of Software: Know thy Customer
Use cases are yet another way to ensure that everyone in the company has a deep understanding of the target customer - how the software is used, who uses it, what problems it solves, why that is important.

In the context of a software vendor:

  • A C-level executive that doesn't know these things has no business leading a software firm.
  • A Marketing person who doesn't know these things has no business marketing anything.
  • A Sales person who doesn't know these things ought not to be selling that software or probably anything else.
  • A Developer or Architect who doesn't know these things is running blind.
  • An engineering manager who doesn't know these things should find some other profession.
  • A Product Manager who doesn't know these things should be taken out and shot (figuratively).

Use cases and their various derivatives: another Software Best Practice.
Employed properly and throughout the organization, they bring everyone closer to the customer. And solving customer problems is what business should be all about.

More Stories By Hollis Tibbetts

Hollis Tibbetts, or @SoftwareHollis as his 50,000+ followers know him on Twitter, is listed on various “top 100 expert lists” for a variety of topics – ranging from Cloud to Technology Marketing, Hollis is by day Evangelist & Software Technology Director at Dell Software. By night and weekends he is a commentator, speaker and all-round communicator about Software, Data and Cloud in their myriad aspects. You can also reach Hollis on LinkedIn – linkedin.com/in/SoftwareHollis. His latest online venture is OnlineBackupNews - a free reference site to help organizations protect their data, applications and systems from threats. Every year IT Downtime Costs $26.5 Billion In Lost Revenue. Even with such high costs, 56% of enterprises in North America and 30% in Europe don’t have a good disaster recovery plan. Online Backup News aims to make sure you all have the news and tips needed to keep your IT Costs down and your information safe by providing best practices, technology insights, strategies, real-world examples and various tips and techniques from a variety of industry experts.

Hollis is a regularly featured blogger at ebizQ, a venue focused on enterprise technologies, with over 100,000 subscribers. He is also an author on Social Media Today "The World's Best Thinkers on Social Media", and maintains a blog focused on protecting data: Online Backup News.
He tweets actively as @SoftwareHollis

Additional information is available at HollisTibbetts.com

All opinions expressed in the author's articles are his own personal opinions vs. those of his employer.