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.
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.