I’ve been around long enough to see many different efforts to improve software quality fail. Often the ideas are fairly one-dimensional rather than wholistic. I’ll give you one example.
Let’s say there’s a decision that everyone must use continuous integration in the next release. Even if it’s not sold as a panacea, there seems to be an implication that it’ll definitely lead to significantly improved quality. And it’s not to say that it couldn’t. But the problem is that for continuous integration to be very successful, it requires other things like good development practices and perhaps a suite of unit tests.
Having said all this, many could be done in isolation.
Better source code management practices
Most of this revolves around source code management. A common way to use tools like git is to do the following:
- Branch for a bug fix
- Branch for feature work
- Branch for releases as