需求的多变性,导致了, 客户的修改就是牵蝇上的蚂蚱似的, 都得跟着动,从UI 到业务处理,再到 数据库规则,更严重者,还牵扯到 所修改部分的引用。
思维的差异性和沟通的不全面,导致了,所求非所得的程序设计,经常是领导看到程序才发现不要所要的东西。
如果在组织结构中解决这两个问题,并形成统一规范,根据设计经验,提出以下设想。
开发团队的必要构成成员(可能一人兼数职):
一个最清楚做什么的人(需求分析师,或产品经理),
一个最清楚怎么实现的人(架构师),
管理并控制资源及时间的人(项目经理),
若干个程序员。
其中,前三个人要达成一种共识(各司其职,各尽其责,步调一致。),并能参与开发。
为了解决需求多变, 就要在程序设计时,尽量做到可维护性和可修改性。 为了做到这一点,需要架构师和需求分析师共同确认最适当的多变情况。
为了解决沟通差异和思维差异,需要需求分析师和架构师共同完成 UI 的布局和代码的组织结构。
以实际项目为例,来说明实现方案:
一个产品经理,一个架构师, 一个项目经理(不参与开发),三个程序员。页面在50个左右(程序页面在精而不在多)。
产品经理开发页面: 粗线条设计,主要设计页面布局,操作模式,显示方式 。注意,产品经理不是美工, 也不是程序员。它只定义 <骨头>! 在 代码端, 要在正确的地方定义出 空的方法体,定义传入参数,返回值。
架构师, 提供通用解决方案, 一个好的设计,这里的工作应该是很多的。UI 库, ORM 实现方案,业务通用处理层。
程序员做什么? 写程序!
还差什么? 美工跟上!
产品经理和架构师的工作是不是太多? 分配资源,成立产品以产品经理为首的骨头小组,以及以架构师为首的平台设计小组。
大家看看如何!