Main Page Content
A Terms Of Reference Howto
If you're launching a project, say to develop a <tips> database for a webdevelopers site, you'll need some way of monitoring what you're doing, why you're doing it, who you're doing for and who's doing what. Or, in Project Manager-speak,
- Setting objectives
- Defining the scope
- Establishing the strategy
- Deriving the work breakdown structure
hey, wouldn't it be cool to catalogue the <tips> from thelistto a place where you can actually start working. Some organisations (particularly larger ones) will make it impossible for you to get anything done without one - it can be an essential part of the business case required to get staff time, cash and system resources to get your project underway. So what would you put in your TOR? It will vary, depending on your project, but the typical sections you'd get in most TORs are:
- Authority and project sponsor
This is as simple as who has asked that the project has been carried out. In a business setting, this would be whoever is providing the money to do the work.
- Customer
Usually the final user of the product.
- Objectives
It's important that the objectives you set for the project are in line with whatever your organisation's objectives are (or at least those of the project sponsor... don't you just love political games?). Your objectives should also be:- Specific
- Measurable in terms of quality, quantity, time & cost.
- Achievable
- Readily understandable
- Consistent
- Few in number
- Supported fully by senior management, project sponsor and users (the three constituencies of stakeholder).
- Scope
This is the biggie. Get this wrong and you'll either end up with something which doesn't satisfy your stakeholders, solves the wrong problems, or misses the budget/launch date. Project Management is all about managing change, so a useful way to approach this is in terms of what/who you'll affect by the change. A possible outline scope for the <tips> project might be:A system to extract and publish <tips> from thelist. Content delivery will be to thesite, other XML-accepting sites and non-PC devices. Users will be able to search for <tips> and rate them on their usefulness.
This is the start of a comprehensive requirements document, which could (and often should) be developed in tandem. - Constraints
Very similar to Scope except that it defines what's outside the remit, and what boundaries you may not cross. These may be the result of external forces which you can't control, such as the development platform you're running on.
- Costs/budget
This section may be 100% guesstimate, but you would usually be working within a budget, so cut your cloth accordingly.
- Resources
This may also be guesstimate, but you should have an outline idea of who you'll need, and what tools. You can then look at the gaps in who and what you already have, and start looking for sources to plug the gaps & changing your budget accordingly. For the <tips> project, we very clearly need database expertise, sysadmin expertise, WAP knowledge and HTML skill; we'll also need a database, a web application framework, a web server and a system to run it on. Fortunately, in our assembled team, we have (amongst others), Rudy, Dean, Dan, and Steve with access to the system evolt.org's running on (ColdFusion & Oracle on Linux).
- Deliverables
These should be explicitly defined using your requirements document, so the stakeholders have no doubt as to what's expected. "A tips database" is not enough; we will be delivering a database (or probably an extension to the existing one), publishing tools, management tools and documentation. There are likely to be additional interim deliverables - prototypes, designs, this TOR, requirements document, etc.
- Project phases and timescales
Planning project phases and timescales lets you see the project in more understandable components. At the stage of the 1st iteration of the TOR, these may be as simple as- Initiation
- Specification
- Design
- Build
- Installation
- Operation and review
- Strategy
This is the high-level guidance for the project team, and is also useful for reassuring your stakeholders. You're likely to include:- Use of any particular techniques or methodologies
- The adoption of any recognised standards
- Relationships with other parts of the organisation
- Risks
This is where you get to be worried about the impact of what you're doing. What are the potential major problems (particularly the target='_blank' title='Expect the unexpected'>unexpected ones)? What are the chances of them happening? What are their impact? What can be done to reduce their likelihood? What are the contingency plans? A risk we might consider for <tips> is what if CF for Linux doesn't get launched? You'll really want to think about your assumptions, as these are very clearly elements of risk.
- Roles and responsibilities
Most projects will have natural roles for internal and external team members. However, the key thing to tie down is decision-making responsibility. Most evolt decisions are made by the team (with a loose email '+1' voting system), rather than a single individual. Your project may vary from this, however, and is sure to need some input from your stakeholders.