At TIBCO, we’re constantly working on model-driven BPM projects. They tend to be very well-suited to agile development techniques and usually pass through building, testing, and deploying models very quickly. A BPM project usually has urgency for our customers and requires speeding up the traditionally slow QA and testing phases.
We have seen examples of customers taking a BPM application from concept to production in as little as four weeks. This seems impressive as a technology time frame, and yet is achievable by most companies. It requires companies to fundamentally change the way they think about implementing applications that use a BPM platform like TIBCO’s.
Put on the Brakes
A recent TIBCO customer wanted an agile development cycle, but had their remaining lifecycle (UAT, SIT etc.) designed for classic waterfall systems development. The somewhat ludicrous result was “sprint” development phases lasting from four to six weeks, followed by UAT/SIT phases lasting three to five months. This is akin to accelerating a Porsche to top speed and then completely stamping on the brakes. If the same ratio between agile development and agile testing was applied to traditional waterfall development, the customer’s testing phase should be no more than one to two weeks.
The extended UAT/SIT phase is a historical accident created to cater to traditional programming projects, where it used to work well. However, the old way is proving to be a millstone for the new paradigm of development platforms that are rapid and model driven in nature. The extended testing phase has resulted in programming teams developing alternative techniques to allow end users to self-provision some functions, and thereby remove the need to cycle through SIT/UAT each time.
This has created unexpected drawbacks such as multiple duplicate business processes, and high maintenance and administration overhead. It has also resulted in a gradual estrangement of the line of business from the definition of new requirements and refinements to the application. Thus, the perception of the end users is that the application falls short of their needs on many fronts.
The conclusion here is that if you want to get the best out of model-driven BPM or model-diven SOA development tools,you need to adopt an agile mindset all the way from requirements gathering to production. Otherwise, you may not realize the TCO/ROI promise of these next generation platforms.