MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 软件开发思想是什么?解决方案

软件开发思想是什么?解决方案

www.MyException.Cn  网友分享于:2013-01-23  浏览:27次
软件开发思想是什么?
最近我遇到一个问题!软件开发思想是什么?很迷茫、不懂!需要大家帮我解惑一下

------解决方案--------------------
软件开发思想就是:“用最小的代价,开发出最好的产品,卖最多的钱。”
------解决方案--------------------
转:
对我过去感兴趣的朋友们,请看十年总结系列文章 
--- 
正式回到原来公司就职后,开发这边的管理团队形成了一个三足鼎立的局面, 
田田,十几年工作经验,不怎么懂具体技术,负责纯管理,以及协调开发与市场, 
乐乐,8-10年工作经验,03下半年,他牵头做了一个2.0版本的框架,java c/s架构,年底要移民澳洲, 
我和乐乐各带了几个开发人员一起主持开发工作。 

虽然多头领导并不是一件好事儿,但对我来讲并不是一件坏事儿, 
因为来北京这几年,开发方面都是以我为主,很多时候我也不知道自己的决定是不是对, 
我相信大家都有这种感受,自己做出的决策,虽然内心相信是正确的,但还是希望通过其它途径得到证实, 
这就是常说的“他山之石,可以攻玉”,“外来的和尚会念经”。 
我现在觉得,需要别人来证明自己的时候,正是自己还不成熟的时候,不过从青涩变得成熟,不都要经历这个阶段嘛! 

04年,我的课程学分拿的差不多了,因为专业是软件工程,所以课程包括:过程改进、软件度量、算法设计、面向对象设计等等, 
我当时的感觉就像一个熟读了武功秘籍的人,迫切的希望通过修炼来印证功法所说的种种妙用, 
田田和乐乐都比我有经验,我自然乐得好好学习。 

我有几年的软件开发经验,也切身体会到不少的问题,我也经常思考如何更合理的组织开发, 
我的目标有些理想化,在我看来: 
1、管理应该实现“无为而治”,也就是说管理者的精力应该不在管,而在于看,看结果,看未来 
2、软件开发过程应该是可视、可控的。 
3、软件开发的结果是可预期的。 

我所学的各种管理课程都信誓旦旦的保证,规范的流程可以满足我的要求(除了第一条), 
所以当乐乐提出开发团队要采用RUP的时候,我积极响应,表示大力支持。 
于是,我们剪裁文档、安装Rational Rose、招聘测试人员和配置管理人员,制定版本管理规范等等。 
我也在这一时期,阅读了《人月神话》、《IT项目管理》、《UML》等很多相关书籍。 

然而,问题很快就出现了。 

在小公司,我们虽然是产品研发团队,但我们无法做到和项目的完全隔离,我们发布出去的版本还不能稳定的像Window,office一样out of the box, 
在流程的作用下,实施人员开始抱怨对问题的响应太慢(因为大家都习惯了有问题直接找开发,而现在我们要评审、修改文档然后改代码发布), 
用户的“紧急”需求被我们安排到下一版本,但市场通过老板来改变我们的版本发布计划,插入更加急迫的需求。 

由于规范的实施,导致开发与实施+市场产生了一定的对立(我不清楚这是我们公司的特例还是普遍情况), 
因为中国公司的客户总是很急,市场压力很大,于是每隔一段时间,当矛盾激化的时候,田田就召集我们和负责市场和实施的人开会, 
讨论的结果往往是如下几种: 
1、这个问题,需进一步“优化流程”,还是寄希望流程解决问题。 
2、我们开发力量不够,需要继续加人(但公司的实力是有限的啊) 
3、实施方面保证目前面临的是一个特殊情况,开发方面暂时妥协,尽快解决问题(一个项目总有足够多的“特殊”理由) 
3、要么没有结论,保持问题依旧(实际上是实施方面妥协) 

在一次次的摩擦中,虽然乐乐一直坚定不移的倡导他的“RUP”,并将很多问题归结为“流程不够优化”和“人员不足”时, 
我却在疑惑和反思。 
在一家小公司,什么样的开发过程才是合理的? 
产品化之路在小公司行的通吗? 
RUP实施的越彻底,所带来的管理消耗越大,到底有多少小公司可以承受? 

正当我为此郁闷不已的时候,听到了“XP”一词。 
那是04年第一学期结束的时候,回学校给导师汇报毕业论文的计划, 
她提到最近参加一次国际会议,会上有人讲解国外方兴未艾的软件开发思路:极限编程(eXtreme Programming,简称XP)。 
老师描绘的由XP带来的快速交付能力和代码质量的巨大提升,让我觉得心动不已,但又将信将疑。 

