I was talking recently to the CEO of a company that sells critical power systems. He asked 'why is software never on time? Why do engineers always want to add another feature?' I responded that feature creep isn't instigated exclusively in engineering. We went way down the rabbit hole from there...
After two and a half years of development which was preceded by quite a bit of requirements gathering, DSP5 is shipping - in January 2010 as advertised. I like punctual, but I realize releases don't always go as planned. I've been involved with software projects that were late and some that never shipped. Those were unpleasant episodes.
Hard to do
I've corresponded with some other developers of astronomical software on various issues, and it's pretty clear that releasing software on schedule is pretty hard to do. Part of the reason is feature creep, but there are other reasons beyond developers' control: changes in operating environments (e.g. Windows), advances in hardware and the complexity of the application itself all conspire against the calendar. Fortunately Microsoft did a much better job with compatibility in Windows 7 than in Vista. Testing with different hardware is getting formidable - there are 32 and 64 bit computers in different configurations. Heck, the office is overflowing with computers and astronomy gear. As for the complexity of the application, all programmers use that excuse, right? Maybe so, but I'm always assessing different methodologies to help manage the complexity. Parts of Agile Development look promising. The idea is to develop and release smaller increments of functionality. The desired end is to release feature updates to version 5 on a 6 to 9 month cycle. Bug fixes remain highest priority, with these updates released ASAP. We'll see how it goes.
So version 5 is ready. As I review the features that have been requested, I'm pleased with the number that are implemented now. Others need to be implemented after other pieces are in place, but they are on the development plan. I guess I'm guilty of the engineering mentality that my CEO friend talked about: there are lots of features and enhancements on the drawing board.
No comments:
Post a Comment