Brenda的敏捷沉思录

Brenda's Agile Thinking

导航

客户和开发团队之间的透明性

Posted on 2010-08-18 18:09  brenda bao  阅读(404)  评论(0编辑  收藏  举报

  透明性是Scrum的一大支柱,没有透明性就没有办法随着迭代进展不断地提高。透明性不止要求团队之间信息透明,包括任务板的使用,主动认领任务,主动汇报任务等等。透明性也要求客户和开发团队之间的透明性,能做什么,不能做什么,做了什么,没做什么都应该清楚地摆在桌面上。这样才能帮助客户更好地实现商业价值。

  然而,每次培训的时候,学员疑问最多的也就是客户和团队之间的透明性。开发团队真的应该做到与客户之间完全透明嘛?如果客户本身就习惯了谈清需求就坐等软件交付,如何与他们保持透明性?更多的学员认为,与客户之间没有必要完全透明,该隐瞒的还是要隐瞒。

  Scrum的开发方式首先要求客户对自己的需求非常清楚,至少客户会作为干系人参加每个Sprint的评审会议,对可工作软件给出意见。有些时候,客户甚至可能是PO。但是,很多客户本身并不习惯这种工作方式。不断澄清需求,拆分需求对他们说来也是一个不小的挑战。相比起来,一开始写清楚需求文档,然后再也不用管,可能会更轻松。这种情况下,客户本身并没有意识到敏捷开发和透明性在软件开发中的重要性。

  那首先要做的是对客户进行敏捷培训。要让他知道软件开发是复杂的,难以以预定式的流程管理。一开始写清楚文档并不足以得到他能满意的最终结果。必须不断地参与开发,才能最大程度保证最后交付价值的最大化,这一点作为客户方也是有责任的。如果客户事先有类似经验,如最终交付的软件并不是他想要的,那可能就很容易让他了解这一点。

  其次要让他知道,每个开发团队的能力都是有限的,不可能在规定时间内完成超出范围的功能,即使完成了也会以牺牲质量为前提,那样对双方都没有好处。就好比便宜没好货一样。这一点,可能客户更难理解,很多人会说,你们不做我就找别家做,总有人能做出来的。为了抢到更多的客户,开发团队很可能以更低的价格接下开发任务,最终会以牺牲质量为结果交付软件。这就和很多零售业的价格战一样,可能会打垮整个行业。最终胜出的,还是质量过硬的那些产品。需要让客户知道花便宜价钱买到不好的产品也是不合算的。虽然软件质量是很难度量的一项指标,但是相信如果客户用过bug满天飞的软件之后,会认可质量的重要性。

  敏捷不止是开发团队的事情,和客户本身也息息相关。最后能否完成客户满意的软件,是需要开发方和客户方共同努力的!