views:

67

answers:

2

I'm still a pretty new project, and I haven't really worked on any large projects yet. However a few projects for school has shown me something I have never really thought of before.

Pre-Project planning. One project we ran into a huge problem at the very last minute, and the other project was not divided up between partners very evenly, such that all the work was actually done at the end.

So my question to everyone here is: How do you plan out the project beforehand?

Please try to cover the following: Design (draw out UI by hand, UMLs, etc.) Division of Labor Timeline (especially how you estimate how much time is needed for certain things) and anything else you can think of.

Thanks for all the help!

+3  A: 

I do very little before starting on a project. I consider everything I do for the project as part of the project.

I realise that's not a very helpful answer, so this is what I generally do at the beginning of a project:

  • I check that the input to the project is clear. Do I know what to do? Are there any assumptions that have not been validated yet? If the project is not clear, or my understanding might be wrong, I go back to the customer / project proposer to make sure that I understand what they want me to do correctly.
  • I make a ballpark estimate for the project by breaking it down into subtasks that I estimate to take no more than a few days (including prototyping). I sum all these, and use that as a rough guideline for how long I think it will take. Estimates have TWO values: the "average case" estimate, roughly 66% percent chance of finishing within that time, and the "bad case" estimate, roughly 90% chance of finishing within that time. If the difference between the two values is high that means it's a high-risk item.
  • I start prototyping the project, starting with the highest risk items. If I learn something from the prototyping that goes straight back into my ballpark and subtask breakdown.
  • When risk has been reduced enough in my opinion, I get rid of the prototypes, and do the tasks the "right way".

Important to realise: You can NOT plan for everything up front. Software is unpredictable, the customer's requirements change, you realise you've failed to address some assumptions. Don't get discouraged if you get it wrong. You will ALWAYS get some details wrong the first few times.

MadKeithV
+1  A: 

There are several steps that could be considering before the start of a project. However the real start of a project is when the idea is given, then you should analyze how viable it is. A great guide for this is the PMBOOK. http://www.unipi.gr/akad_tmhm/biom_dioik_tech/files/pmbok.pdf

Milena