A Guide to Creating a Quality Project Schedule
Successful projects start with a good quality project schedule. Creating a schedule is one of the first tasks you should do when given a project to manage. There is often a temptation to get on with the work and worry about the schedule later, but this is a mistake. You will be left exposed and if challenged, will have no evidence of whether your project is on time or running late.
This article looks at a simple, practical approach to creating project schedules. After reading this article, you will have a sound approach to creating schedules that you can use for future projects.
1. Plan with the Team
Team planning is more effective than planning on your own, and ensures everyone has a stake in the schedule and ownership of the outcome. The project team must account for all the phases, milestones and tasks so the project can reach a successful conclusion.
I like to create a basic high-level schedule to kick things off. Even if it's wrong, it helps the session start moving. It’s better than sitting in a meeting with your team staring at a blank sheet of paper.
2. Cover the Project Scope
Use the scope statement from your Charter to make sure you include everything the customer expects you to deliver. List all the activities needed to deliver the scope.
Look at the order of activities; often it is best to start with the most difficult tasks. The type of project may dictate the order, clearly, you can't build a house until the foundations have been laid. Think about the work you can do in parallel and what is dependant on other activities being finished first. Make sure you include the dependencies in your schedule.
3. Group the Tasks into Phases
Projects typically go through phases, starting with an idea all the way to launch and rollout. You should arrange your project schedule in these phases. This is an example I’ve used for software development projects:
- Ideas (the first concept, creating the team and everything needed to get the project started).
- Feasibility (often development of a prototype, model or proof of concept).
- Build (doing the work to create the product or service).
- Launch (preparing to go-live with the product or service, often as a pilot first).
- Rollout (delivering the product or service to the wider audience following updates from the pilot).
- Closure (finishing the project, disbanding the project team and tying up any loose ends).
4. Create Milestones
Adding milestones to your schedule helps the project team stay focussed and motivated. Milestones are the end of certain phases, the point where work needs completing, or sign-off obtained for work carried out. These milestones are how the team sees and measures their progress. Poring over hundreds of tasks each week is daunting. The milestones help put the entire project into perspective and keep everyone on track to a successful finish.
5. Make Time for Time
When adding time estimates (hours or days) against tasks and activities it’s best to use people's experience. Better still if you can use a database of production rates to give more accurate estimates.
Estimating as a team is effective, because it gives the opportunity for team members to challenge estimates. If an estimate is given by one team member, another may challenge it because he or she has direct experience of similar work.
Make sure everyone agrees with the estimates and signs off during the session. This way there are no arguments later.
6. Plan Your People
Now you have your schedule, it's time to add your people, either existing or new team members. Try to match your people's skill-set to the work. Have they done similar work in the past? Do they have a skill that would be useful on a particular aspect of the project? Have they shown an interest in working on a certain area?
A common mistake when new to project scheduling is to use people for 100% of their time. It’s best to assume people will only be productive on the project for 80% of their time. Administration, filling out time sheets, team meetings, support and other unrelated tasks take up the remaining 20%.
Once you have assigned people to the tasks in your schedule, review it for conflicts. Have you got areas where people are working on two work streams simultaneously? Is the work allocated evenly across the team? Be careful not to overload your key people, while under-utilising others.
Finally…
Check your schedule thoroughly to make sure there are no errors. Here are a few common problems found in schedules:
- Not including public holidays in the schedule.
- Not including team member's holidays in the schedule.
- Missing links to dependencies.
- Creating one continuous block of work with no milestone deliverables along the way.
- Using poor task estimates or guesses instead of people's experience or production rates.
- Starting with an end date and making the schedule fit it.
- Assigning people for 100% of their time.
- Dividing tasks between more than one person.
- Not building in contingency time in the event things go wrong.
Remember to regularly update the schedule with your team to check progress and make adjustments where necessary. A daily 15 minute ‘Scrum’ style meeting or phone call is useful, where each team member says what he or she did yesterday; what they intend to do today and highlights any blockers holding them back. It is your responsibility as project manager to help remove any blockers and smooth the path ahead.
In Summary…
- Define the tasks and activities using your scope statement.
- Sequence the activities identifying any dependencies.
- Group the tasks and activities into phases.
- Create milestones.
- Create time estimates for the tasks and activities.
- Assign people to the tasks and activities.
- Review your schedule for errors and correct.
- Hold daily progress meetings with your team and adjust the schedule.
A quality project schedule is the basis of project success, so spend time with your team creating a schedule that is both meaningful and realistic.
A Guide to Creating a Quality Project Schedule的更多相关文章
- Creating an Android Project(创建一个android项目)
一个android项目包含了你的应用程序中的所有源代码文件,我们可以通过android sdk tools轻松地创建一个拥有默认文件跟文件夹的android项目. 这部分课程我们将展示两种创建andr ...
- Project Management Process
Project Management ProcessDescription .............................................................. ...
- Software Engineering: 2. Project management
resources:"Software Engineering" Ian Sommerville For most projects, important goals are: D ...
- The "Real" Project Plan
"I need a project plan by tomorrow morning." As project managers, that's what we hear. But ...
- Ultimate Facebook Messenger for Business Guide (Feb 2019)
Ultimate Facebook Messenger for Business Guide (Updated: Feb 2019) By Iaroslav Kudritskiy November 2 ...
- Custom Quality Profiles in SonarQube
https://medium.com/ltunes/custom-quality-profiles-in-sonarqube-part-1-8754348b9369 Creating Custom Q ...
- App Distribution Guide (二)
Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but som ...
- App Distribution Guide--(三)---Configuring Your Xcode Project for Distribution
Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but some ...
- 【转】issue management in your test project
What is Issue Management? Issue Management is the process to make others aware of the problem and th ...
随机推荐
- (centos)linux下访问双系统windows7文件系统
fdisk -l 无法挂载 NTFS格式的分区:mount: unknown filesystem type ‘ntfs’. 问题: # mount –t ntfs /dev/sdb1 ...
- javascript生成n至m的随机整数
摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备. Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包 ...
- 关于 List<T>
System.Object System.Collections.Generic.List<T> list<string,string>,这种形式本身就是错误的,你可以 ...
- javascript 三个 对话框
用法: 一般写在 </html>之后,<script language="javascript">代码必须放在这里面</script> 三个常用 ...
- 记sql语句空格带来的问题
在做分页的时候,引用了一个分页类.在一条sql语句出发生错误,没查出数据,代码如下 $sql="select * from sw_goods".$page->limit; 正 ...
- OpenCV学习笔记——多种Smooth平滑处理
opencv库提供了好几种模糊平滑Smooth操作的类型作为cvSmooth的参数传入,从而达到不同的平滑效果,另外复习了一下如何复制一份图像和重新调整图像大小. 调整图像大小目前是按照一下步骤进行: ...
- Nginx 笔记与总结(13)Nginx 的 gzip 压缩
使用 FireFox(40.0)访问博客园(http://www.cnblogs.com/),观察 http 头信息 请求头信息: Accept-Encoding gzip, deflate 表示浏览 ...
- swift 子类继承父类
// 子类的指定构造方法必须调用父类构造方法,并确保调用发生在子类存储属性初始化之后.而且指定构造方法不能调用同一个类中的其他指定构造方法: // 便利构造方法必须调用同一个类中的其他指定构造方法(可 ...
- UIButton 去除按下效果(阴影)
[btn setImage:[UIImage imageNamed:@"test.png"] forState:UIControlStateNormal];btn.adjustsI ...
- 放到u-boot/arch/arm/inlcude下面解压A20固件库制作笔记
运行 build_dragonboard.sh,完成一次编译,首次编译需要消耗 20 分钟以上的时间.这里包括编译bootloader.kernel.rootfs. 修改 Linux 内核配置$ cd ...