Posted by: uexpress on: July 9, 2008
With variety of applications and hundreds of web development framework and craziest client demands, one of the most common questions I hear from project managers are:
- How do I determine how long a project should take?
- How many resources should we introduce in a project?
- Which PM tool to use?
- Which development methodology to use etc etc
- How do I deal with nuisances of development L
Many project managers use the old-fashioned gut check method, in which they rely on past experiences to provide guesstimates for the following questions. While this method may occasionally work for smaller projects, it becomes more difficult to accurately execute as the project grows in size and complexity.
The following methods can guide you in determining your project schedules and cost with a higher degree of accuracy and help your organization efficiently plan and track projects.
- Activity definition
Activity definition is when you break down a project into the individual tasks that are necessary to produce the project’s deliverables. Here you define the modules to a very granular level and sit/decide in presence with a technical architect manager upon the timelines as most of the time in open sources you have to be very alert and updated on the latest developments.
For example in rails (MVC framework) you have the direct GEM/Pluggin to achieve a set of functionality in no time so if you are not aware and your client is aware then you are in mess, so be updated on these fronts
There are many ways to go about this, but I tend to use process decomposition through a Work-Break down structure; it allows me to break down each element of the work packages into a scheduled activity by team member based on who is responsible for the package. At this point, you can also create the activity lists, which help define what needs to be done later.
Note: I leave some tasks unallocated as I want people to come forward and accept tasks and behave proactive. I am using Redmine (Open source PM tool) and it allows me to define a particular task with related material like , test cases, use cases, scenarios and conditions, wireframes etc and also allows me to associate these tasks with others
Activity sequencing
Activity sequencing is when you decide the order in which the project’s activities need to be completed. Here I am not going with big technical terms like arrow sequencing etc, its just straightforward for me like
Design, development, integration, testing and deployment
Since the tasks is already divided through a WBS on a very granular level I put up these modules and sub modules before the client to present me with his priority List in a MOSCOW fashion.
After I have the lists I concentrate Musts and Should first, rest everything is flexible as per the dependencies
Activity duration estimation
Many factors contribute to determining a project’s activity duration; these factors may include business needs or situations that have legal requirements.
To estimate an activity’s duration, start by using your Project Scope statement in order to understand any project constraints or assumptions that could impact your estimating. You can base your estimates on similar activities that have occurred in the past (analogous estimating), or you can estimate based on how long something typically takes to accomplish (parametric estimating). An example of a parametric estimate is: If it takes two hours to build one user registration and login page along with forgot password facility etc etc
You may have a customized template for this estimation. Since you already have all the tasks broken down and a clear idea of the code/previous code/Open Source etc that you are going to use, you can give a clear estimate on the timelines and add 20% as the contingency
”you never know when you are going to use this but still if there is no contingency situation you can use it for code review and code optimization”
You can also estimate an activity’s duration by using the Program Evaluation and Review Technique (PERT) formula. PERT weighs the average of the pessimistic (P), most likely (M), and optimistic (O) estimates for an activity. For example:
PERT formula = (P+4M+O) / 6
Activity resource estimating
Once you know which tasks to complete, it’s time to figure out: how many resources you need, when you need the resources during the project, and how long you will need the resources.
You shouldn’t need to do much guessing because you can rely upon your Organizational Process Assets, expert judgment, published existing data, or bottom-up estimating when validating your resource requirements. All of these methods are valid ways to put firm numbers in place when determining your resource needs.
Team plays an important role so before assigning any resource make the competitive resource matrix where you will be estimating the intellect and competence of a resource based on their expertise and experience and each resource perform on a different level.
Put extra/backup resources with active involvement as you never know when they are needed as there might be changes that some people are not able to continue and knowledge transfer is not done
Schedule development
During schedule development, you bring together information from activity sequencing, activity duration estimation, and activity resource estimating to help build your project schedule, as well as your project schedule baseline.
If there are any issues at this point in your schedule, you can perform resource leveling or schedule compression. Resource leveling will help you manage your resources during periods where you may have initially found them to be over/under committed. Schedule compression will show you the impact of adding more resources to any critical path items or how running tasks in parallel can benefit the schedule.
Schedule control
While schedule control is part of the necessary Integrated Change Control process, you must also know where your project is at any point in time. This step will help you define and communicate how to handle things that affect the project’s timelines. Any changes that may impact areas such as the schedule baseline or approved change requests need to be handled via this process to ensure you can track their significance on the project.
Note: Take all approved change requests in account so that your schedule is not out of control and adjust your schedule accordingly
Summary
During the course of any project, you will struggle with questions about what to do, how to do and when to do it. By taking a more structured approach when defining and answering your questions about time management, you will put yourself in a better position to come away with a plan that you can explain and execute.
Stay small and be agile in order to succeed, its like If you have an application with three different modules “x”, “y”, “z”, differentiate them separately along with their association and assign separate team/people for each module like this the bigger picture is small and clear and the overall picture is still big and clear
Neeraj
On the subject of what project management software to use, I suggest Intervals. Intervals is a web-based project management service ideal for small businesses who can be easily overwhelmed traditional PM tools.
http://www.myintervals.com/
1 | John
July 10, 2008 at 6:12 am
excellent articles Mr Neeraj