I'm a web developer, working in a small web development firm. usually we have small set of projects, using PHP & MySQL, and a small team with less than 4. But some times its hard to recollect details about these projects and maintain tasks as projects grow... and confusion arises. What is the best process to manage Web projects?
You can choose any tool you like as long as you're following a process. My view is that tasks should be divided in blocks that can be completed in one day and assigned to each team member. At the end of each day do a quick meeting to update whatever tools is being used to track the completion of the tasks. If not time is available for everyone to meet make sure that everyone fires a short email stating progress made in the day and assign a team member to update the tool tracking the project.
Obviously the team needs to decide how long a task takes and what functionalities are necessary in order to complete the project. Try using a Function Point estimation mixed with Expert estimation to decide it will take the team to deliver something that fits the requirements of the client.
Make sure that whenever you get the requirements all ambiguity is resolved before you accept the project.
If you follow some of this guidelines a small project can be tracked even with a simple Excel spreadsheet.
My recommendation would be that you start with simple tools and stick to this simplicity as you move along. Sometimes, if the teams are small a simple shared white board can be very effective. At other times focus on simple tools like Project Path for 37 Signals to maintain tasks and collaborate.
Look at tools like BackPackit and Project Path from 37signals for tasks and basic collaboration. The basic functionality of these tools is free and with a team size of 4 you should be able to use these products for free.
A free version of Google Apps is also often effective since the it allows multiple people to update the same excel sheet online. You can ask people to update the same excel sheet when they finish their tasks. This approach is generic where else tools like Project Path are slightly more specific and offer some bells and whistles like email notification, basic time lines etc.
Another option can be using an open source bug tracking system and tweaking it to capture tasks. Bugzilla should be a good option. Bugzilla has features like time taken per feature etc. which you might find useful if you want to track the time that some of these features track.
A strong recommendation I have is, no matter what you do to keep it simple, not just now but even as you grow as a team or as a organization.
The question seemed slightly generic.
Hope this answer helps. If you have other specific questions pertaining to this do not hesitate you leave and comment on this answer and we will try our best to respond.
"confusion arises" Is the key problem here ( in my view ) .
What ever process you adopt,make sure it is easy to understand,implement and is not much of an overhead since you have a small team , so that further confusion does not ensue.
Here is what I suggest-
- Break you project progress into simpler tasks . Which have a clear goal ,time line and completion criteria
- Increase visibility of tasks,their updates/progress and blockers/risks to acheving those tasks -- short daily stand ups would be my recommendation. Involve all relevant stakeholders.Progress visibility should be your mantra in these.
- Make a person responsible for capturing the above data -- use a big white board .
- Make sure you have a proper bug tracking system.I would not recommend excel. JIRA is popular , easy to understand and light
- Use a low tech dashboard to highlight quality issues & test progress . http://www.satisfice.com/presentations/dashboard.pdf
I would start with these steps and see how it goes .
I'm guessing you will soon add version control issues to the list of problems.
All of the replies to your post point to one thing: adopt and follow a process. I'd also recommend that everyone has to be on board with the "one" process and that it extend to code control and website versioning. A methodology is a wonderful thing for making life easier.
"Falling to plan is planning to fail"
The worst thing that can happen to a project is missed requirements. Using any project management tool or even an excel will do. But document the requirements in full details. There is no alternative to that. When ever you start a project list down every detail info you have and have that approved by client. Keep that as the baseline and continue updating that as new info arrives or new requirements arise. Your query sheet will be based on this. Your test case should be built on this requirement doc.
I understand, sometime during the course of the project client send in bits and pieces of information and its very hard to keep track during actual development. Unless you have a consolidated requirement doc to refer back/fallback to. Unless you follow the process rigorously, no tool however smart can save you.
I think you should collect user request, issues, todo in a unique shared environment; that is the first small step.
With the tool I use, I create a single project as collector of issues. If/when projects becomes more complex I create some sub-project in order to have a fine grained control. Then the tool you choose may allow to record time spent, generate alerts and should help you having the project under control.
In my (limited) PM experience the most important thing, and at the same time the hardest step, is to convince the team to be used to records everything.
A project management software maybe the best way to address the types of issues you’re facing. We use Microsoft Project 2010 at our organization at it works well for us. It’s simple to use, helps with collaboration and reporting. There’s a free 30-day trial. So you could check it out to see how it works for you.