Don't Let Your Product Bit Rot in Development

Bit Rot and Software Rot are observations digital content and software actually degrades over time, even though the software and content aren't physical. Of course, these things have to be stored on something, which will be physical and subject to degradation.

But beyond the issues with storage media, there are operational environment issues. The software that reads a particular data format can become unavailable, making the data inaccessible. Or for software itself, the other programs or operating systems that it needs to run can become outdated, so that you can't find a place to run the software.

Finally, beyond the operating environment, the user environment is also subject to change. Big examples include the move from desktop browser to mobile and the move from desktop software to browser based systems before that. In both cases, a lot of software became effectively useless. This happens at the enterprise or even the departmental level as well when a business changes an internal process.

User environment changes happen most frequently, and they can happen a lot during new product development and even because of new process development. To understand this, consider a department that's building new software to manage the flow of products in a warehouse.

They currently have a manual process, and they're going to automate it. Of course, they want to implement the best solution. However, without any software in place, they can't actually measure anything to determine if one procedure is better than another. The management team really only has opinions about what will be best.

Unfortunately, in circumstances like these, the opinions will change. And opinions will change more frequently when there's no cost or reference point.

As a product manager, you are inclined to think that there will certainly be a cost every time the direction changes. Code will need to be rewritten, and the schedule will be delayed. But without the reference point of an existing product, the response from management will be that it will save money in the long run to get it right now. If they knew what right was, that could be true, but without a measurement, they don't. Without any software to reference against, they can't measure.

With every change in direction, some of your code rots and has to be discarded. The best way to prevent this is to deliver software early and often and to get your customer engaged in the process. This way, your users will have a reference point, and your software won't rot in the midst of the development process.