I had my imagination stumble into a scenario recently based on Jeremy Miller’s blog entry “My Game Plan for Starting a Project from Scratch“. Imagine a development project where you get to start everything from scratch. Imagine you can setup everything properly from the test servers to the virtual environment to the development platform to the continuous integration server to the methodology process. What would you do? What would you use?
These are the questions that come to mind for each “part” of the development effort.
- What development process would you use? Waterfall or Agile? PMMI or Six Sigma? A Newly Advanced Magic Wand Approach?
- How long would you want your iterations?
- How many people would be ideal for your team?
- What would your continuous integration server be?
- What would your source control be?
- What would the task management software package be?
- What would the bug tracking software package be?
- What unit testing framework or frameworks be?
- What other code smithing, generation, refactoring, or other software tool needs be?
- What code coverage would one aim for? For the database? For the UI?
- What UI standards would one use? Microsoft? Custom? Big Bird UI?
- Would extensive Design Patterns be brought to the forefront of design?
- Would you do design 80% up front and 20% during development or approach in a more agile manner and save most of the decisions until the problem is approached?
What other ideas, thoughts, or notions would you come up with to make sure the effort runs smoothly? Throw me your thoughts, I’m curious what other ideas there are out there.