By now, the arguments for improving product requirements are very familiar – all too familiar. Bad requirements lead to misconceived projects, many of which fail outright. The survivors can waste frightening quantities of time, effort, and money. (And if you've been unlucky enough to be part of one, you don't want to repeat the experience.) In technology companies, even the best requirements are no barrier against failure: insights into what kinds of problems customers face, how the company's products and services can help address them, and why they'd consider getting the vendor's help remained siloed in the requirements, never reaching other people in the company – sales, marketing, support, etc. – who deal directly with customers and partners.
Nonetheless, it wasn't until relatively recently that the market for requirements tools expanded and diversified, as described in my previous post. Many organizations had the same attitude toward requirements that most of us share about regular visits to the dentist: We understand the clear, direct benefits of changing our behavior, but we'd rather not make the effort. Clearly, something changed in the last few years to increase the general interest in adopting better requirements hygiene.
In fact, many things changed, all pointing in the same general direction. Not every potential requirements tool adopter experienced the same new pressures, so you won't be able to identify a single, iconic tale. Instead, the history of the requirements tool market is more of an anthology of stories that have the same moral: the business consequences of bad requirements are no longer tolerable.
Jean-Jacques Rousseau wrote, man is born free and is everywhere in chains. So too Enterprise app deployments are conceived as self contained yet everywhere are integrated with legacy and complementary apps.
My colleague Ken Vollmer and I are looking at packaged apps integration best practices and how these might change as some apps move to the cloud. We are asking:
What kind of middleware do you use?
How do you help process owners to assemble (composite) processes that have transactional integrity?
What do you do about the conflicting data models of apps from different stables – for example yours and those of a third party or perhaps in –house?
How far can so called “canonical” data models and meta data help to overcome such problems?
If you have experience and an opinion about what constitute the top three best practices in such packaged apps integration, or if you can warn about the three most egregious pitfalls to avoid we would love to talk with you.