项目管理-生命周期-看到别人管理后,我的思考(思考还在进行中。。。。。。)

开发整个生命周期的思考:

设计驱动开发 测试驱动开发相结合的开发过程

待解决疑问:先有计划还是先有需求 然后根据需求谈计划. 先借鉴别人的经验,然后经过思考,找到自己认为最好的,要相信自己.

一先向上级领导,客户或者潜在客户讲解我的开发整个计划框架,让别人肯定你,计划决定行动.

第一阶段:

1需求分析与理解--需求分析草稿--第一版本--第一次例会

2将需求上升为模块化,第二版本,UML 用例图 模块要清晰--第二次例会

3 根据需求 继续和用户沟通 决定 需要用到的开发工具,开发技术,数据库,采取哪个生命周期,分析难点和风险,制定总体计划.

 

6架构开发之前的项目例会:和客户讨论 架构的模式,技术,是不是采用新技术,soa还是云计算. 其次是架构框架的辅助工作. 这个时候和客户讨论 ,1并发问题2事务问题3安全问题4硬件问题5性能问题6789,这一步骤完全在开会中解决,之后根据框架工作例会 决定出 项目基本预算,开发时间,困难,以及需要及早准备的东西.

7为上面制定的计划规划各种准备,也就是根基,准备工作.根据上面的计划 评估 时间,建立项目预算,技术培训,招聘,任务分配.和用户沟通.搭建环境,版本控制工具.测试工具,数据库工具.文档准备,Project工具,管理工具,等等.

8心中有了大体的框架之后,制定第一次迭代的任务计划和准备工作.包括预算,资金,时间,图形工具.

9调查 市场上同类产品的成功案例,模块,分析,提取经验,寻找可用模块.

10和客户沟通 讨论界面的设计 .架构师架构软件;培训师,经理招聘,培训员工.设计驱动开发,测试驱动开发.

第二阶段  开发阶段

1第一次迭代框架的二级功能模块的编写 --- 用例,时序,活动,类图.,生成数据库,和文档

2团队环境,资源,风险,,时间,等分析,决定成员的基本水平,分析可能出现的人员流动出现的风险,考虑如何降低风险.

3根据当前的团队环境和上级领导,客户 员工讨论 相应的激励措施,奖励制度,如何非常好的调用积极性.

4 编写 代码 风格手册 理解文档,培训员工如何引用项目中常用功能.

5对于每个员工准备上面的书面文档,以及口头文档,帮助新来的快速融入团队.

6指定每天的工作流程计划.每周的工作流程,实践,每月的工作流程,如休息机制,加班机制,定期激励机制,定期运动机制,定期沟通机制,定期和客户沟通机制,定期向上级领导反馈项目进度,项目存在的困难,员工情况,客户的态度,要让领导对项目了如指掌.还有定期的培训机制,问题总计机制,创新机制,CMMI过程机制,经验交流机制.

7将其分成功能点,分配任务.架构师继续对框架完善,指定一些通用模块,线程模块,算法模块,对其分类,如果下个项目能用到,将其列入最底层框架中,并指导员工熟悉框架,会用框架.

编写通用类接口,然后可让员工去实现.建立安全机制.总之就是完善框架 ,使框架有一个统一机制,并且为以后可以更容易的开发做准备.

8考虑过程改进机制,也就是说 对于目前的一套开发流程进行监督,听取领导,专业人士,业务人员,员工的创新,好的思想,不断的完善这个开发流程.

 

 

4一边和用户讨论前台设计,一边设计,一边开发,并且讨论下次迭代的需求,用例.预算 等等.

5

 

 

一需求说明书的形成与管理

1最最开始的时候 一辅助客户设计需求说明书,学习业务知识.

客户首先把自己想要的整理成册,有一个需求说明书的草图,最为第二次谈判的依据.

这一阶段任务的分配:

,业务分析员,客户(最好的业务传授者)

2 然后将草图研究,分析,找出不理解的地方,记录下来,开会请求客户讲明白,或者请求业务专家,讲解明白.

参与者:项目经理,架构师,业务分析师

3引导客户 将草图以模块化的方式展现,并且我们这边要根据谈判形成用例图.

客户那边形成需求文档的第一个版本.

 

先找出用户需要的大模块.以及每个模块的小模块.

因为业务比较难以理解,如何去将客户的口头话语,需求说明书,转换成模块.

我们要求用户将需求说明书(如果有专业名词,要求解释清楚) 分成模块.提交给我们

 

我们根据需求说明书

 

 

也就是先有需求,根据需求 和用户谈好 每一个模块如何显示.甚至这个位置显示控件还是Button还是什么都要协商好.这个可以利用最绚丽的绘图工具,可以是3D绘图,想要什么界面就绘制出来,一般试用PPT,也就是用PPT作为谈判的最有利的榜首.当然也可以用PS,PPT做好之后 这个时候需求文档也出来了.

也就是说 前期的系统分析 需求分析  用户谈判 环节 结束之后,一个PPT文档出来了.同时需求也出来了.操作手册也出来了.

然后是进行两方面的工作---架构师设计框架,设计师设计界面,及时和用户沟通,将进展,一切问题告之客户.

然后 架构底层框架 ,建立基本类,数据库,设计好模块.公用控件,公用样式,一边设计一边开发..

 

一开始不要把所有的数据库数据都设计好,要根据开发的时候需要去创建,怎么方便开发,怎么去创建.

 

测试驱动开发 ()对于每个功能点

 

先创造一些假的数据,保证设计好的页面的逻辑能跑起来.这个时候才去创建类

并相应的产生可能的数据库字段

 

注意点:要分清楚哪些数据字段是关联的,尽量在设计的时候模块化,这样当一个人做某一个模块的时候 可以自由发挥,不会因为自己设计好了数据库字段 而对于别的模块不适应.

 

如果很多模块都要用到同一数据库字段,这个时候要综合考虑去设计.

过程改进

我自己首先提出一套开发的生命周期管理 方案 再开发的过程中 结合 实际业务 ,公司的文化,各个人的补充,不断的完善这个 管理过程 .也就是说 一切都不是死的 ,应该建立一套实时更新的 ,含有创新思想的 过程管理体制.

可以和上级说:我有一套建立CMMI级别的基础方案,并说明 这个方案是根据公司的具体情况不断完善,最后的结果是 :公司可以根据市场的需要,变化,新技术的出现而自动的改变这个过程,使得过程永远保持创新机制.而且对不同的业务分级别,业务和企业文化,市场 决定一个管理流程.

 

分配任务,分担任务,风险的艺术

一个人不可能完成一整套方案,必须学会控制全局,学会分配任务,学会把自己应该承担的任务分配出去,整体,宏观操纵一切

posted @ 2009-09-23 20:34  书奎  阅读(322)  评论(0编辑  收藏  举报