项目前期准备的重要性
2017-06-29 10:08
141 查看
工欲善其事,必先利其器。
今天读《代码大全》的第3.1节(前期准备的重要性)后,感觉到项目的前期准备非常重要,但是仍然有很多管理者不重视项目的前期准备,往往上来就要求赶紧开发功能,速度出Demo。项目开发中总会有这种情况:项目开始一周后,程序仍然在搭底层,老板就会问“都一周了,怎么还一个功能都没出来?”,这种情况比比皆是,这里就要说一下项目前期准备的重要性。其实在项目的初期、中期、末期都应该强调质量。初期应该注重底层架构和设计的质量,这里需要一个经验丰富的开发人员来反复的和产品确定需求和功能,然后从需求中提炼需求核心,再去设计底层框架,来保证项目的高效开发的同时还要保证项目后期易拓展、易维护。在项目中期更应该注重项目系统功能的正确性和质量,严格进行系统性测试,保证每个迭代功能的正确和完整。最后,在项目的末期更应该注重的是两方面质量,一个是项目的性能指标,另一个就是产品的体验细节。所以说在项目开发中的每个阶段质量都非常重要,只是侧重点不同,包括最重要的前期准备阶段。
前期准备工作的核心目标就是规避和降低风险。前期充分的准备工作包括认真去讨论和分析真实的需求,考虑讲来可能出现的拓展需求等。预先详细说明100%的需求和设计是不切实际的,不过“尽早的把哪些是最关键的需求要素和架构确定下来”是非常有价值的。前期的认真准备,可以让你更早的发现设计问题,软件开发中有这么一条宗旨:发现错误的时间要尽可能接近引入该错误的时间。
针对于上一点中的项目规划、分析出全面而准确的需求、创建高质量的架构等活动都需要一定的专业技能和丰富的经验。这个不是靠讨论的多么详细能够决定的。
管理者们应该要明白:软件开发不仅仅是写代码(写功能)。开篇说了一个现象就是很多管理者都认为,项目一开始程序就是写功能,然则不是。就算排除功能分析这步,也还有架构这一步。高质量的架构就像稳定的地基,可以让摩天大楼稳如泰山一样,让你的项目可以安全并高效的开发,而不是时有问题出现。所以说开工前打地基很重要,除非你要搭的是一间茅草屋。其实只要做几个大项目,你就能体会到:事先做好计划和架构能避免很多压力和风险。
假如你的BOSS让你立刻写代码,你可能有下面几种方式处理:
断然拒绝。选择这种方式只能说你很勇敢,并且你兜里的钱很充裕,或者说你的工作机会很多很多(再多这样下去也要玩完),很显然这种办法很难让人接受,只会制造矛盾。
假装在写。事实上你在调研和设计,然后再投入开发,这么做你很为你的BOSS着想,因为从他的角度来看这就是“无知是福”。
教你的BOSS:告诉他技术层次设计的微妙之处,设计有多么重要,这能增加世界上懂技术业务老板的数量,让项目进行更顺利。
清楚你要做的是什么。很多情况下都是“先做一个错误的东西出来,然后扔掉,并从头来过”。越明确你要做的是什么,就越能降低项目的成本,提供效率。
不仅仅软件开发领域中前期准备非常重要,其他各行各业都一样,准备充分才能走的更远。最后再一次引用论语中的一句话:工欲善其事,必先利其器。
相关文章推荐
- 软件研发那些事儿——项目和产品的前期准备
- 项目开发的前期准备(二)
- 软件开发中前期准备的重要性
- 景区管理项目之前期准备
- 项目风险管理规划的前期准备
- 项目开发的前期准备工作
- 前期准备与Django新建项目
- 作业六:团队项目冲刺前期准备
- Extdesk 项目前期准备(Mac)
- 项目开发的前期准备杂记
- 学院有意找你开发一个“毕业论文选题管理”的软件,在正式承接本项目的开发任务之前,你认为需要做哪些前期准备工作。
- 软件工程导论第四周作业,关于项目前期准备的感悟(自我回忆录,安装tomcat,mysql,myeclipse)
- 一个ssh项目前期整合准备
- 项目开发的前期准备(一)
- Android基于box2d开发弹弓类游戏[一]-------------前期准备&创建项目
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第一篇:前期环境准备
- 安装jdk,tomcat,MyEclipse2014的配置,进行项目前期的准备工作
- 从无到有项目开发过程—前期准备(软件的选用)
- [SpringBoot]SpringBoot项目的前期准备 By Eclipse
- Android基于box2d开发弹弓类游戏[一]-------------前期准备&创建项目