软件项目开发没规划好就注定会失败

软件项目开发与管理的一些原则
服务器君一共花费了278.153 ms进行了6次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

软件项目的开发与管理是一门复杂的学问,不是简单地需求来了就动手编码,编码完了就算项目完工那么简单。一个项目如果没有好好规划,那么就很容易会失败。同样,我们在做一个软件项目的时候,需要注意的东西很多,下面总结一下一些容易视而不见但又非常重要的软件开发指导原则。

对外部环境的认识

1、必要性原则:用户(客户)需要应用软件来帮助他们处理信息。

2、“脱机”原则1:用户(客户)通常不会一直坐在电脑面前,他们都有自己的工作要做,而那些工作才是他们真正要做的事情。如果你是秘书,那么,电脑不会帮你做会议纪要,也不会给你安排老板喜欢的度假酒店。极端一点,假设你是清洁工人,一台多点触摸的 surface 即使再逼真的让你看到街角的一小块垃圾,你最后也还是得用扫帚去清除。

3、“脱机”原则2:不要把用户(客户)想象成电脑专家。下班后他们会回家吃饭、看电视、逛街、看电影。很多搞手机应用的人注定失败,原因就在于他们想象用户会从起床开始到睡觉都一直盯着手机看,实际情况是:没有人会这样。

4、需求原则1:“要求”不等于“需求”。如果有人要求你给他(她)做一个能看电影的收音机,那么,你应当告诉他(她):“你需要的是一台带收音机的MP4播放器。”而不是立即开始开发“电影收音机”。

5、需求原则2:需求是会发生变化的。所以,你要做的,就是尽早发现这种变化并尽可能提高自己应对变化的能力。

6、很多人还没有意识到“信息”以及处理信息的软件对改善他们工作的重要性。但这不是他们的“错”。

开发的原则

1、技术非常的关键!“技术上没有问题,问题在于…”说这样的话只能证明这人在技术上的确存在问题。

2、但,技术需要用户(客户)的需求来引导。永远按照需求来选择(甚至学习)技术,而不是相反。

3、限制性原则:技术不可能什么都能实现!参见“‘脱机’原则1”

4、适用性原则:只要分析到位,用户(客户)的需求,技术一定能够实现。参见“必要性原则”

5、“速度”原则:除非编码(Coding)在软件的整个生产过程中占到 50% 甚至更高,否则,任何希望提高编码速度来换取更快进度的努力都会以失败告终。但是,有编码在整个软件生产过程中占到甚至超过 50% 的项目吗?没有。所以,任何希望通过提高编码速度来换取更快进度的努力最后都会以失败告终。

为什么?参考“需求原则1” 和 “需求原则2” ,以及下面的“管理的原则”。

管理的原则

1、技术相关原则:技术决定工艺流程和工种,由此,决定了团队的构成和所有管理的基础(基础技术假设)。

Web 应用程序是通过在服务器获取数据并组合成网页展示给用户来工作的,所以,你的团队里面要有会制作网页和会写代码从数据库取数据的成员,并且,在进度上,网页要早于代码完成以便集成。

2、因为需求会(而且可能很快)变化,所以,为减少对管理带来的冲击,应当在一开始就选用适应力最强的技术。

3、“最少”原则:任何管理和技术上的努力与技巧,都比不过一开始就明确只做最少的内容。如果这一点做不到,那么,也许应该试试:

4、“设计优先”原则:尽可能给设计多点时间,这是我们思考的过程。如果这一点也做不到,那么,也许应该试试:

5、“死亡冲刺”:先做出来再说,有问题以后再改。不过,请做好足够的心理准备,你要应对的不仅仅是总体成本和维护工作量的上升,更严重的是团队成员的质疑、无休止的加班和逐渐低落的士气。

6、“最小管理”原则:如果你真的是没有办法了,但是还是希望能够对软件的生产过程进行控制,那么,就做好配置管理吧。

只要你每次在任意一台服务器上从配置库获取最新代码都能够在10分钟内完成部署,并且,在生产环境中部署的软件也是这个版本,那就应该差不多了。

7、“国情”原则:适合你的管理方法一定是你从你自己的实践和需要出发摸索出来的,其它的各种理论、方法、实践都只能作为参考。

本文地址:http://www.nowamagic.net/librarys/veda/detail/2016,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/2016

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《程序员修炼之道:从小工到专家》 亨特(Andrew Hunt) (作者), 托马斯(David Thomas) (作者), 马维达 (译者)

《程序员修炼之道:从小工到专家》内容简介:《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,《程序员修炼之道:从小工到专家》都适合你阅读。

更多计算机宝库...