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.