Context: Business and Technology Silos
In my experience, there's often a lack of clarity and communication between business and technology – not because they don’t like to work with each other but more because they don’t understand each other’s needs. As a result, projects generally take longer and are over budget.
Here's a very common scenario: a firm has a critical business need for which they want IT to develop an application. Unfortunately business and IT are working in their own silos. Business is writing reams of vague specifications and throwing them over the wall to technology. Technology, of course, interprets the specifications in their own way and starts to build the application. In all sincerity, the two groups meet regularly to discuss the requirements. Nevertheless, the complexity of the business problem and lack of a good process prevents these meetings to be very productive.
Months later, technology has implemented a few features. They ask the business to test them. Now that they have a real interface to play with, business starts entering all kinds of scenarios and finds that the system fails on several key ones. Technology folks begin to realize that their understanding of the business domain is very shallow and they'll have to rework the domain model in a major way!
Has this ever happened to you? Can it be prevented? I would say yes – there are several techniques we can use to make the system development process more productive, efficient and fun!