Software Engineering Manifesto 2016

  • a public declaration of policy and aims

The role of Engineering is to react in a timely fashion to changing needs around the business; safeguard the existing development investment in technology; deliver value to the customer regularly; delight the customer often.

Product, Engineering and QA are symbiotic in nature. All three are required for delighted customers and a happy Board.

Product is there to do the right thing, Engineering is there do the thing right, QA is there to see that both of these goals line up.

Engineering do this by using a combination of:

The Right People

  • We strive to hire life-long learners and communicators
  • We encourage everyone to always be learning - about technology and themselves
  • We have a gender & ethnic diversity policy
  • We ensure career prospects are well understood and we actively align our people’s desires and needs against those of the business
  • We want people actively seeking to join us
  • We have fun doing what we do!

The Right Process

  • We follows an agile/lean mindset
  • We have lightweight management practices
  • We have evolving technical practices
  • We are always evolving the department based on new information, especially our measures.
  • We do not keep process for process’ sake
  • When something fails, we capture the failure
  • We don’t let process get in the way of doing the right thing

The Right Tools

  • We have coherent tooling
  • We use tools that are easy to set up and maintain
  • We use tools that others have built
  • We build tools when there is no viable alternative
  • We commit to maintaining tools that we have built

The Right Measures

  • We track release pipeline - Responsiveness and Predictability
  • We track technical debt
  • We track process failures
  • We track happiness/morale

The Right Technology

  • We use open source technologies
  • We contribute back to the broader open source communities where we can
  • Open source donations - giving away our money.
  • Open source licensing - giving away our stuff.
  • We use appropriate technologies (languages, libraries, frameworks) for the problem at hand
  • We buy-in and license technology when there is commercial benefit