General Philosophy

Working software programming requires a different engineering mindset than you may be used to. Is a mix between a good programmer, an MVP maker and a responsible QA. Instead, you will need to learn a new philosophy of development:

Be a nice programmer

  • The very first step is to be hungry of knownledge and to learn design patters, TDD and SOLID
  • Take care of your work. At the end of the chain, there's an user that will use your application
  • Be focused, your not a robot. Deliver as much quality as you can.

Deliver software that works

  • Is better to deliver something small that works perfectly than a lot of non yet working functionalities
  • Make baby steps. Small iterations of test-code-commit-check is a good idea
  • Integrate frequently and automate as much as you can
  • Talk with the users and make them participate in the process

Go live Ownership

  • Make sure all the test suites are green (unit, integration and functional)
  • Make sure all acceptance criteria are met. A good user story comes with acceptance criteria that let us check the main functionality
  • Although everything went fine, don't forget manual test, is always necesary.
  • Automate the deploy process and inform the users, let them choose if they want a demo meeting to get more feeback and make an application that fits their expectations