课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
敏捷开发对于任何一个软件开发团队或者是互联网公司来说都是一个很大的挑战。今天,我们就如何实现敏捷开发来做一个简单的分析。
系统思维
这看起来很棒,或许我们用一个不那么高大上的标题会更好些,但问题的关键在于你不是宇宙的中心。“你”可以是指你个人或你的团队。
我们的目标是通过软件有效地为用户解决问题。我们的系统是指这样的一个过程,从确定需求到提供解决方案,通过解决方案来满足需求,然后找出下一个更为重要的需求。
我们的系统不是关于如何编码,也不会将卡片从一个栏位移动到下一个栏位。
分支上的代码写得再好,如果用户在数月或数年内(或许永远不会)用不到它们,就不会给用户带来任何价值,无论你对它们感到多么自豪。对于用不到的功能或架构来说也是如此。
近,我与一个团队合作开发了一个解决方案,可以将一项常规活动的时间缩短15分钟。因为这项活动经常举行,因此节省了大量的时间,从而省下了数百万美元的成本。原先的计划是将它与其他功能放在一起,并在大约6个月后交付。但当被指出这事关几百万美元,他们似乎感到困惑和惊讶。一旦清楚地知道影响有多大,团队就有动力减少部署时间。
转型失败
根据我的经验,由于团队成员未能意识到他们是更大系统的贡献者,因此我将大部分不成功的转型(以及很多业务失败)归因于此。这听起来似乎不那么相关,但团队成员是大链条中的连接元素,就像机器中的一个齿轮。过分关注局部不会给整个组织或系统带来任何帮助。
然而,我们却在提高局部效率方面付出了很多努力,却没有意识到,如果缺少了上下文,你的努力就白费了。太过专注于局部效率,可能会导致不必要的浪费,好的情况是不会给大系统带来任何好处,坏的情况是降低大系统的效率。对编码效率的痴迷杀死了很多软件产品。我看到有些团队为越来越多需要测试的用例而自豪,或者前端团队为他们开发出不尽其数的特性从而让后端团队赶不上他们而自豪。可悲的是,这些团队似乎没有意识到,他们并没有为系统带来价值。
我的一个朋友近分享了她的故事:他需要为一个活动准备10个蛋糕,但只有一个烤箱。她的丈夫提出要帮忙,她让他提前准备好蛋糕的原料,这样就可以更快让下一个蛋糕进入烤箱。
但当她来取蛋糕的原料时,它们还没有准备好,她的丈夫按照自己的想法忙了一通,但并没有朝着目标的方向走。他先是准备了10份面粉,然后是10份……等等,他觉得反正后面需要用到它们,他这样做要比每次只做一份然后切换来切换去更有效率。
结果是,虽然他感觉自己很有效率,但系统却要停下来等他,他的效率是以价值交付(蛋糕烘焙)的巨大损失为代价的。
或许,如果他能够了解全局以及他的贡献将如何影响价值流,他会采用不同的方式?他可以一次准备好一块蛋糕的原料,即使对他来说效率有点低。但从整体来看,他们将更快地完成他们的目标。
群体
系统思维是指上下文和领域,但在上下文和领域内部是团队——通常是很多团队。团队是个体的集合——每个个体都是截然不同的——而且个体之间的合作(或不合作)的能力决定了整体的交付能力。在一起合作并共同成长的团队可以完成惊人的壮举,而未能建立信任的团队就像一盘散沙,甚至不会取得任何进步。
软件开发先是关于人的,这听起来可能有点奇怪。但软件开发的方方面面都是关于团队内部的沟通、与用户的沟通、与利益相关者以及其他团队之间的沟通,等等,可以说有效的沟通推动了软件开发。
那些意识到开发产品其实就是一项以人为本的团队活动的人将会得到更好的发展。那些意识到我们建立跨职能团队是为了让自组织和自激励的团队能够创造出优秀的软件的人,他们更有可能取得成功。
从把自己看成是一个个体到把自己当成是群体的一员,这种思维上的转变是很难的,但当我们能够以有利于群体的方式行事,而不是只为了自己,那么我们就开始成为一个高绩效的团队。但需要注意的是,只是简单地将一群高绩效的人聚在一起,并不会创建出一个高绩效的团队。那通常是一场灾难。当意识到我们不只是简单的机械组合,才有可能组合出高绩效的团队。
其次是在社区中分享知识,并为他人提供支持。敏捷宣言提到,要变得敏捷,不仅要自己实践,还要帮助其他人一起实践。
反思实践和应用
我们必须经常花时间进行反思,这样才能变得善于自我反思,并向其他人提供反馈,帮助他们自我反思。
我相信每个团队——不仅仅是技术团队——都应该定期停下来进行反思。无论你做什么,都可以得到改进,但你需要一个有利于思考的环境。如果你能够学会进行有效的反思,那么进行反思的一小时可能会成为一周中富有成效的一小时。
当我们忙于日常工作时,专注于眼前的事物,而看不到全局。我们提醒自己真正的优先事项,以及我们对团队和组织的影响。直到我们停下来,开始审视我们的错误信念——太忙而忽略了改进。小的变化可以产生巨大的影响,而且合作是团队在另一个环境中建立联系的好时机。
作者:John Yorke
译者:无明
节选:infoq
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。