Tuesday, September 23, 2014

The Coding Process

A lot goes into the coding process, and it can be confusing.  That's why I wrote up this guide; to help newcomers navigate the sometimes-difficult process of bringing software live.  It's open-source, so if you have any changes or suggestions you're welcome to help out!  You should really follow the link, because the version here won't be updated.

The Coding Process

  1. Define your project
    • Clearly state what you wish to accomplish
    • Make sure this objective has measurable goals!
  2. 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
  3. 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.
  4. 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
  5. Start coding!
    • This should be a minimal amount of work
    • You should have the code already spelled out in the design doc
  6. Know when to stop
    • Don't go for 100% perfection - you'll never finish!
    • Once the MVP is operational, stop coding and review
  7. 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
  8. 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)
  9. 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.
  10. Finalize and start production
    • Bring your app live!
    • No changes should occur at this time
  11. 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.

1 comment:

  1. +1 on google plus, the best social network. :v

    ReplyDelete