前言
最近一年来对项目管理小有体会,把自己总结的经验和大家分享。下面是对项目管理进行总结。
1、项目难度评估。
技术预研是关键。项目难度评估很大程度上都和个人开发经验有关,经验越丰富那么评估也就越准确。很多时候在开发中可能遇到一些技术难点,这个是项目评估的关键,所以有必须做一些难点预研,需要较全面的对整个项目进行了解。
2、项目时间评估。
评估时间要充足是关键。在开发周期方面需要比较准确地预算,毕竟一个项目都有一定的开发周期,时间长了客户肯定不同意,时间短了开发人员压力大。作为一个项目负责人应该保证周期内可以完成任务,所以时间评估应该多给一点时间,以防意外,因为很多时候大把的时间会浪费在某个问题上。
3、人员安排。
合适的位置安排合适的人选是关键。这需要对项目开发中的人都有比较全面的了解,把合适的人选放在正确的位置。也就是说如果他擅长UI那么就把大部分的UI交给他来完成,如果他擅长整体设计那么就把他安排在架构的位置。让每个人都发挥出他们的特长,这样可以加快开发进度,也会少走弯路。而且让开发人员做自己擅长的工作他们会更加自信,会有意外的收获。还有一点很重要:用人不疑。本来是一周的任务那么你就不应该一天两次的催进度,你是在怀疑他能力吗,这样做会影响士气。
4、项目跟进。
跟进项目是关键。不论开发的项目有多简单或有多复杂,项目跟进都是必须的,必须有时间限制,每一段时间都需要对项目进行了解,这个时候还要了解每个开发人员在开发过程中遇到的问题,甚至是开个短会进行讨论项目中最新的问题从而保证项目顺利进行。
5、时间统筹。
时间统筹是关键。在分配任务的时候应该对任务进行分类,大致分为急和重要。把最急最重要的任务需要最先完成,最不急不重要的任务放在最后来处理。如果是多个部门进行合作的话那么应该最先完成独立的任务,而不是多个部分交叉完成的模块。比如做一个客户端和服务器通讯,那么在服务器还在开发的过程中或者开发好但是没有完成所有测试的时候,那么你应该先完成客户端的UI、数据传递、数据模拟,和服务器的交换应该放在最后来完成。这样才不至于别人的工作影响到你的开发进度。
6、了解客户。
客户是项目的买单者。客户大多更关心他要的产品而不是你的编码细节,甚至也不关心效率(这大部分都是他看到产品以后才提)。所以在开发的时候应该也要顾及到客户,他不外乎就是要看看开发的界面和控制流程,这样他心里才有底,才知道这东西做到什么程度了。如果本来就只有一个月的开发时间那么你在软件架构和数据设计方面都花了半个月都还可以开始做界面的话估计客户就会开始担心了,会留下不好的影响。
7、高效利用时间。
高效工作是关键。其实我个人认为开发效率才是关键,而不是工作时长。把时间用在更有价值的工作上,而不是纠结于不重要的细节。首先要明白一点你是做产品,搞开发,而不是做学术研究,不要纠结于小的概念。当一段没有必要重构的代码在你动手之前得考虑考虑;当你打算再次封装某个本来就很完善的类之前你也得考虑考虑,考虑一下有这个必要把时间花在这上面吗,这样产出会更高吗,尤其是在时间不充足的情况下这很重要。
8、客户交流。
开发之前一般都是有书面合同的,不过大多时候是个形式而已。在你意识到开发时间不够或者有些新需求进入项目的时候那么这个时候催团队的进度并不是唯一的方式,而是应该和客户谈谈,很多客户为了你可以给他做出更优秀的产品那么他还是会宽限一定时间(至少我遇到的客户都是这样的)。作为项目负责人不仅仅是和项目组交流还必须得和客户,为自己人争取更多的时间。如果真是有新的需求怎么办?这设计到开发周期、经费、人力,所以可以稍微缓一下,不要觉得简单就一口答应,这样对团队是非常不好的,再简单的问题也要考虑到上面说的几点,自己衡量吧。一个好的负责人是随时都会推掉新的需要的。当然不是说无视客户的需求,那么这个时候还可以好好谈一谈,比如开发时间是否可以稍微长一些。
总结:好了就讲这么多,经验还很欠缺,先就讲这些自己的亲身体会。欢迎交流。顺便发个Android学习交流群:196761677 。