Topic: [原创]软件过程的发展的思考

  Print this page

1.[原创]软件过程的发展的思考 Copy to clipboard
Posted by: jacob
Posted on: 2003-10-09 14:54

从泛义上来说, 软件项目开发可以分成以目标为中心或以过程为中心。

以目标为中心的项目开发可以为达成目标而不择手段或者说不采用任何手段, 只要最后项目成功,项目人员可以使用任何办法。而以过程为中心则以过程为主要依据,要求过程步骤完美,最后结果如何都是成功的项目。按儒家的中庸说法, 两种观点看起来都是不正确的, 能够相互补充那时最好了。

首先, 软件项目刚刚开始出现的时候,人们完全不知道需要如何对付它, 所以那时候是只能以目标为中心, 采取个人主义,仅仅需要一个人或者几个人就能完成一个伟大的项目, 当时其中的领导者一定是能力超强, 不仅技术令人折服,而且充满了人格魅力,管理能力也是必不可少的。这样可以说靠着他一个人的能力和意志带领着大家完成项目。就像很多传奇中的研发项目,就是靠着个人能力领导着整个团队。

中国的很多中小企业就是这一阶段的以目标为中心, 虽然使用了一些先进的工具,但是思路还是没有脱离原始的状态。在这样的公司你往往能听到这样的话,“我头头说这个东西必须在这个星期完成”。 然后项目就在无序中进行,如果项目有一个杰出技术专家,可能会侥幸成功。但更多都是糊里糊涂的失败了,但是即使失败了,很多项目也会被公司当作成功项目,因为没人愿意承认失败。所以如果去找工作,如果一看要招一个XX高手这样的人,这个公司一定就是这一类型的公司,经历过很多次失败以后,它只能把希望寄托在一两个高手身上。

慢慢的随着业界对软件的需求越来越大,项目也越来越大,开发人员也越来越多,这种模式再也无法承受使用了。仍采用这种模式的项目的失败率也越来越高。然后一些聪明人发明了瀑布模型,从本身看这并非是一个创举,它把一个大目标分割成几个小的目标步骤,一个一个次序完成。他们的一小步是人类的一大步,他们开创了一种可行的文化。这样随着目标越来越大,越来越细化,模式也从瀑布变成了增量,模型也从以目标为中心转变成了以过程为中心。理论上,只要把最简单的瀑布模型每一个步骤都严格完成,那么项目一定会成功。这个时候,软件业也从混沌转变到了有序的阶段。

国内很多企业做的形似而神不似,项目虽然使用了一些过程,但是这些过程只是用来摆样子,全无实用价值。在过程中,对各个阶段的控制和审核是最主要的,不然就失去了分阶段的作用,其实就是退回到混沌的阶段。在很多的项目中,这一阶段虽然完成的不好,但是还是会往下面走,原因就是根本没有认识到为什么要采用过程方式。
在过程为中心的开发中,一般来说采用一个适合的过程模型,然后适当的裁剪,我认为是成功系数很高的, 当然需要一个合适理解这个过程的项目经理,很多公司的失败是因为项目成员并不理解这个过程,只是为了拥有过程而过程。业界的过程模型已经经过长时间的检验,如果问题出现了,很大愿意是使用的人的对这个过程理解得不够。

任何过程都会带来一个副面的影响:太耗费资源。大家应该深有感触,过程中的那些文档的确是让任何人都非常害怕,尤其是对这些文档的维护,更是恐怖。但是这是减少点对点交流的非常好的解决途径之一。对于这个问题,只有大量采用裁剪,毕竟实用才是大家追求的。人们开始对动不动就是资源消耗极大的过程开始反感,重新开始了对过程的思考。他们希望有特别针对与中小项目的适合的过程,即使是瀑布也太复杂。他们需要在保持一定过程的前提下,采用最为节省资源的做法。保证项目成功并不一定需要繁琐的步骤,在每一道关口设卡检查。完全有可能在主要的关口设卡,在内部如何方便通行就采用哪种路线,这样就能保证能最快最正确的通过。这就是以目标为中心和以过程为中心的结合体。于是XP等新的想法诞生了。

像任何行业一样,软件业也从无序进入有序,有从有序进入了过度繁琐的有序,然后再从繁琐进入精简,进入了实用的有序。在反反复复后,我们会看到一个成熟的工业,像其他所有的行业一样,实用是最重要的。

2.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: jacob
Posted on: 2003-10-09 14:58

大家看看,评论评论

3.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: collins
Posted on: 2003-10-10 11:55

写得不错,但是空泛了一些。

不记得在哪里看了一篇文章,讲XP是站在软件工程师的角度来思考开发过程,说的很有道理。只有具体开发的软件工程师最理解软件开发过程,当项目遇到问题或者隐藏的风险,也只有他们最先感知,“春江水暖鸭先知”。

在中国,一直以来都是是“官本位”思想,项目经理就是经理了,可以管人了,似乎就高人一等,实际也是他们的工资也较高,导致没有多少人能潜心技术,这个就不多说了,有些跑题。一贯的方式是,以项目经理或者部门经理、老总的视角来看项目。必然的,而具体开发的、最辛苦的软件工程师们的意见和想法得不到重视,久而久之,激情日渐消退,慢慢做一天和尚撞一天钟了。可想而知,这样开发出来的产品怎么会稳定、高效?

确实,对于公司,项目是要有目标和时间限制的的,但重心不应该是在这上面,而是关注那群人,项目经理应该以人为重点,以最佳实践为方法,过程方法为控制,目标自然可达。

随意而写,欢迎指正。

4.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: jacob
Posted on: 2003-10-10 13:49

呵呵, 我是有感而写,批评的很对, 内容空泛原因是文采不够,哈哈
不过的确是感触而写,而且本人一直是开发工程师,到现在都不停的写着程序。
我的感触是 很多公司都是更本没有开发流程, 一窝蜂的上, 一窝蜂的结束。
如果走运有个高手,还能勉强对付。但是国外呢,都开始回归理性了,我们相差的已经有一轮了!
人的确是软件项目最重要的,而且是士气确定了一切!
任何角色都该停下来考虑项目管理,软件工程。和国外差距不仅仅是在技术上阿。

5.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: floater
Posted on: 2003-10-10 22:09

Yea, it's the concept.

But there are still a lot alike. Those stupid project managers, incompetentness, it's human nature, Smile. The only difference is the process. With the process, no one can go too far(but still far enough, Sad).

6.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: guojerry
Posted on: 2003-10-14 16:10

能有这种意识就已经不错了.

7.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: jacob
Posted on: 2003-10-20 09:47

It seems not many guys interesting with it.....

8.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: 刀剑如梦
Posted on: 2003-11-16 22:48

软件开发过程中的每一项细节问题都值得开发人员思考的.
开发人员应该在开发过程形成自己的编程习惯和编码规则.
谢谢了,收藏!

9.Re:[原创]软件过程的发展的思考 [Re: jacob] Copy to clipboard
Posted by: coloumn
Posted on: 2003-11-21 10:25

我不同意刀剑如梦说的:“开发人员应该在开发过程形成自己的编程习惯和编码规则”。这样不符合软件工程的目标。我认为在一个团队或公司中,所有的文档都是有规范的(包含文档维护的规范),程序编码仅仅是其中的一个文档,必须遵循统一的规范。这样不同人员间的交流将会很流畅。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923