Editorials

Getting To Version Three

One of my managers in the past shared with me a common pattern in the lifecycle of software development or implementation. We are under great pressure to get things working on the first version. A lot of shortcuts at taken to make things work…we’ll get back to it later when we have more time. Right now, we just need to make it work. We work hard and get things going.

If there is reasonable success we decide it’s time to create version two. Version two often ends up with a lot of bloat. We try to put everything into it that we didn’t have time to do in version one. We work hard, once again, with less cutting of corners, and get the system working. This time, because we put everything we could have ever wanted into the software, it suffers from bloat. Things are too complicated for users to understand. Or, performance problems arise due to the complexity.

If the product is good enough, we have the good luck to take on version three. In this case we take a more pragmatic approach. What does this software really need in order to be a viable product? How do users really interact? What makes the software efficient for the user and for the system as a whole? Hopefully, a mature architecture has been established, and performance requirements are defined. Version three is often the best release of a software implementation.

From a personal perspective, I really enjoy working on Version Three projects. At that point you have a very clear understanding of what you are putting together. With the right environment in place you can demonstrate a great deal of success at a very fast pace. As we enter the last third of 2016, I wish you all an opportunity to work on Version three.

Cheers,

Ben