Our Values

Our mission is to deliver the best performing software that does exactly want you want.

Occam’s Razor

"Let's go with the simplest solution."

The influential, and controversial, philosopher and Franciscan friar, William of Ockham, wrote “entia non sunt multiplicanda praeter necessitatem”. Amazing stuff.

Newton followed it up with “We are to admit no more causes of natural things than such as are both true and sufficient to explain their appearances.” Never a truer word spoken.

Albert Eistein’s plea to make “everything as simple as possible, but no simpler” is a popular adage used in all walks of life (of course, Einstein was also attributed with “Reality is merely an illusion, albeit a very persistent one” and “I am convinced that He (God) does not play dice”). You’ve got to love Albert’s mastery of the short quote.

But Clarence Leonard “Kelly” Johnson said it best when he coined the acronym “KISS” – Keep it Simple Stupid!

KISS

An awesome 70′s hard rock band or one of the great software engineering principles?

While you ponder that question, let’s focus on Johnson’s work as team leader at Lockheed Skunk Works. One of the challenges he gave his team was to give them a handful of tools and then ask them to design a jet aircraft that was repairable by an average mechanic in the field, under combat conditions, and with only those tools (the term ‘stupid’ referred to the relationship between the way things break and the sophistication available to fix them).

When we don’t follow this principle in software engineering, the following phenomena occurs:

  • Creeping featuritis. The ongoing expansion of new features in software, where extra features go beyond the basic function of the product and results in over-complication, or “featuritis”, rather than simple design.
  • Over engineering. Where software has performance far in excess of needs and, as such, are usually more expensive, more difficult to build and maintain and have issues in usability and productivity.
  • Scope creep. Uncontrolled changes in project scope that lead to budget overruns, late delivery, creeping featuritis and over engineering… But ultimately leading to not delivering what the customer wants!

Worse is better

Quality does not necessarily increase with functionality. This was Richard P. Gabriel’s assertion. He argued that software that is limited, but simple to use, may be more appealing to the user and market than software that is more comprehensive, but harder to use.

The “worse is better” approach surmises:

  • Simplicity is the most important consideration in design.
  • The design must be correct in all observable aspects. It is slightly better to be simple than correct.
  • The design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases.
  • The design must cover as many important situations as practical. Completeness can be sacrificed in favor of any other quality and MUST be sacrificed when implementation simplicity is jeopardised.

But what does it all mean?

When it’s all said and done, simplicity is a subjective concept. Not everyone shares the same ideas about simplicity and what is simple vs complex. Simplicity is no substitute for expertise, experience and innovation.

At Odecee, simplicity is a core value that we cherish. Because we firmly believe that complex problems deserve simple solutions. It doesn’t mean we ignore complexity, or compromise in delivering what our customers want.

Simplicity is about finding effective and innovative ways to solve problems.

That’s how we deliver Fast, Simple, Software.

To that end, we leave you with one further quote from another great human, Aristotle.

“Nature operates in the shortest way possible.”