敏捷开发 ゝ一纸荒年。 2022-06-16 11:06 329阅读 0赞 > [敏捷软件开发宣言][Link 1] ![这里写图片描述][SouthEast] -------------------- > 知乎问题[:敏捷开发需要写哪些文档?][Link 2] 回答: -------------------- 作者:张恂老师 链接:[https://www.zhihu.com/question/21974683/answer/94217626][https_www.zhihu.com_question_21974683_answer_94217626] 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 太极敏捷的一个基本原则: **敏捷开发只写有价值(business value)的文档。** 没什么价值的文档,那是浪费,你写它干嘛呢? 那什么文档是有价值的呢?具体来说,不同的行业、不同的领域、不同的项目、不同的产品。。。所要求的敏捷开发文档的种类有所不同。一刀切的做法不是敏捷,而是教条。 第二条敏捷价值观: **Working software over Comprehensive documentation** 一般来说,敏捷开发比 CMMI、ISO 9001 等标准体系所要求的文档种类和数量要少很多。过去许多企业为了尽早尽快拿证,囫囵吞枣、照搬照抄,搞了许多看上去很成熟的文档、步骤和流程。而敏捷开发让你有机会重新思考,重新反思、检视这些标准的开发过程,看看这些文档是否真的适合自己的企业和团队,真的有价值,这是敏捷开发在认识的一大进步。许多过去人们认为必要的文档其实是可以减少、简化与合并的。 关于敏捷文档,敏捷大师 Scott Ambler 有一篇著名的文章详细探讨了这个话题: [Agile/Lean Documentation: Strategies for Agile Software Development][Agile_Lean Documentation_ Strategies for Agile Software Development] 建议大家细读。敏捷开发是不是不用写需求分析、概要设计、详细设计之类的文档了啊? 概要设计文档、详细设计文档是源自传统软件工程的说法。 如今传统的 Word、PDF 版的详细设计文档通常可以省略,大部分这类文档可以结合代码注释用工具自动生成,Web/HTML 版的详细设计/代码参考文档才是更好的做法。 **在敏捷开发中,需求文档、概要设计(改成架构设计)文档通常是不能省略的。** -------------------- 作者:陈志宏 链接:[https://www.zhihu.com/question/21974683/answer/55367743][https_www.zhihu.com_question_21974683_answer_55367743] 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 文档问题其实是一个比较棘手的问题。“**敏捷对文档是轻视的,但绝对不是不需要**”。敏捷宣言里的4句话,已经包含了解决的办法。 《敏捷宣言》: 1、个体和互动 高于 流程和工具 意即沟通胜过文档(设计文档、软需、测试案例)。在一个团队可以面对面的工作环境中,如集中办公,无论是架构和开发、开发和测试、业务和架构都能够通过简单便捷的方式进行沟通,那么文档什么的可以轻视,不必按照国际标准的文档格式写大而全的设计文档。**但是重要且必要的交谈记录,为了避免遗忘,一定要记录,好记性永远不如烂笔头**。 2、工作的软件 高于 详尽的文档 意即软件胜过文档(包括设计、软需)。结构合理、脉络清晰的软件成果可以替代绝大部分的功能描述性文档,除非开发的东西一蹋糊涂,只有他一个人能看懂。但是敏捷中开发的代码是共享的,是可以结对编程的,这样就减轻了代码的完全独立性与完全个性化,减少了文档的必要性。但是大型的文档一定要有必要栏目、简要的流程说明,具体的功能可以略写。文档的繁简度,以程序脉络和流程分类是否达到让第三方开发人员足够清晰、快速、全面的了解为准。这是一个度,要根据团队的实际能力来把握,或者是团队的平均水平来把握。 3、客户合作 高于 合同谈判 意即可与客户随时沟通的环境胜过一次性大而全的文档(业务需求)。软件的开发一个复杂且变化的过程,需求再全,都有可能在开发时遇到讨论需求时没有客户未考虑清楚的地方,甚至是需求相反的地方。因此,沟通非常重要,能够与客户保持随时随地的顺畅沟通非常重要。这比传统的标准需求文档强很多,更能体现客户的实际需求。但是所有重要且必要的沟通记录,一定要通过文字保存下来! 4、响应变化 高于 遵循计划 意即推翻传统的由设计文档来引导开发的观念(设计文档)。毕竟先设计好再开发,是基于设计已经非常完善了,这个阶段已经结束了,但实际情况是这样吗?设计直到开发结束才算结束。因为一开始就设计好的东西,往往由于设计人员疏于实际的开发很久,不了解具体的内容,或者开发人员直到开发到某个阶段才发现遇到某技术问题,需要重新做具体设计。敏捷中认为不可能预测到未来所有的东西,应该有更加合理、更加宽限的态度去包容去承认去响应这些变化。**设计文档应该是概要式的,只要到具体某个迭代周期了才去完成最详尽的设计**。 小结,按传统的项目流程就是: 谈需求的时候,客户合作 高于 合同谈判; 设计的时候,响应变化 高于 遵循计划; 开发的时候,个体和互动 高于 流程和工具; 交付验收的时候,可工作的软件 胜于面面俱到的文档。 > 荐读:[Scrum: The Effective Way To Implement Agile][Scrum_ The Effective Way To Implement Agile] ![这里写图片描述][SouthEast 1] 另一个知乎问题:[互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?][Link 3] [Link 1]: http://agilemanifesto.org/iso/zhchs/manifesto.html [SouthEast]: /images/20220616/1d151e7e798744958ce38795b1e16b5c.png [Link 2]: https://www.zhihu.com/question/21974683 [https_www.zhihu.com_question_21974683_answer_94217626]: https://www.zhihu.com/question/21974683/answer/94217626 [Agile_Lean Documentation_ Strategies for Agile Software Development]: https://link.zhihu.com/?target=http://www.agilemodeling.com/essays/agileDocumentation.htm [https_www.zhihu.com_question_21974683_answer_55367743]: https://www.zhihu.com/question/21974683/answer/55367743 [Scrum_ The Effective Way To Implement Agile]: http://www.augustinfotech.com/scrum-effective-way-implement-agile/ [SouthEast 1]: /images/20220616/f36779b295054e2ab4d00013085052f0.png [Link 3]: https://www.zhihu.com/question/39757751?sort=created&page=1
相关 敏捷开发 为什么敏捷可以拥抱变化? ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNz 短命女/ 2022年12月11日 08:00/ 0 赞/ 26 阅读
相关 敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行 Bertha 。/ 2022年07月13日 03:41/ 0 赞/ 201 阅读
相关 敏捷开发 > [敏捷软件开发宣言][Link 1] ![这里写图片描述][SouthEast] -------------------- > 知乎问题[:敏捷开发需要写哪些文档?] ゝ一纸荒年。/ 2022年06月16日 11:06/ 0 赞/ 330 阅读
相关 敏捷开发 背景 > 过去我们用合同死死地固定住需求,然后乙方千方百计的只按照合同办事,没有发挥更大的创造力,而甲方在固定的成本面前,不想多花一分钱,却不停的要求新功能。那么甲乙双方 太过爱你忘了你带给我的痛/ 2022年05月30日 08:11/ 0 赞/ 332 阅读
相关 敏捷开发 以下文章转载自知乎,暗灭-京华九月秋近寒,浮沉半生影长单. ![1240][] [暗灭][Link 1] 京华九月秋近寒,浮沉半生影长单 366 人赞同了该回答 旧城等待,/ 2022年05月27日 04:24/ 0 赞/ 286 阅读
相关 敏捷开发 Agile Process (敏捷的开发流程) 是一种软件开发流程的泛称,几项共通的特性 : 客户与开发人员形成密切合作的团队,因为客户无法于初期定义完整的规格,而开发 电玩女神/ 2022年05月08日 01:22/ 0 赞/ 326 阅读
相关 敏捷开发 Web 敏捷开发 VítorEstêvãoSilvaSouza,EspíritoSantoAv联邦大学计算机科学系。 Fernando Ferrari,S / N Goi 水深无声/ 2022年04月10日 07:19/ 0 赞/ 392 阅读
相关 敏捷开发 在讲敏捷开发之前,我们先来看一下,开发模式都有哪些。开发模式包括:瀑布式开发(也叫线性开发模式)、快速原型开发、螺旋开发、迭代式开发(也叫迭代增量式开发)以及敏捷开发。那接下来 不念不忘少年蓝@/ 2022年01月08日 01:07/ 0 赞/ 370 阅读
相关 敏捷开发 下面放一些link吧,自己有见解的会写出来。 [https://blog.csdn.net/iteye\_2638/article/details/82213904][htt 快来打我*/ 2021年12月21日 04:45/ 0 赞/ 421 阅读
还没有评论,来说两句吧...