The Coding Process
- Define your project
- Clearly state what you wish to accomplish
- Make sure this objective has measurable goals!
- Explain your MVP (Minimum Viable Product)
- This entails the core functionality of your application
- What does your app need to do work?
- This is the 80 in the 80-20 rule
- Break code into small chunks
- Make user stories - small detailed explanations of the user's point of view when interacting with your app
- Example: The user clicks on the button in the center of the screen and an alert appears
- User stories should be limited in scope
- User stories are rated in difficulty to facilitate project management
- User stories don't just have to be for the frontend! The API is a user interface too.
- Write a design doc
- This resembles a program in structure
- Higher level than actual code
- Make a comment skeleton in program files explaining what the code should do
- Start coding!
- This should be a minimal amount of work
- You should have the code already spelled out in the design doc
- Know when to stop
- Don't go for 100% perfection - you'll never finish!
- Once the MVP is operational, stop coding and review
- Review
- Make sure the app is operational
- Check for errors, bugs, codesmells and crashes
- If any fixes need to be made, spell them out clearly now so they don't cause problems later
- Code some more
- Fix any problems revealed in the review process
- Minor improvements, bug fixes, etc. - no major changes should happen at this point
- Go back to review when this is done, unless nothing needed changing (highly unlikely)
- Review one more time!
- Come on, I know you didn't look hard enough for that bug. Trust me, you'd rather find it sooner rather than later.
- Finalize and start production
- Bring your app live!
- No changes should occur at this time
- Start the maintenance process
- You didn't review your app well enough before. I promise.
- You'll need to make fixes and changes to your app during its lifetime.
- Follow established criteria for the update cycle.
Contributions
I gladly welcome updates to this manual! Please, fork and submit your changes upstream.