Tag Archive for '项目管理'

如何管理小型Web项目:一个简单的办法

下面这篇文章摘自这里。在我实际工作中,大量接触的都是小型的web开发项目,今天下班前还和同事谈到这方面的混乱和问题,以及解决之道。我觉得事实上的操作,以及中国人特有的一些特质使得问题解决并不是那么理想化,这篇文章写的也不错,权当作抛砖引玉吧。

原文作者:Antonio Lupetti
原文链接:How to manage a small web project: a simple approach
译者:

不久前,我写了一篇关于你必须知道的web项目开发构造工序的文章,有很多读者纷纷要求我再写一些有关如何管理小型Web项目的,这个在我看来没有太硬性的规则,不过好的开发方法能够帮助你管理并有效快速的达成最终结果。

我准备了这张图片来说明管理小型Web项目的三个主要步骤,可供参考:

web project manage

1. 规划

规划出哪些是必须做的,以及在其中某个阶段必须怎样做。

1.1 确定项目范围

第一步:确定项目范围的4-5级别,不要低估他的重要性,在这一步骤中,假如您能简单的描述出你的项目,这意味着你能清楚的指导自己需要做什么,更加容易简单的实现。

1.2. 确定实施的主要特点

第二步,确定项目的主要特点以及每个添加的一些细节,如关系,主要大纲等等。例如简单的图片项目只有两个主要特点:用户登录和档案管理。你可以用这种方式表示他们:

这是启发灵感的简化例子。

1.3. 确定站点地图

下一步:运用文件文件夹确定项目站点地图,准确查明所有执行的文件(HTML / PHP页面, JavaScript文件,…),因为他们是最终需要交付执行的。

1.4. 规划出日程清单

使用简单的待办事项清单设定日程。明确你每天所要做的。这样可以轻松的掌控进度,某一天需要做什么。

2. 开发测试

在这一阶段,编写测试(初步) HTML, CSS, PHP, JavaScript… 代码.寻找小的错误和bug,当项目基本完成时,再次测试寻找那些在初步测试中未发现的意想不到的表现。

3. 发布

现在你已经准备好在网上进行发布您的项目了。当您的网站或Web应用程序在网上做了最后一次测试,保证一切都OK。That’s all!

相关内容

iphone已经出到了2.2

iphone已经出到了os 2.2,真的很猛,之前用ipaq的时候,感觉windows ce好像要一年才一个版本。虽然iphone操作系统的更新不能说每一次都是革命性的,但是每次都增加不少功能。(我用的还是2.02,准备最近升到2.2,因为已经有很多应用要求必须是2.1以上了)

最近总是在考虑如何快速的可持续的进行项目,我相信apple应该也是一个好老师。至少从他们用基于freebsd来做操作系统的思路,就很喜欢,在巨人的肩上,总是可以看得更远。

相关内容

小团队网站项目开发方法探讨

最近在做实验,看怎么样才能够提高小团队的的项目开发效率。我碰到的场景,相信很多互联网公司也会碰到,在有限的时间、有限的资源情况下完成一个项目,并且在一定时间范围内升级功能达到具有竞争力。

这里定义的小团队是有一个项目经理,1-2个程序员,1个网页设计,测试则是不同项目组交叉设计。

原来存在的问题:

1 团队之间口头沟通多,书面沟通少,项目开发到后期发现会遗漏一些重要功能或者出现原来想到的问题。
2 页面设计和程序开发发生死锁,导致进度受到影响。
3 功能设计描述不清,造成页面设计和程序开发理解上的歧义。
4 测试时间的紧张造成没有很多时间和资源进行错误修正,影响产品质量。
5 由于进度始终不能如期完成,总是有项目的特性没有完成,造成团队疲惫,没有成就感,影响士气。
6 产品开发无法达到设计期望值,所以无法和竞争对手拉开差距,影响公司整体战略。

这里说过,我再借助一下“敏捷开发”这个术语,下面的方法绝对不是真正的敏捷开发,只是觉得这个词可以很好的描述我要表达的意思,当然也可以称呼为“有效率的逼迫性的按照时间管理的项目基于有限资源的小团队开发方法”

首先是准备工作:
1 通畅的电子邮件系统,因为大量的消息将通过电子邮件来传递。这一点我仍然不满意目前自己团队使用的的系统,我理想中的电子邮件系统是google mail企业版,免费,并且7G的容量,加上google日历和文档共享,足够小团队使用了。不用再担心自己的邮件服务器什么时候会出问题,google日历可以和很多中应用同步,不管你是windows,还是leopard或者iphone。

2 trac。我一再推荐使用trac来管理项目特性,简洁有效。除了安装稍微有点麻烦,基本没有缺点,基于sqlite数据库,便于管理。trac支持多人多项目的管理,可以有效的非配工作,不需要再手工写工单了,当然也不需要昂贵的ms project了。trac是免费开源的软件。

3 svn。不用再说了,如果主要还是基于windows开发的话,暂时不要去想git了,用svn足够应付小团队开发所需要的版本管理功能,加上强大的windows桌面端tortoiseSVN的话。

