项目前期

项目前期是指由需求分析人员形成需求文档(对我们来说就是FRD) 流到开发团队时。此刻我们开发团队接受需求,并开始项目前期的准备工作了。这个过程非常重要,甚至直接决定项目的生死。
需求

需求定义由客户提出。需求的分析由需分人员理出。需求分析处于项目生态树的最顶层节点。如果生态树的其他节点进行时,发现需求有问题,返工带来的代价是最巨大的。所以项目前期团队能清晰,准确理解需求至关重要。

如果正确,精准的理解需求呢?  1)阅读需求文档后,挖掘需求的深层次含义,能站在客户的角度提出问题和建议; 2)  组织会议需求评审,需求定义人员是必须参加的,这时候对问题这种讨论;
设计

架构设计也是在项目前期开始起来的。设计师开始跟需求分析人员密切接触,提出各种会影响架构的问题,询问项目的非功能性需求,询问业务的后续规划;

设计是没有“银弹”的(没有终极解决方案),而是一个不断改进的过程;俗话说:没有最好的设计,只有最合适的设计;

设计的本质是围绕“降低复杂度”的多次重试的过程,产生“简洁,健壮,伸缩性,抽象性,层次性,模块性”好的架构,需要不断设计,争取他人意见,在会议上讨论设计,甚至需要写一些原型代码去验证你的设计;

设计到什么程度呢? 根据不同的开发团队,开发此领域业务的开发人员的成熟度,有不同的程度。对于我们公司的大部分项目来说,在已有架构上开发,不需要有过多的设计。达到让开发人员能理解到:功能属于那个模块,这个模块的职责是什么就够了。
风险

项目前期基本可以发掘大部分风险(包含:需求,技术,质量,发布),并一定尝试规避这些风险;
计划

项目需求和人员确定后,就该制定项目的实施计划了。计划由团队人员一起参与制定。
技术调研

技术调研单独列出来,可见其重要性。尤其对于采用了陌生的新技术的项目。对于技术型项目,此过程尤其重要。

方案选取:根据业务需求提出几套方案。 技术人员容易犯:业界的新技术,新框架就是最好的这样的错误。
调研的结果: 开会讨论几套方案,择取最优。

调研的过程:满足需求为第一要素外,还要看此技术的许多方面,比如“社区的活跃度,bug修复的是否及时,是否开源,性能,扩展性,伸缩性,可控性,实施成本,需要的硬件资源,学习成本”等等要素;甚至需要写原型代码去验证;

猜你喜欢

转载自xdjava.iteye.com/blog/1226881