引言
程序员的人生就是和一个个的软件项目打交道的人生。
不能管理好项目过程的程序员不是好的开发人员。
项目管理是对成功地完成一整个软件项目过程中地一系列目标相关地活动(譬如任务)的整体监测和管控,软件开发是软件项目过程中最重要的一个组成部分之一。
在互联网公司做项目,一边强调要敏捷开发,一边要交付成果。所以如何区分好项目管理和软件开发的边界,统筹好二者才是一个好的互联网项目管理和软件开发过程。
最简单的项目管理
每周都要写周报
周报里面应该写点什么?最简单地要写当前我要关注哪几个项目,各个项目是处在什么开发模式中,对应的开发进度分别进入到了哪个层面,进度和进展分别是怎样的。有哪些风险。难于解决的问题在哪里。
每天都要写日报
那怎样来监控和衡量项目的进度的问题呢,项目管理和项目开发的边界在哪里?
很大程度上取决于所选择的软件开发模式。
对于瀑布型的软件开发模式,进度比较好衡量。需求分析、设计、编码、集成、测试、维护每个阶段都有对应的产出。
迭代型开发:主体框架稳定的情况下,加功能就是迭代型开发。每一个迭代周期里面,就是一个小的项目开发,这个时候的项目开发进度应该也比较好衡量,对于项目开发的进度管控有些孰能生巧了,有时候就会忽略掉一些步骤,比如设计文档、测试case、单元测试相关的交付。