Our philosophy

Business

  • Code and More - we do not just deliver code, we advise, plan, and understand the business context of requirements.

  • Deliver what the customer needs, not just what the customer specified.

  • Transparency: tell customers what is happening. Discuss delays and problems promptly.

  • Transparency 2: tell customers who is doing what. No off-shore subcontractors called "our team".

  • Plan ahead and make systems that can be modified as requirements change.

  • Try to anticipate potential business and operation problems, not just technical ones.

Technical

  • Pragmatism: what works is more important than sticking rigidly to philosophy or methodology - but be careful about making exceptions.

  • Keep it simple: simple means cheaper, faster, more reliable and more secure.

  • Code quality matters: code should readable and maintainable.

  • Do not reinvent the wheel: use libraries and frameworks.

  • Avoid lock in: the option value in being able to change suppliers is huge.

  • Open source is a great way to avoid lock in.

  • Understand customers needs: the better we understand our customers, the better we can do our job.

  • Its better not to do something that do it badly: turn down doomed projects, or bad matches for our skills.

  • Self hosted is better than software as a service, and plain servers are better than platform as a service. Sending email is the commonest exception.

  • Good practice for those who need massive scalability is not always good practice for those who do not.

  • Start with a minimal viable product and make lots of incremental improvements, rather than try to jump straight to a complete and perfect product.