GantSign Ltd. was founded in 2007 as a software and software consultancy company. The name is a portmanteau of “elegant” and “design”; it is through elegant design that software best meets the needs of a business rather than being an obstacle holding that business back.

The Oxford English dictionary defines elegance as:

The quality of being pleasingly ingenious and simple

In software an elegant design is typically one that:

  • fulfills it’s purpose
  • is easy to test
  • prioritizes common requirements & uses cases
  • focuses on getting the maximum benefit with the fewest features and least cost
  • focuses on doing a small number of things well rather than a great many things poorly
  • is intuitive
  • leverages familiar patterns
  • favours readability over conciseness but tries to do both
  • encourages best practice
  • is self documenting
  • minimizes the scope for bugs
  • encourages fail fast behavior for bugs
  • is easy to debug when things fail
  • encourages the developer to write the parts of the code that are likely to need debugging
  • encourages the developer to write the parts of the code that are likely to vary most with use case

To achieve an elegant design you need:

  • a solid understanding of the requirements
  • years of experience from iterative improvement
  • an unquenchable thrust to learn from others
  • some lateral thinking
  • an appreciation for feedback
  • to start small
  • an iterative development approach
  • a healthy resistance to unnecessary and unprofitable features
  • a pragmatic approach to compromise

You can see implementations for some of GantSign’s elegant designs in our open-source projects.