Software Planning Practices

January 25, 2014
Reading Time: 1 minute

One of the most important aspects I’ve found in software engineering, is pre-planning. And I don’t just mean a simple discussion either.

I’ve been keeping track of the different items really necessary to successfully complete most of the more complex projects I work on, they are (but not limited to):

  • Lo-Def Screen Layouts (Using Fireworks, Pencil or Visio)
  • Hi-Def Screen Layouts (Using Fireworks, Illustrator, Photoshop, GIMP or Inkscape)
  • Project Workfow (Using Pencil or Visio)
  • Project Description and What’s to be accomplished
  • Technology breakdown:
    • Is it html/css/js? Or is it in Java?
    • What libraries?
    • Do any new technologies need to be learned?
  • Timeline restrictions
  • Build phases and milestones
    • Major milestones and minor milestones in the phases and at the phase transitions
  • Hosting architecture
    • Will it be a cloud server? Or is it a single VPS?
  • Database diagram and planning
    • Stored procedures
    • Foreign Key (FK) Relationships
    • Platform, Engine, etc.
  • QA Requirements and Planning
  • System deployment and update handling
  • Development Style (TDD, etc.)

Feel free to post anymore things that you do to improve the overall development process for your projects.