Managing Web Projects #7 – Sourcing the team and Managing the Project
Now that you have written the Technical Requirements Specification you know the scope of the project, the workload, rough time-scales and should now be able to work out what team members you need.
How you decided to build your team will be dependant on the size and type of site, technologies used and the available skills. For example, if you are using an off-the-shelf CMS package it may be possible that you only need to hire a designer, but if you’re writing the CMS package from scratch you may need a designer, coder, database administrator, hosting engineer and Quality Assurance (also known as testing but we like to be posh in this industry).
Another factor in deciding the members of your team are whether you’re a one-man (or woman) outfit or work for a larger company where there are already employees in place with the necessary skills. If you’re managing and working on the project yourself with no other staff, it doesn’t mean that this article isn’t relevant to you, although I will be making the assumption you have at least a couple of people in your team.
I’ll be covering not only aspects of team management but project management as well which is a hugely important and often overlooked part of the entire web development process. When hiring (or allocating staff if they’re already part of your organisation) don’t forget in today’s modern world you don’t need to be based in the same office, city or even country.
The beauty of web development is that it can be carried out any time, any place, any where (thanks Martini!). Where meetings are mentioned, these could be carried out face-to-face, via teleconference, web conference, in an Internet chatroom or via instant messenger. At the end of this article I’ll list some tools to help you communicate with, and manage, a virtual team.
Right, I know the scope of my project, what do I now?
The first step is to determine the skill sets you require, which (as mentioned) is completely dependant on the type of site you are developing. Roles to consider when looking at skills could include:
- Coding (Static HTML, Specialised PHP/ASP etc.)
- Project Management
- Graphic Design (which may also be broken down into print and screen)
- Marketing (although usually with the bigger companies they’ll provide their own marketing)
- Copywriting (again, larger companies will probably provide their own but small-to-medium sized businesses may require you to write special web content for them)
- Database Designer/Administrator
- Hosting Engineer
- Quality Assurance Testing
Obviously the above would be for a large project, and for small projects roles may be combined (for example I design the site, code it, build the database, project manager it and sort the hosting myself) but for larger projects with a lot of stages this may not be possible due to time-scales.
Okay, I know what skills I need, but how many people do I hire?
Again, this depends on the size and scale of the site, technologies used, time-scales etc. If we look the example I used in Managing Web Projects #4 – The Quote, we had a dynamic database driven site that was estimated at taking 420 hours to build. So, how did I come up with the figure of 420 hours?
Did I magically pluck a number from thin air? Nope.
Did I “guestimate” and fortunately guessed correctly?
Nope. I used the Technical Requirements Specification. The TRS lists all of the sections, all of the pages and therefore all of the work that is required, from this I can build up a workflow (or project plan), which in turn allows me to work out project dependencies, I can then tell how much time each section will take.
I have to admit, this last phase is a bit of a black art; I usually go on past experience which is difficult if you’re first starting out. You’ll have a gut instinct and think, “Oh, I reckon that’ll take me 5 hours.” Which is fine, but add a bit on to be on the safe side! How much you add on is entirely up to you as you know what you’re skill set and tools are like. Personally I add on 20% as something always goes wrong. Whether it’s browser incompatibility, server crashes or not being able to get hold of the client, try to cover yourself as best you can.
So, back to the example. I know that the project will take me 420 hours.
So : 420 hours / 7 hours a day (working 5 days a week) = 60 man days or 30 days for a 2 person team.
Technically the cost for employing two people for 30 days is the same as employing 1 person for 60 days (assuming their rates are the same) and you get the work completed in half the time… excellent! Using the above project, I wouldn’t have said that you needed more than two developers – unless it needed to be delivered in say 24 days. But even then you can negotiate with your staff and arrange for them to work a couple of hours overtime.
Again as the project has been completed earlier you shouldn’t be out of pocket on the overtime payments (unless they charge an extortionate rate of course!). However, with this example it would be worth looking at perhaps having a designer (which takes 4 hours off the development time) and a Database Administrator (minus 20 hours off the development time).
Factoring this in takes the project down to 28 days for the two developers (from the original 30) which isn’t a great saving considering you’re now employing 4 people. Of course, this does depend on the skills available to you at the time. It may be all well and good hiring 2 developers, but what if they couldn’t design their way out of a paper bag and you were too busy to do it….. well, if you knew that was the case you’d make sure you hired a developer with design experience of course!
Yeay! I’ve figured out the man-power. But how do I find these people?
Assuming you haven’t got a big in-house department to pull your required people from you’ll have to consider which option would suit your situation best
- Hire a full-time employee
- Hire a contractor/freelancer
- A combination of the two
There are several pros and cons associated with the first two options which I’ll briefly cover below:
Hiring a full-time employee:
This may be more cost effective if you have a long running project (9 or more months), or know that the client wants updates/maintenance doing on the site as it provides continuity of work; however for shorter projects, and if you know that they will not be needed on the next project, this is probably unviable. When hiring a full time employee, apart from salary there are also other costs associated with hiring full time employees that may not be apparent when considering this option. Here are some that apply (In the UK at least)
- Income Tax Contributions
- National Insurance Contributions
- Pensions (although you don’t have to contribute as an employer if you have 5 or more employees you must provide access to a “Stakeholder Pension scheme” at the very least)
- Private Healthcare (if offered)
- Sick pay
- Holiday Pay
- Travel Expenses / Vehicle reimbursement
So there is quite a lot to consider, plus add on to that administrations costs for an Accountant to manage the wages (or the cost of your own time) and it soon mounts up.
Hiring a contractor/freelancer:
This, as with full-time employees has its advantages and disadvantages. With contractors you aren’t tied down with a permanent employee and the associated costs, in fact you can agree your own contract period which may only run a few days (for a designer for example), to 6 months (for a developer). However, be prepared to pay extra for the privilege, especially if they’re sourced through an agency.
With contractors you aren’t required to pay any of the “extras” such as tax as you would for a full time employee as the contractor is classed as “self employed”. The disadvantage though is that they have no real ties to your company. If they have a 6 month contract and the project is going to over-run to 9 months, you may lose your lead developer or have to pay a lot more to keep them on.
I’ve decided on the employees I want – where do I find them?
If you have no internal resources you can call on then you’re going to have to look elsewhere. The best method of recruitment is word of mouth; after all, no one’s going to recommend a lemon to you as they’ll end up looking like and idiot. They way you go about recruiting depends on the style of team you’re looking for. If it’s going to be office based then local papers, the local job centre or town’s website would be the best place to start. A word of warning though, advertising locally will mean you get a tonne (and I mean a tonne) of recruitment agencies calling you – even if you specify “no agencies” in your advert.
Agencies are another option, however in my experience they don’t quite grasp what a lot of web developer/designer roles require. To a lot of them HTML is the same as PHP which is the same as relational database design so you can end up seeing a lot of candidates (which costs your time and therefore your money) without finding anyone suitable for the role. The other downside of an agency is that you pay the agency, the agency takes its cut and then the developer gets paid. This is bad from both the developer and your point of view; you’re paying extra for the use of an agency and the developer is being paid less.
If location isn’t a problem then consider putting adverts up on job boards such as Monster, CWJobs, Dice, LinkedIn, Cleverism or whatever service is relevant in your country. You can also subscribe to these services (which may be worthwhile if you’ll be employing a few people over the course of a year) which enables you to search CVs (resumes) and contact suitable applicants. My final suggestion would be the outsourcing; There are plenty of companies that offer virtual assistants, developers etc. that you can use on an ad-hoc basis.
“Project Wizards’ Merlin is a very good project management programme for Mac. http://www.projectwizards.net/en/merlin“
“Nice – Makes me want a Mac at home even more!And Whilst we’re on the subject of Macs, I guess I should have also mentioned Omnioutliner Pro which would be well suited to single web developer projects.”
“Hmm… Comments notification seems to be up the swanney again… blooming thing!”
“BlahI give up, I’ll try to fix it later…My list of things to do is gradually growing into a humungous beast :p”
“OOh, Hang on, I think it’s fixed….“
“If this works it wasn’t be, it was my hosting provider’s email server…..”
“be = meHoorah! I’m a genius!”