实战解析----开篇

        在思想上兜了一圈,我决定要还是落地走走,否则就可能变成一张大嘴而已。

        接下来要给大家讲解的是我的第一个大项目—X市动力机房监控,在这个项目中我从一个毕业生成长为单位的开发骨干。由于不记得当初的技术保密协议到底是5年还是10年,所以出于职业精神,我还是不能把所有项目背景和设计进行介绍,抽取我认为没有机密性但是比较有意思的部分来解析一番,所以肯定有人会说,你说的复杂项目是否太简单了,应该也不足为奇。但是事实上我们当初是三个单位联合开发,验收时花费7*6个月,事情总是比我们想象的复杂

       当初的项目使用CC++开发了底层,PowerBuilder开发了上层应用。这么多年,我当然记不得那些程序,但是C#还是足够强大,我将尽力使用1~2周把一个框架给再现出来,这下不是因为公司业务而加班了,而是自讨苦吃、苦中作乐。为了避免今后的官司麻烦,请理解我不能把全部代码放到网上,不过关键部分我还是会在文章里使用代码来辅助叙述我的思路。

        以下是我的大致目标和提交顺序:

1)      项目的目的和需求概括,明确要讲解分析的范围;

2)      我想到的设计

3)      关键技术储备

4)      主体实现和界面示意

5)      点评与总结

     今后有兴趣的朋友可以联系我们团队进行实战开发,我这里有几个不错的项目机会。

    其实现在我进行开发的速度肯定比网上很多朋友要慢的,但是我的开发将遵循一些原则,了解这些原则有助于你理解我的思路。本次解析可能没有涉及到一些原则,毕竟还是个提取后的小项目而已。

    我目前总结的八大原则如下:

 1)      想方设法把客户拉进项目组

这个大家都明白,可是大家都很难做到!CMMIXP也解决不了,靠自己的智慧吧,要知道,是人就有爱好,有爱好就有机可乘:是财是色,自己看着办吧!

2)      建设自适应的团队

你的团队是否严重依赖某个人呢?是否每个人都关注项目的苦难?遇到问题大家都认真提供对策。面对责任是否敢于承担,还是推给他人?

3)      始终保持目标

项目经理是否独自关起门填写项目计划并且分配活动(其他人都网上冲浪去了)?是否每个人只知道要干什么而不理解为什么要干?

4)      风险驱动、迭代开发、组件开发、测试驱动

这个不用说,大把资料,参考RUP就很多了。

5)      简单的角色分工

蜜蜂蚂蚁应该远远不及人的聪明,但是他们可以出色完成一次次的项目?他们有一个超级PM吗?我看没有!一个人能指挥社会如何运作吗?不能!但是这社会不会因为某个人而停止运转。

6)      打开黑盒,保证信息一致

你是如何确保你提交的代码是有质量的呢?拍胸脯吗?你的证明材料在哪里?

你如何让领导和客户相信你的工作量真的大于30人月?如何让他们认同你现在确实完成了90%,并且进展良好?否则和你纠缠的不光是客户,你还要花很多时间对付公司内那些疑惑的目光(来自老总、财务、其他项目经理等)

7)      一有机会就重构

这个不用说,参见那本好书

8)      为提速做好准备

你能保证在同一个问题上你或者你今后的同事不要重复第二次吗?

     好了,我的下一个目标是什么?我看看,对了,应该是要准备下一篇:<<项目的目的和需求概括>>

posted @ 2005-11-18 11:40  成为-行动-拥有(BeDoHave)  阅读(2994)  评论(16编辑  收藏  举报