《用户故事与敏捷方法》

来源:互联网 发布:电视的mac什么意思 编辑:程序博客网 时间:2024/05/22 16:46

  对于大行其道的敏捷,一直持有怀疑的态度,一个被中国人惯用的小步快跑的方式为什么会被捧得这么高,到底魅力在何处。静下心来读了两本书之后,作为最佳实践,的确值得去思考我们现有的工作方式和工作模式。虽然一些方式和方法我们一直在做,但并没有能够沉淀和推广。从另一方面来讲,软件开发过程使用什么样的模型、使用什么样的模式应当由客户需要、团队构成等多方面因素所决定,适用就好。解其精髓,学其实质,为我所有,也许做起来很难,但只要愿意实践,总会找到适合自己的,更多时间我们会发现适合自己的是一个四不像的、多种拼凑起来的组合体。


 "你如何确定一个软件系统应该做什么?然后,你怎样和不同的人去沟通你的决定?本书就是研究这个复杂的问题的。“  --Kent推荐序

  

 不同的开发模式在软件开发过程中对于需求的定义和理解有所不同。

 传统模式下更侧重于阶段的完成度,需求阶段的目的就是生成稳定的、完备的需求,为下一步的工作提供输入。 

 而敏捷模式下更倾向于对客户价值的满足,将整个软件开发过程划分成多个不同的小过程、不同的小目标,每个小过程又按传统模式分成不同的阶段,通过每个小目标的实现来逐步满足客户的要求。在这个过程中关注客户的需求、允许客户变化、帮助客户进行更为清晰有效的变化。使用用户故事,通过不同的角色来描述角色行为动作来最终确认要实现什么目标。

 《用户故事与敏捷方法》描述了在敏捷过程中如何实现对用户需求的有效描述,次一次性的工作通过迭代方式多次完成,不仅仅是为了快速响应变化,更重要的是如何准确、清晰的表达。


 1. 软件需求过程: 识别需求、分类需求、定义需求、描述原型、确认并定稿、需求实现

 2. 需求?:用户故事(需求),对于软件购买者或使用者有价值的功能描述。-- 有价值,这个很有意思,不同的角色对于价值的定义有所有不同:节省时间?节约成本?提高效益?还是提高了社会的认知?或是提升了自我的价值?这些值得深度思考。

 3. 需求识别:准确的识别需求,就需要对不同角色所处的位置、对软件使用的目的、行业特性有准确的把握。让客户参与定义用户故事这是敏捷的要求。 -- 大多数情况下,这种用户参与、用户亲自定义并不现实,也许需要软件开发过程的参与者转换角色,把自己当成客户,深入了解客户想要什么。当客户问你要锤子和凿子的时候,不要简单的造出锤子和凿子,而是要多想想客户为什么要这些,这样才能给出客户更好的解决方案,而后期对于需求的描述也就会大不相同。

 4. 描述需求:需求描述的基本原则,易读、易于理解,可以被软件开发过程中的不同角色所识别。长篇大论还是短小精干。-- 展现的形式或格式不同,对于受众的可接受程度也有所不同。这就像是一篇报告,满篇的文字 与 文字、图、表相结合的两种方式,对于阅读者阅读兴趣的提升、报告可能被理解程度,都会产生不一样的效果。从人对语言接受的程度来讲,短句比长句好理解,表格比文字好理解,图片比表格好理解。

   描述需求的一个关键问题是描述的语言和方式,不要用你的软件专业知识与客户确认他想要的,就像是一个中国人用中文跟一美国人交流一样,用对方所熟悉的语言来描述更容易让对方理解。而面对开发过程中的不同角色,这种描述方式就更需要简洁、明确,大白话也许最适合。最初的描述不要过多的涉及细节,只要表达谁、做什么、实现什么即可,细节可以慢慢分解。一次只做一件事,降低耦合度。

 5. 需求的确认:用语言、用文字、用。。。,不论什么方式,最关键的是要达成一致,无歧义、不遗漏,达成不同角色间的相同理解,实现共同的承诺。

   需求确认过程中的一个重要问题是对交付时间的承诺,使用理想日、关注剩余工作时间,可以帮助开发者更好的评估工作量、工作速率,掌控工作进度。

 6. 需求的实现:永恒的是变化,不确定是常态,拥抱变化是敏捷的重要特征。-- 在需求实现过程中,需求的小巧性决定了其变更容易被实现和控制,通过不断的变化和调整,将不确定性降低,使之在软件生命周期中保持一定的稳定性。而通过对需求优先级的调整,满足客户对于功能实现的紧迫要求,体现敏捷的灵活性。

   

 敏捷,也许是一种理想状态。他需要客户的配合,需要团队成员的承诺,需要不同角色间的良好沟通,这些对于人员都有着较高的要求。

 不过还好,有这么多的先行者为我们总结了如此多的最佳实践,可以让我们拿来主义。

 小、承诺、优先级、价值、理想日、速率,对《用户故事与敏捷方法》这本书的初步印像。

----------------------------------------------------------------------------------------------------------------------------

 总是想把书读薄了。无奈面对厚厚的书,能够让自己静下心来读完实属不易,更不要提如何把书读薄了。

 很多时候对于来自于国外的书也存在着疑惑:一个小小的问题会翻来覆去的讲,然后写成一个大厚本的书;同时对于深奥的问题却又能通俗的写本小册子。

 对待知识,国外的人喜欢总结,喜欢形成理论,然后出书,而国人总是喜欢揣着藏着,生怕外人知道抢了自己的生意,一方面是知识产权保护的力度,更重要的是一种对待知识开放的心态。 

    

0 0
原创粉丝点击