4 im工具,推荐使用msn或者gtalk,后者的好处是所有的对话都会存盘,便于以后搜索。如果你使用的mac的话,那么只有adium了,足够了。windows的话除了原生的那些im程序以外,推荐pidgin,除了可以集成多个聊天帐号以外,还可以支持otr加密方式,这样windows、linux下的pidgin+otr和adium(本身自带支持)之间的对话都将是加密的,基本不能窃听。

开发工具项目不同,各有所长,这里就不说了。

现在说说我设计的开发流程,先来说说要达到的效果:
1 目前设定所有项目在每周可以发布一个build版本,除了第一个b1达到最基本要求以外,之后的b2、b3等等要每周增加需要的功能,功能可能来自用户,可能来自市场竞争所需。
2 每一个build包括功能设计、特性分解、可行性分析、页面设计、程序开发、功能测试、整体测试。
3 根据项目需要完成的指标,一般网站来说,无非是用户数(包括用户活跃度等)、pageview(包括uv)、商品(条目)数量、成交情况等,每周根据数据情况来调整本周build的功能和优先级,来尽可能的完成既定指标。

所以前面说这是一种逼迫式的开发,对于项目管理的要求很高,这不是传统上用个project画一个甘特图就可以的,而是时间和资源的限制,效果的逼近。

目前在公司里,有两个项目采用了这样的方法,刚刚开始不久,还不能说取得很好的效果,不过感觉已经比以前效率高了。

整个方法的实施过程如下:

1 每周一开会讨论本周build要完成的特性,并估计下一个build要做的特性。本周build特性一般在10个以内,排好优先级顺序,按照1个程序员3-4个人天来计算。下一个build甚至后一个build的特性确认主要是列出必须做但是在本周肯定来不及实现的功能,这样可以根据之后的数据分析来再次客观的评估是否这个功能真的是”必须”,或者实现的细节有否和初衷有所差异。另外,这样可以让整个团队从产品角度清楚自己项目在本周会做到什么样子,下周什么样子,对于功能设计、数据监测、测试、市场推广都有益处。一般开会时候要确认项目上线时间和相关工作计划,主要是数据是否有升级、服务器部署是否有问题、数据监测方法、测试计划以及最重要的运营安排。

2 开发,这个就和一般项目没有什么区别,按照规划好本周要完成的特性的优先级进行,所有重要的沟通全部用邮件进行,项目经理需要在最快时间内响应需要决定的事宜,并有可能去调整特性优先级、build特性规划等。

3 bug and fix,当项目在运行的时候,会暴露出诸多小问题以及一些可以改进的UI、UE和功能点,为了不影响原来build在本周设定的目标,这些一律归到bug and fix这个trac上的milestone。然后区分几种情况:

致命bug:立刻修改,因为已经在运行了,所以需要立刻修改。
提升UI和UE:根据本周工作量,纳入本周的build或者下周的build,在下周一的会议上提出。
功能优化:在下周一的会议上讨论,原则上本周build不考虑。

凡是完成了的bug and fix都在close后注明是在哪一个build完成。

4 测试,测试通过邮件做内部测试,一般没有时间和资源做广泛的外部beta测试和用户面对面访谈,就只好不同的项目小组交叉测试了。测试人员可以当着项目经理或者开发人员逐一支出问题在哪里,这样便于项目经理描述问题。所有发现的错误和问题记录到上面的bug and fix,致命错误由开发人员立刻纠正。

5 发布,一般每周四开第二个会,决定是否进行发布,以及发布中可能存在的各类问题,当一个项目进行到build3之后,一般发布上也不会有太多的数据迁移和运营准备要做了。发布前做好数据备份当然是必须的,同时视情况调整产品运营手册等。周四的会基本上也可以知道本周的工作量完成情况,再思考一下,下周一又要开始新一轮的build了。

6 竞争对手分析,如果是竞争性产品,项目经理要有很清楚的产品路线图,以周为单位来知道自己负责的产品目前和竞争对手差距在哪里,若干时日之后,还有多少差距。一般得不到竞争对手的数据,所以各类数据只好自己进行监测和目标设定了。当你的产品经过一年50个build的发布,我想竞争对手日子会很难过了。如何针对竞争对手设计产品,我还有一个曾经在2004-2005年获得收益的”半盲法”,以后再分享。

基本流程就是这样,实际实施还有很多细节,比如文档管理、设计标准规范、开发规范、对于销售的支持和响应带来的影响、矛盾的功能如何平衡、怎么进行数据分析(怎么看懂google analytics)、设计、开发、测试、运营的同步和异步操作等。之后慢慢再讨论。

小团队的项目开发,还有一点就是士气和团结,不团结的团队,没有士气的团队,不喜欢互联网的团队,那么就算有再好的方法,也是无用的。这个话题已经超越项目管理的范畴。

(以上经验得益于诸多前辈:winamp开发小组、微软以特性列表为核心的项目开发管理、Borland早期Delphi和JBuilder开发成功的经验等)

相关内容