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