Dev Chair : Faster, better, cheaper with Agile?

A couple of months ago I was fortunate enough to join ThoughtWorks, a company that advocates the use of Agile software development practices (Extreme Programming, Scrum, TDD, etc.) to bring business value to our customers. I have been using Agile practices on my previous project for over three years and it had proved to be highly successful. And ThoughtWorks' experience in this area proves that Agile can also be applied successfully on large enterprise software projects. But can Agile be used on a highly mission-critical software project such as the one for the Orion spacecraft?
Over ten years ago my first programming job was for small software company developing real-time, safety critical software for controlling railway trains. The work we did was the embodiment of the Waterfall model. The system requirements were collected and analyzed. The model was designed and validated. Then we mere programmers set out to write code to realize the model. Huge amount of unit tests and integration tests were created to make sure our code did what the model said it should do. All the while, the project manager kept track of our progress to ensure that, hopefully, we delivered the product on time and on budget.
At first glance, Agile sounds like a good fit with this type of project where requirements are generally very well defined and correctness are paramount. Short iteration and test-driven development will ensure features are delivered often and proved to be working by the unit tests. Continuous integration means there will be fewer surprises as multiple systems are joined up to work with together. The costs of requirement changes will be reduced and can be implemented quickly, rather than in the next version.
But would the world of safety /mission critical software development, dominated by engineers and scientists, be receptive to the less rigid world of Agile development? Would they feel that without the top down approach, its highly structured development process, and the tightly prescribed set of delivery artifacts, the project delivery cannot be guaranteed?
I would love to hear from people who have more recent experiences in this area of software development with regard to Agile. Is it being used, is it being used widely, and how effective it has been?












Comments
5
Subscribe to commentsMattOct 22nd 2007 10:36AM
Neat, LCARS.
EricOct 22nd 2007 9:34PM
haha! LCARS FTW! I wonder if that borders on copyright infringement. Could LCARS possibly be copywritten by Paramount??
HuntnPeckOct 23rd 2007 10:35AM
Um... And this has what to do with the latest downloads? This is completely off topic.
As interesting as this discussion could be, I highly suggest that this be moved to a different forum. A DevChair blog might be a good idea as most people who come here have no clue what you may be talking about. They are most interested in the latest downloadable app or interactive website, not software development.
And no, we don't use Agile. We use a self-regulated software process that keeps up close to a CMM level 3 organization. It's very hard for small (
HuntOct 23rd 2007 10:36AM
less than 50 people) companies to afford such tools.
Phillip Calçado "Shoes"Oct 23rd 2007 8:32PM
The closer experience I have is in real-time billing systems for mobile networks and risk analysis tooling. Both projects were deeply waterfall and I think it was a msitake.
One good thing about those kind of projects is that we have a lot of people with business skills around, even QA are composed of business experts that were teach to write test cases. in that scenario getting together development team and users into little incremental deliveries seems just a piece of cake.
Unfortunately those are generally the most conservative companies. Specifications ahd to be approved by dozens of people before the first line of code were written and, of course, the specs were often wrong even after that tight approval process.
http://fragmental.tw/