在软件产品开发中,一般情况下AD是通过BA来了解客户需求的,所以在项目启动初期一定会和BA一起Review全部要开发的需求。在Review时一定要以批判的态度,带着问题去看这些需求. 下面是产品化软件中的一些总结:



1. 思考软件现状与需求完成后的差异

作为一个产品化的软件就意味着同一个软件会有多客户的情况。 而目前的状态是由之前的客户确认过,并且实际使用所确认的。但是其中一个客气的需求可能会打破目前的产品功能。所以确定这个功能是否是所有客户所需的非常重要(BA应该严重关注这部分)。而作为AD同样要思考这点,因为你必须考虑这个功能是向下兼容的,即使某些客户说我不要它,他同样能以旧的方式运行系统。



2. 思考可升级性

也就是软件现状与需求完成后的差异是可控制的,且可向下兼容的(一般情况下如果你开发的不是跳版本的产品,那么必须思考向下兼容)



3. 思考可扩展性

为以后的维护和再次开放做好更多的思考。这就像婴儿的小鸡鸡,小时候看似没用。但如果割掉,长大后就会发现没有它是很痛苦的。



4. 思考可配置性

与可扩展相关,最好这个需求中的部分结构能够以配置的方式做到扩展。这样就不必每次以Hard Cording的方式扩展软件了。



5. 思考更好的性能

当项目做大后,性能问题必须放在首要位置考虑。对于一个新需求来说任何会影响性能的底层组件都要仔细考虑是否使用。一般情况下,这些公司内部组件能够提供更好的配置性,但是那是以性能为代价的。所以,两害相权取其轻。





6. 思考更好的用户体验

你的后台做的再牛逼,架构设计的再合理,用的技术再先进,没有一个优秀的用户界面,客户还是会不满意。所以当后台架构做到合理后,请把更多的精力放到优化用户体验上,这个会带来更多的收益。而对于任何一个新需求,设计更合理,更友好的用户界面是非常重要的!