The problems and failings of software development are the topic of so many essays, articles, and discussions all around the Internet. When I was in college, the failure rate of software projects was over 80%, and it seems that recently I've seen "success" rates reported in the 30-40% range. There's a nice write up at CodingHorror If you want to read it.
One of the very few success stories I'd seen back in college was from NASA, that often criticized group for various failures. The group that writes the software for the US Space Shuttle was put forth as a model of software development, earning a CMM level 5 from the Software Engineering Institute. I was reminded of this recently with an article in FastCompany magazine called They Write the Right Stuff.
It's an interesting read, and it has a great quote in there as well. The article says this group produces "grown-up software" with remarkably few errors. Granted the consequences are greater for their software than for most of our web pages or corporate applications, and their budget is substantially larger. Are there lessons to be learned? I'm not sure if there are or not since the budget, and motivation, can make a huge difference.
I think there are two very interesting points about this group, however, that I think are important things to learn. The first is that their culture is built on success from the group. They work together, they accept mistakes and at the same time, don't tolerate them. They work to get better all the time, and they work at a mature pace. They work as a team, and to me, that's critical. Hire for the team, build the technical skills on top of the culture.
The other thing? "The database is the software base." They learn from their mistakes, primarily using a database of all changes and errors. I think that, having a very tightly coupled knowledge database that is built on the software, can make a huge difference. Kind of a like a custom SQLServerCentral for your specific software project. Imagine if all the errors, mistakes, and issues were documented in a database, searchable and linked to the code. You might make fewer programming mistakes in that environment too.
As with most successful things, it's hard work; it's people grinding-day-after-day, adhering to a process. It's an environment that limits turnover and pushes forward every day that succeeds. Something few companies are willing to invest in.
Steve Jones
The Voice of the DBA Podcasts
The podcast feeds are available at sqlservercentral.mevio.com. Comments are definitely appreciated and wanted, and you can get feeds from there.
You can also follow Steve Jones on Twitter:
or now on iTunes!
- Windows Media Podcast - 28MB WMV
- iPod Video Podcast - 26.7MB MP4
- MP3 Audio Podcast - 5.4MB
Today's podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.
I really appreciate and value feedback on the podcasts. Let us know what you like, don't like, or even send in ideas for the show. If you'd like to comment, post something here. The boss will be sure to read it.