Improving software delivery in every organisation

Part 2

You may have chosen to implement a web interface or a command line user interface, or perhaps another type of UI.

These UIs can be divided into two categories, server-side (e.g. web interface) and client-side (e.g. command line).

Implement a UI from the opposite category.


  • Avoid testing the same logic from multiple test suites
  • Avoid coupling your business logic to specifics of different UIs (e.g. if ui == ‘cli’ then … else …).
  • Can you deploy your UI independently of your game rules? Could it be packaged up into a separate Gem?

Next Steps

Once you have implemented your alternative UI, go here.