Seven Principles for Software Development

7 SW Development Principles: The Reason It All Exists, KISS, Maintain the Vision, You Produce - Others Consume, Future, Plan re-use, Think.
Read more
Article

Seven Development Principles


The Reason It All Exists


A software system exists to provide value to its users. This has to be taken into account before every decision, even though the value as a measure is relative.


KISS (Keep It Simple, Stupid!)


All designs should be as simple as possible. Simple designs are usually the most elegant ones (more maintainable and less error-prone).


Maintain the Vision


A clear vision is essential to the success of a software project. The lack of conceptual integrity can lead to multiple different abstractions not working together properly.


What You Produce, Others Will Consume


The system will be used by others, so, keep the audience in mind during the development. Try to produce something easy to use, maintain, etc.


Be Open to the Future


Systems that can last longer have more value. Systems must be ready to adapt to changing requirements. Address this by solving general problems instead of specific ones.


Plan Ahead for Reuse


Reuse saves time and effort. If you can achieve it communicate the reuse opportunities to your peers. They cannot use something they do not know exists.


Resources
wiki.c2.com

Similar posters

Maker's vs Manager's schedule
Maker's vs Manager's schedule The differences between a maker’s and a manager’s schedules stem from their respective workflows’ distinct nature. Makers rely on uninterrupted time blocks to tackle complex, creative problems requiring deep focus and sustained attention. Managers need flexibility to oversee multiple responsibilities, make decisions, and collaborate effectively across teams. As such, it is essential to thoughtfully assess...
Mission Statement
Mission Statement Long-term organization purpose, values and objectives. It should describe why it matters. This way it contributes to identity creation.
Value Stream Mapping
Value Stream Mapping The Value Stream Mapping is a Lean technique for managing flow and improving processes allowing to track the flow through a process.
Minto Pyramid
Minto Pyramid The Minto Pyramid Principle, a communication framework, advocates for a top-down approach to convey messages effectively
Spotify Health Check
Spotify Health Check The Spotify Health Check is a workshop, where teams assess their project and collaboration using 11 dimensions.
Maslow's Hierarchy Of Needs
Maslow's Hierarchy Of Needs Maslow's hierarchy of needs links basic human needs and desires, emphasizing that survival needs must be met before higher needs.
RACI Matrix
RACI Matrix RACI Matrix/Chart is the type of responsibility assignment matrix for effective work organization, communicating the responsibilities.
CEDAR Feedback
CEDAR Feedback CEDAR is a structured feedback model providing coaching opportunities via repeated revisiting and readjusting of the feedback and the goals.
STATIK Kanban
STATIK Kanban The Systems Thinking Approach To Introducing Kanban (STATIK) is a repeatable way to start with Kanban resulting in continuous improvement.
Data Model Canvas
Data Model Canvas The Data Product Canvas is a framework for developing data products based organized into 10 blocks within 3 domain areas.