This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Deploy First Development
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Gary King points to a NY Times story (registration required) on a new police system that went live in San Jose. They practiced what you might call "Deploy First Development". There are so many things wrong with what they did that it's hard to count them all:
Minimal testing
No end user involvement in development
The latter is especially critical, since the system in question is used by dispatchers and patrol officers - here, let's pull a quote from a dispatcher:
It takes longer to give officers information about the prior arrest record of someone they have just caught, said Melissa Albrecht, a San Jose dispatcher for 15 years. "Does that two extra minutes make a difference when they're standing there with a felon?" she asked. "It could.'' In September, Ms. Albrecht sent a six-page memorandum to the police chief listing her concerns.
She credits Intergraph with many improvements. But the system still does not allow dispatchers to perform several tasks simultaneously, and this causes delays. "What they keep throwing at us is that the system works as designed, and my question for them is, 'Does this design work for us?' " she said.
Right there is a problem that is so prevalent in software development - "it works as designed", not "the design fits the use cases". In the entire article, there's really no justification given for replacing the older system that had been in use since 1990. Now, there may well be good reasons - they just didn't get listed. The sole rationale given is that the old system was customized, and the new system is off the shelf. I might translate that as: The old system was built with our specific requirements in mind. The new system was built with no one's particular requirements in mind.
It's not that COTS software is a bad idea; after all, we don't all roll our own spreadsheet software. It's that a real evaluation that involves the end users ought to be performed before you swap one in - especially in a mission critical area...