4 ms·
This has been a popular point lately. I wonder if it is a reflection of our current tool set around architecture and design. It seems realistic that implementin
by tenpoundhammer 13y ago
This has been a popular point lately. I wonder if it is a reflection of our current tool set around architecture and design. It seems realistic that implementing a "simple" new feature should not be inordinately costly, I don't dare to claim it should be a one to one relationship, but the current ratio seems out of control.
I believe as the software industry increases it's understanding of architectural design that we will learn to add most types of features, in a systematically less costly way. Making them easier to maintain,update, and detangle from the rest of the software.
In fact, I am finding that we are just now arriving at that point with functional languages. Not that functional is our savior, but it does provide a good set of tools for this particular problem.
To wrap this up, I don't think software needs less code and less features. I think it needs better tools and methodologies with which to deal with creating, updating, and maintaining features and complexity.
- anarchitect 13y agoOP here, thanks for the comment. This topic is on my mind at the moment because I'm having to decide which features live and die as we migrate from a legacy platform to a new one. We're very keen to avoid unnecessary technical debt in that process, and to put better decision-making in place around new features as they are introduced.
- lifeisstillgood 13y agoA gratuitous comment if you don't mind - I would try dropping the term legacy. It tends to set an existing system in concrete and creates a mindset of leaving it to pasture instead of actively refactoring and rewriting all the code existing and new, as architecture and sanity demand in short: rip a little functionality out of the existing code and refactor everything like mad to make it a sensible cut. I have found about As much effort goes into fixing up the existing code that just got damaged as writing the new.
- anarchitect 13y agoFair comment, but in this case the situation you describe is fairly accurate as it's a system that for various reasons my team don't have full control of.
- tenpoundhammer 13y agoI realized that, I think my comment just got a bit off track. I thought your post was thoughtful and appropriate. Even if design were a million years in the future and as good as it could get, we still have a finite amount of time and resources so decisions have to be made.
- vermasque 13y agoI partly agree here. We do need better tools that make complexity more maintainable. On the other hand, we have to be wise in the features we choose. Design has to change to accommodate features, and sometimes the design would be better without supporting a feature. It's all about benefits vs. costs.