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

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.
Kanban Practices
Kanban Practices Visualize Visualizing your work provides transparency, identifying the bottlenecks. Create cards for the items you work on. Think of the workflow – statuses that work items go through to make implicit policies explicit, which enable learning how the work works. Limit Work In Process Stop starting, start finishing. Limit the number of items being worked...
Theory Of Constraints
Theory Of Constraints The Theory of constraints says the throughput of any system is limited by at least one constraint slowing it down.
Classes of Service (CoS)
Classes of Service (CoS) Classes of service (CoS) provide a transparent way of categorizing the incoming work items and ensuring they are properly prioritized and governed to lead to meeting customer expectations. They enable managing risk, priorities, and cost of delay. Expedite High-priority items that should be worked on as soon as possible. Expedite class work items have critical...
Seven wastes of software development
Seven wastes of software development Similar to what TPS identified as seven categories of waste in manufacturing, also software development has its own wastes.
Core Kanban Practices
Core Kanban Practices One of the few rules or practices which are the foundation of Kanban are its 3 core practices: Visualize, Limit WIP, and Manage flow.
The prime directive of agile software development
The prime directive of agile software development Acronymat poster: The prime directive of agile software development - Never be blocked, the system must work all the time.
AIDAOR
AIDAOR The AIDAOR is a hierarchical model, where a persona moves through a series of cognitive steps before and after making a purchase decision.