敏捷和精益

对于软件开发行业来说,之前10年中,敏捷的工程理论得到了越来越多的认可和实践。

相比在软件行业早期对于工程的摸索来说,敏捷的一些核心理念和实践方法从总体上看,是从更务实角度的一种回归。

但也许是因为Agile这个名词或者翻译的问题,有时候zack觉得大多实践敏捷开发的团队,都有些偏差的去重视迭代和发布的速度,而忽略了质量问题。这其实是对效率理解的通病,往往都会将效率,更加偏重于速度。

从技术来说,在敏捷的概念和实践中,将代码的重构贯穿于每一次迭代中,对于偿还技术债以及为持续开发打下基础是很重要的。但在实际过程中,恐怕少有团队对这一点能做到坚持执行,或者为此估算足够的资源。从产品角度也一样,除了发布新特性之外,对已发布特性的优化和调整,往往也处于一个不够重视的地位。

这些迭代中的调整,其实是更加精细的活儿,比起不断的增加新特性,这种优化和调整对产品整体质量的影响,可能更为深远。

而对于这一块,其实在更传统一点的制造业当中其实已经有了许多相关的管理经验和准则。这些主要可以属于精益管理的范畴,最重要的问题在于,提升质量并不意味着成本上升,高的生产质量才能降低整体的成本。

因此也许在未来几年里,在软件开发工程当中,zack想应该会看到敏捷和精益的结合,对于软件开发过程中的质量控制,会需要更多精细的关注和衡量准则。