Understanding the Problem
It’s easy to assume you understand the problem/what is needed, but that is a false belief in many cases. To get a better idea, look at answering the following questions:
- Who are the stakeholders?
- What are the unknowns?
- Can it be compartmentalized?
- Can it be graphically represented?
Planning a Solution
To Build the solution, you need to Plan the Solution:
- Have you seen problems like this before?
- Has similar problems already been solved? Can you use that solution?
- Can sub-problems be defined?
- Can a design model be created?
Building from the Plan
Building from the plan is critical if you want to arrive on time, on (or under) budget. Needlessly deviating from the plan is one sure way to fail. On the other hand, you also need to know when the plan is not going to work, and needs to be done.
Examine the results.
- Do that meet the requirements?
- Could you test each component?
- Have you validated the needs based upon the stakeholder’s requirements?
A principle is an underlying law or assumption required in a system of thought.
Reason it all exist
Understand how and why the software exists – that is to provide value to the user. Whether it helps pick stocks, make management decisions, or gives a little dopamine hit.
KISS – Keep It Simple, Stupid
All designs should be as simple as possible, but no simpler.
Maintain the Vision
Clear vision is key to success. Make sure things don’t get in the way of it. (Scope Creep)
What you Produce, Others will Consume
Always specify, design, document, and implement knowing that someone will have to understand what you are doing.
Be Open to the Future
Things change, your product must be able to change with the _______ (times, technology, trends, etc)
Plan Ahead for Reuse
Think!
Placing clear, complete, thought before action almost always produces better results.
Review the Results
Principles of Software Engineering was originally found on Access 2 Learn