以互联网应用为代表的软件产品开发模式已经发生了巨大变化。伴随着这些变化,更为高效的软件开发过程将具备更大的竞争优势,这就迫使我们不得不提升组织的技术管理水平,因为技术管理能在以下四个方面促进组织和战略目标的达成。
1.正确的产品
成功的产品自然需要整个组织级别的规划和实施,这其中战略、产品、运营和技术等各个维度缺一不可,但首当其冲的是对行业和业务的理解,确保产品方向的正确性。作为一名技术管理者,同样需要参与产品的战略规划和实施过程,从技术角度给出解决方案。技术管理将在业务结构的确定、产品化策略和实现平台的建立工作中发挥作用。
2.创新的产品
对于技术管理而言,通过技术创新开发出具有市场领先水平的产品有助于最终战略目标的达成。毫无疑问,第一个进入市场的产品将会有助于增强该产品的市场占有率。这里的“第一个”可以表现为第一个对市场机遇做出反应、第一个采用某种新技术,或者说在同等技术能力条件下,比别人做出更快的市场反应,也即意味着创新。创新可以是业务的创新,也可以是技术的创新。
在互联网行业中,时机可能比任何其他因素更为重要。在一些行业中,市场窗口只会开放很短的一段时间。在这种背景下,产品能不能成功很大程度上取决于产品投放市场的时间。如果在同等产品规划和运营策略下,也即在相同的业务创新条件下,技术创新就会成为影响产品成功的决定性因素。技术创新能够在改善产品用户体验和缩短产品研发生命周期上提升产品成功的概率,如图1-2所示,通过缩短开发时间从而快速推出新产品能带来产品收益上的增长。而对于互联网产品而言,很多时候错过产品发布时机就意味着再也没有机会。
3.高效的研发过程
软件行业大多数产品开发由时间和成本决定其投入,即一定数量的开发人员通过一定时间的开发工作完成某个具体产品。显然,开发周期的缩短同样意味着开发成本的降低,因此开发成本与开发周期密切相关,产品开发周期时间与成本之间并不是一种简
单的线性关系,随着开发时间的增长,开发成本增长的趋势越来越明显。出现这种现象是因为软件开发过程中对范围变更的控制、计划的监控、资源的合理安排都存在风险,且风险随时间演变其发生的概率和造成的影响就越大。
通过建立高效的研发过程体系可以提高开发效率,通过提高开发效率而节省下来的资源可以再投入到新产品的开发中去,从而使更多的新产品投向市场,或者减少新产品开发的总体成本。对于软件开发这个特定行业而言,减少浪费是提高开发效率的首要切入点。浪费分成纯粹的浪费和必要的浪费,其中纯粹的浪费需要消除,而必要的浪费可以进行压缩。需要结合日常研发过程,对如何识别这些浪费、如何消除纯粹的浪费以及如何压缩必要的浪费需要进行剖析。
4.成熟的研发团队
研发效率的提升需要过程,但也需要充分考虑人的因素,因为最具有创造性的技术人员几乎总是最有效率。这一点在以创新能力和知识型技能为前提的软件产品开发中尤为突出。当前的互联网产业在高速发展的同时也伴随着浮躁的行业环境,产品开发人员往往表现出较大的流动性,通过技术管理手段打造一个稳定、健康的研发环境有助于吸引优秀的研发人才。反之,如果长时间处于一个疲于奔命的环境中,研发人员会感到失望和痛苦,从而不可避免去寻找新的工作环境。
一旦组织已经存在一个高效的产品决策、设计和开发过程体系,剩下的就是更好的管理和留住关键的开发人员,这就涉及组织管理范畴的内容。除了向下管理之外,组织管理还需要做到合理的向上管理和向外管理。当然,技术管理者作为一个团队的核心人物,在个人风格和处事能力上的不断自我管理和提升也是促进研发团队走向成熟的关键因素。