-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Principle: Continuously maintain and evolve #505
base: main
Are you sure you want to change the base?
Conversation
- text: Write maintainable, reusable and evolutionary code | ||
href: /principles/write-maintainable-reusable-and-evolutionary-code/ | ||
- text: Well managed code | ||
href: /principles/well-managed-code/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could add this video as a related link: https://www.youtube.com/watch?v=jjFgyAOIhSg
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or could incorporate points from the video
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great talk that builds on Team Topologies, focusing primarily on ways of working, team structures, and organisational culture in software delivery. I think these ideas could be further explored as a separate set of principles or perhaps as a practical pattern, incorporating shared experiences and guidance on how they can be effectively implemented.
Discussed in SD guild:
|
During discussions on guild calls and group chats, members agreed that this principle is good to be added. Issue #506 logged to review and potentially extend or merge existing principles to avoid unnecessary overlap. The review will focus on the scope of the "Write maintainable, reusable, and evolutionary code" and "Well-managed code" principles. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
think this is ready with or without adding link to video.
Will close #504
This principle focuses on the active maintenance and regular updating of systems over time, ensuring they stay modern, secure, and efficient. While principles like "Write maintainable, reusable, and evolutionary code" emphasise how to build software that is easy to modify, and "Well managed code" highlights best practices for managing code collaboratively and effectively, this principle addresses a different phase: the ongoing responsibility to actually apply those modifications by updating codebases, dependencies, pipelines, and infrastructure regularly.
The key distinction is that even the most maintainable code will eventually become outdated if left untouched. This principle ensures we avoid the trap of stagnation, where multiple skipped updates result in systems that are hard to upgrade or replace.
By focusing on the watching and maintaining phase, this principle highlights the practical steps needed to prevent technical debt, security vulnerabilities, and costly big bang upgrades. It complements existing principles by reinforcing the idea that great systems don’t just need to be well-designed, they need to be actively cared for over time.
Content change
I can confirm:
e.g. Writing a principle and Writing a standard