Forrester's Carey Schwaber recently wrote a nice post on the typical obstacles that application developers face, The "If Onlies" of App Dev. For example, if only “requirements were complete” or “there were enough time to test at the end of the life cycle" or "we weren’t constrained by legacy" among others. Using a transportation metaphor, Carey then suggests that changing the vehicle through approaches such as SOA and Agile processes can negate the problems raised by the 'if onlies.' I especially like her insertion of the image of Homer Simpson’s dream car as a note of irony.
She asks her readers about their 'if onlies.' It is a good question for people who create products that support application developers. It is also a good question for the architects, testers and developers delivering functionality for end consumers. We are constantly to talking with clients about their 'if onlies' to discover new ways we can change their means of transportation. It made me think: what are the 'if onlies' our customers are saying about their own process?
Testing:
- If only we had the [time/budget/resources/tools] to test... or "If only management cared more about quality before the project due date"
- If only the [QA team didn't see UI testing at the end as application testing] OR [development team didn't see unit testing as actual test coverage], we would have better delivered quality.
- If only I could use my component tests in regression and then load testing phases it would save us a lot of trouble.
Validation:
- If only I could invoke a behavior somewhere in my application, like at the UI or web service, and then verify it somewhere else in a database or other system...
- If only BPEL provided enough information to validate my business process (sorry it won't)...
- If only I could get business stakeholders like analysts, partners and customers involved in validating my applications.
Virtualization:
- If only I had access to the mainframe for more than 2 hours a week
- If only the transaction or information Service my application leverages didn't charge me fees even for my test transactions while I'm developing
- If only we didn't "go Agile" I wouldn't be waiting on the other small team to finish developing their own component before I can continue developing and testing mine...
- If only I could have my own test environment including our SAP
financials, Oracle order management, multiple databases & CORBA,
etc. that I can't just virtualize with hardware methods, without
basically doubling our team size and budget to support that instance!
Thanks to Carey for this image to consider when facing the challenges of application development. I think if more AD vendors prioritized their own development efforts around the "if onlies" of their customers... there'd be less of them.

Comments