回家后,我立刻上网搜索相关信息,阅读XP的最佳实践, 
从XP又找到了敏捷建模、敏捷思想,并熟知了一些大师们的名字。 
这些先进的思想,当时给我的感觉就是“天上掉下个林妹妹,似一朵轻云刚出岫”,让人眼前一亮, 
我隐约觉得我所追寻的东西,就蕴含在这些大师们的思想之中。 

经过初步分析,我觉得XP对开发团队来讲过于激进,而“敏捷”这个宗旨是比较有现实价值的, 
于是毫不犹豫的买下了大师们写的几本书,包括: 
《敏捷建模》,《测试驱动开发》等。 

以最快的速度看完这些书后(要知道,解决问题式的学习和无目标的纯学习那是太不一样了), 
我在一次团队会议上提出尝试让开发团队变得“敏捷一点”的想法。 
在我介绍了XP以及敏捷的核心思路后,乐乐表示不相信这样做会有效,而田田则不置可否,认为需要证实, 
于是,我建议讲相关资料分发给大家去学习,然后再开会讨论此事。 

大家经过学习后(我其实很怀疑有些开发人员是不是真的在意过这些事情),只有军军这个小伙子表现出跟我一样的兴趣, 
在后来安排的会议上,我就像诸葛亮舌战群儒一样,跟大家辩论敏捷和RUP哪个更适合我们。 
经过辛苦的辩论(这可比我论文答辩辛苦多了),我们终于达成一致,在开发团队试行“敏捷”的开发方式。 

真正实施起来,敏捷建模或者XP编程远没有想象的那么简单,以我的经验来看,敏捷的成败取决于如下几点: 
1、成员对这种思想的认知和认同 
2、对参与者的水平普遍要求较高 
3、要防止XP演变成自由主义 

我们团队中试行的“敏捷”虽然没有达到老外们“宣称”的效果,但在改善代码质量,提升团队的响应速度方面,有比较明显的作用, 
因此,在以后的日子里,RUP也慢慢不再被人提及。 


以后几年里,我经历了几家有CMM资质的公司,但发现一个现象,那就是“资质是公司的,而不是团队的”, 
也就是说,虽然公司过了认证,但团队在做开发的时候,风格更多的取决于团队的领导。 
我在实际的软件项目管理过程中逐渐形成了如下信念: 
1、无法执行的规定还不如没有规定。 
2、代码质量应该在一切可能的情况下成为开发人员的第一目标。 

而我从关注方法过渡到关注结果(代码质量),是04年下半年的事情。 

--- 

我并不否认RUP的伟大意义,但以我目前的经验来看,不是每家公司都适合,至少以项目为本的公司,不适合。 
然而敏捷或者XP也有较高的实施门槛,所以,实施起来也并不容易。 
但对于个人来讲,提升自己提交物(无论是代码还是文档)的质量,是经营个人品牌的重要举措。 

以前也讨论过读不读研的问题。学校的课程不是没有价值,但如果不考虑学历文凭,我们不上学一样可以学到, 
但有一点,学校是一个思想交汇的地方,借助你的导师和同学,能够发现一些有价值的知识或者机会,这一点自己不容易成就。 
就像我接触到XP一样。 

在工作中,不要让流程或者制度成为推卸责任的借口。 

文章评论

如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
一个程序员的时间管理
一个程序员的时间管理
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
编程语言是女人
编程语言是女人
Java程序员必看电影
Java程序员必看电影
10个调试和排错的小建议
10个调试和排错的小建议
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
那些争议最大的编程观点
那些争议最大的编程观点
我是如何打败拖延症的
我是如何打败拖延症的
程序员的鄙视链
程序员的鄙视链
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员应该关注的一些事儿
程序员应该关注的一些事儿
 程序员的样子
程序员的样子
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
每天工作4小时的程序员
每天工作4小时的程序员
程序员必看的十大电影
程序员必看的十大电影
鲜为人知的编程真相
鲜为人知的编程真相
老程序员的下场
老程序员的下场
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
中美印日四国程序员比较
中美印日四国程序员比较
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
代码女神横空出世
代码女神横空出世
如何成为一名黑客
如何成为一名黑客
旅行,写作,编程
旅行,写作,编程
我的丈夫是个程序员
我的丈夫是个程序员
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员和编码员之间的区别
程序员和编码员之间的区别
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有