一款产品从0到1必然会耗费设计人员的一番心血。如果只是单纯的功能堆叠,而没有灌注其中的一致设计理念与哲学,面对这样的产品,你会明显感觉到混乱与混沌,缺少气质与灵魂。
而基础开发框架产品相对于其它传统意义上的产品而言有他的特殊之处,特殊之处在于该产品的使用者为公司的项目开发人员而不是最终用户。所以,在基础开发框架的设计上必然会向开发人员侧重。
下面就来说说目前所负责的一款基础开发框架产品的设计理念与哲学。
一、实在
对于实在的含义可以解读为如下几点:
1. 实实在在的解决问题
解决问题意为着产品的设计实现要以解决实际问题为导向,不针对于实际问题的设计都是耍流氓。
另外,不对新技术过度追求。用力过猛使得不稳定因素增加。多大问题用多大刀,技术与问题能很好契合才是最优选。
2. 实实在在的带来便利
当开发人员使用基础开发框架来进行项目开发时,的确能明显提升工作效率。一个虽然解决了实际问题,但是开发人员使用过程中感觉蹩手蹩脚的设计不是一个好设计。
这里的便利不仅指开发时的便利,还包括后期运行维护时的便利。可以通过一些手段引导开发人员朝着一个良好的开发模式靠拢。比如框架层面的限制、目录规范、代码规范校验等。
3. 不能太实在
首先,不重复造轮子。对于这一点,千万不要实实在在的来一个问题就造一个轮子。如果市面上已经有匹配度很好的轮子为什么不借为己用?自己不间断的无脑造轮子会有如下风险:
- 花大力气造的轮子没有已有的轮子优秀
- 后续需投入大量人力做问题处理与升级维护
- 需负责提供完善的文档以及负责对开发人员的指导培训,而已有轮子这些东西开发人员可以从网络获取
另外,别一味想着用技术去解决问题。有些时候通过一些开发准则,技术使用规范,业务逻辑重新梳理能更好的解决问题。有些问题当陷入技术的漩涡后,反而会让问题变得越来越庞大,越来越难以控制。
二、开放
在过往的经验当中,见过太多太多的产品越做越封闭,越做越臃肿。当产品越来越封闭后,开发人员彻底变成调包侠,更不利于个人成长。产品研发人员疲于应付各种BUG与技术支持,而无暇思考产品的迭代蜕变。
这里的开放意味着基础开发框架需要保持一定的Open程度。当遇到刁钻需求时开发人员只要对产品有一定了解,自己也能解决,鼓励开发人员多折腾。这样不仅有利于开发人员的技术成长,而且有助于使得产品研发人员从不断的技术支持中解脱出来。
三、分享
作为基础开发框架的研发人员,在解决核心问题的同时还有义务与责任带领框架的使用人员不断的提高自身的技术水平。他们水平的提高才能对产品提出更高水平的建议。开发者与使用者之间应当建立起良好的沟通交流机制,相互分享各自的经验心得,共同使得基础开发框架产品更上一个台阶。
基础框架产品与使用人员的关系其实是一个相互成就的关系。 使用者不断分享出使用经验,提出宝贵意见,让产品不断优化,同时反过来让使用人员用起来更加得心应手。
四、最后
在职业生涯中,见过太多太多的项目,再简单的也能做砸,再难的也能做成功。同时,跟公司产品的优劣好像关系也不大。
一队什么样的人来做这个项目很大程度上决定这个项目的成败。
所以,没有银弹,唯一的银弹是人。