the power of software development

Why We Take Our Development Processes So Seriously

Whenever you find yourself on the side of the majority, it is time to reform (or pause and reflect). – Mark Twain

When that second plane hit the twin towers on 9/11, the silence that fell across the world was eerie. At once we realized that things were not going to be the same from that moment forward. No matter the politics involved, the fear that 9/11 instilled in America is palpable even today.

What if a better software database could have prevented that? Does that sound crazy?

In Jeff Sutherland’s book on SCRUM, and how they managed to upgrade and update the FBI computer system after 9/11:

As Senator Patrick Leahy of Vermont, then the ranking Democrat on the Senate Judiciary Committee, told the Washington Post at the time:

“We had information that could have stopped 9/11. It was sitting there and was not acted upon… I haven’t seen them correct the problems… We might be in the 22nd century before we get the 21st-century technology.”

The referenced Sutherland book spends a whole chapter detailing how archaic — it was referenced as being 30 years out of date — the data management systems were, and how 9/11 was a wake-up call to develop a better computer database for the FBI. The FBI had records and information on most of the hijackers, and using a “modern” database would likely have had these flagged.

The FBI proceeds to blow millions of dollars on, not one, but two replacements, before going to Sutherland and his team (who would not only go on to build the replacement but also introduce SCRUM on the global scale).

Why it Matters

Most seasoned developers will tell you that finding a good coder isn’t that difficult. A true “developer” is much more than a coder, it’s someone who uses code to solve larger problems. Great developers solve problems correctly, the first time around. New and poor developers “solve” problems with hacks and code, silently trading a few days of saved time for months of headaches down the road.

As I became professionally involved in software development, I liked the processes of planning and building software just as much (even more) than the coding. I felt that just sitting down and hacking at something rarely achieved long-term results — and I was proven right time and time again.

I explored DevOps, Scrum, Agile, and the other systems based on Lean Manufacturing (also known as the Toyota Production System). I liked a lot of the principles and really enjoyed digging into the pros and cons, case studies, hate articles, love articles, and trying out different methods within each system.

When I realized that this “acceptance” our society has for projects being delayed, out of date, and behind on budget (but still expensive) I wondered how many other 9/11s (in medical fields, engineering, and even production) have occurred that we are unaware of.

This is our core belief behind J9i — using these systems to create ways to solve problems. That we can develop a “perfect” method of solving complicated problems. While SCRUM worked for the FBI build out, and to introduce new ways of doing things to the world, I view this and other systems of accountability as tools for the ultimate toolkit: the ability to solve the most complicated problems with teamwork from around the world.