程序员与软件工程是永远的矛盾吗?
以下是软件工程版中正热烈讨论的一个问题,从讨论中我学会了很多,我不愿独吞,特收集整理如下,愿与大伙分享。
希望大家继续关注软件工程,继续关注www.csdn.net的软件工程版!
主题:程序员与软件工程是永远的矛盾吗??
作者:whitelily
所属论坛:软件工程
我在研发部做各个项目的协调(因不懂编码只能做管理),但发现软件开发总会出现大量问题:如,与计划严重偏离;新人无法接手...我一直觉得最直接的解决办法就是严格实施软件工程,按ISO9001管理.
可是程序员们似乎都非常痛恨软件工程:需求分析中写"实现xx方面的所有功能",什么叫所有功能??这算分析吗? 但项目负责人也能按这种东西做(他们相信口头沟通)!概要设计干脆要拖到编码结束时才做出来,说是这中间变化太大,先写好文档再编码是不可能的...所以根本没法实施质量控制
难道先写好文档,待评审完全通过后再编码真的是misson imporssible吗?开发计划真的不能准确制定,必须一改再改吗?
这是因为软件工程脱离实际还是程序员能力不够?
各位是否能从程序员的角度给些指教?
回复人:zxl_l(凌龙)(2001-5-31 13:19:00)
你让程序员写需求分析中不对的程序员负责安照需求分析、概要设计进行写编码,需求分析由系统分析员完成,需求分析须从整体的角度进行,而一个程序员可能完成某一模块或某一项功能的编码,软件工程不可能脱离实际,问题是你什么执行的?
回复人:rocmeteor(流星雨)(2001-5-31 15:21:00)
告诉老板给你的程序员的工资翻一倍,一切就都OK了。
回复人:rocmeteor(流星雨)(2001-5-31 15:23:00)
一两个程序员这么做是水平问题,如果所有人都这么做,那就是心存不满,进而不怀好意。
回复人:ed9er(始祖鸟)(2001-5-31 15:26:00)
我非常同情那些在没有丰富编程经验的项目负责人的手下干活的程序员
回复人:AutoAsm()(2001-5-31 17:49:00)
管理上面的问题,意识上的问题,操作上的问题,习惯上的问题,制度上的问题
算乐,还是请我去主持项目吧 哈哈 ^_^
回复人:mycode(不写代码)(2001-6-1 1:20:00)
关键是要让程序员知道,写文档与会更加快程序的编写,减少出错;并且还要程序员感受到.如何让程序员感受到就需要组织起来进行比较了。
回复人:whitelily(百合)(2001-6-1 9:34:00)
我们现在的主力都是非计算机专业的编码高手,崇拜个人英雄,难以实施团队管理
回复人:zxl_l(凌龙)(2001-6-1 13:50:00)
实施团队管理是项目经理的工作,也是工作能力的表现。
回复人:myan(老狼麦克)(2001-6-2 20:00:00)
我觉得管理者和程序员之间需要沟通。管理者不要以为自己是将军,程序员都是小兵,搞行政命令那一套在软件这个行当里行不通。我可以表面上服从你,但完全不投入热情,最终项目一定失败。程序员也不要以为自己掌握一点技术就如何了不起。我不得不说,某些编程高手在做人方面不及格,这种高手还是趁早让他走人为佳。
Babara Moo说:管理一个程序员团队,就好像放牧一群骄傲的猫。虽然很难,但是归根到底还是管理者的能力问题。
回复人:svbird()(2001-6-5 17:38:00)
凭你的经验,你应该知道,用户只有能够开始使用你开发的东西的时候才能理解你开发的是什么,然后他们会突然产生各种念头并对该软件应该做些什么真正提出要求。一份系统说明书往往只是一份文档,人们往往不会认真地阅读,但是如果你让他们体验一个可运行的程序之后,他们就会确切地明白你的意思。
如果你不明白这一点,无论是软件工程还是ISO9001又或者是CMM都无法挽救项目的失败。我建议你还是深入项目,了解开发流程中出现的所有问题后再做论断,如果你根本就不了解开发流程,盲目的推动ISO9001或CMM,效果只会适得其反,因为你并没有解决问题的根本所在。改革的过程必须谨慎行事,失败的挫折只会令改革的道路更加艰难。
建议先在一个小型的项目组里进行实验,得到正面的echo之后再逐步全面推广。
不懂编码 = 从未写过程序 = 从未深入了解项目开发的流程 = 对问题所在没有清晰的认识
祝你好运,不过我对你的改革不抱期望。
回复人:steven_cheng(成成)(2001-6-6 11:14:00)
一个好的项目负责人应该有技术背景,否则一切都是扯淡
回复人:mirnshi()(2001-6-6 16:59:00)
需求分析中写"实现xx方面的所有功能",什么叫所有功能??这算分析吗?
这不是程序员要做的。
项目负责人也能按这种东西做(他们相信口头沟通)!
哦,还有项目负责人,那你就不应该找程序员了,直接要求项目负责人对你负责。
概要设计干脆要拖到编码结束时才做出来,说是这中间变化太大,先写好文档再编码是不可能的...
停止编码。某一阶段的任务没完成,就不进入下一阶段。
难道先写好文档,待评审完全通过后再编码真的是misson imporssible吗?开发计划真的不能准确制定,必须一改再改吗?
不要为了文档作文档,懂点技术会好的。
这是因为软件工程脱离实际还是程序员能力不够?
这也许是个习惯的问题。
回复人:yhy(风神)(2001-6-6 19:46:00)
怎么会矛盾呢?如果碰上一位优秀的分析员,程序员们的情绪会空前高涨!他们不仅能够尽量少走弯路,还真正可以体会到软件设计的艺术!他们会觉得不讨好你那真是傻瓜!