Tl;dr - Today, with hardware being commoditized as resources, applications compartmentalized as services, and access to both faster and easier than ever, use cases are the core to determining how to effectively find value in it all.
One of the first things I remember learning back in school was UML, and one of the first things I remember dreading was the use case diagram. At the time, a little over a decade ago, I didn't see the value of having to document the flow or basic concepts of my programs; a lot of major computer applications, their design paradigms, as well as what we were learning to develop, were monolithic and absolute in their functionality. The "hello world" was a simple, single class app that said "hello world", and the link from application to hardware was direct and rigid.
When it came to use cases, let's just say they didn't require a lot of imagination.
The world has changed, technology has advanced, and use cases aren't as clear as they once were. That hello world, while still having the same output, may now consist of a model, view and controller, front end, back end, middle end, and frameworks for the UI, database and everything in between. All that instead of a single Console.WriteLine.
The new way is about being abstract, decoupled and compartmentalized.
Right now the major buzz words are Internet of Things (IoT), The Cloud, and Big Data, and I could easily sum them up by saying the internet of things creates a lot of big data which resides in and is consumed by cloud based applications and databases, but that's not good enough. The question still remains:
How do you take strategic data sourced from the internet of things, effectively combine it with existing corporate data, store it in a cloud data warehouse, and then massage and present it in a way that helps the bottom line and/or improves the customer's experience (therefore helping the bottom line).
The justification of "how" these technologies will be tangibly used to positively impact businesses and more importantly, consumers, is the name of the game, and those who get it right are reaping the benefits.
Suddenly a use case isn't just a way of ensuring an application has testing coverage over all facets of interaction or that we know what buttons to click or text to enter, suddenly it has become a way of documenting tangible value in this list of immensely theoretical and highly complex technological revolutions.
Here are a couple examples of uses cases that really nail it.
Big Data - Delta and the Guest Service Tool
Delta partnered with Avanade and Nokia back in 2013 in an effort to introduce a device to its front line staff that would provide them with real-time data around their flights and customers. Some examples of its usage included:
- Identifying VIPs, frequent travelers and special needs customers.
- Handling customer complaints on the spot by allowing spot mileage bonuses when deemed warranted.
- Taking customer meal orders.
More importantly, it has recently evolved to be an app that uses the immense amount of customer and flight data that Delta has in it's coffers to better the customer experience. By simply telling the FA that the customer had recently been inconvenienced by a delayed flight, recently achieved a frequent flyer milestone, or may miss their connecting flight, the experience is now context-based and tailored to each passenger.
Internet of Things - Apple HomeKit
I've always said that Apple's goal isn't to make a product, it's to make an ecosystem. It really started this when the iPhone's App Store launched and suddenly a whole world of capabilities became part of what was once a simple two-way communications device.
Furthering this effort, Apple launched the HomeKit effort which dictated, in the form of a standard, how everyday appliances and devices found within the home can communicate with one another. The result was a still evolving mesh of devices that, when tied together and tossed with a little logic, became a single entity that is conscious in a way. Your bedroom light turns off when you leave the house in the morning, doors automatically unlock when you get home, temperatures magically change when it's time for bed. Dumb things are smart and smart things make life better.
All of these big, wonderful, terms are just that - terms - unless you can find a use for them. And maybe their use doesn't need to be as grandiose and equally abstract as completely changing the way you do business or live your life, maybe it's as simple as telling your customer that you're sorry their previous flight was delayed and that this drink is on the house.