标签:#敏捷軟體開發

共 19 篇文章

Scrum

Scrum是用於開發、交付和維持錯綜複雜產品 (complex products) 的敏捷框架 (AGILE framework) 。最初著重於軟體開發,之後已被用應用於其他領域,包括研究、銷售、營銷和其他先進技術領域。 一個 Scrum 團隊建議為十名成員的團隊而設計的,他們以迭代 (iterative)與增量 (incremental)式的方式交付工作,每個迭代稱作 Sprint。一個 Sprint 的時間不超過一個月,通常是兩星期…

DevOps

DevOps(Development和Operations的混成詞)是一种重视「软件开发人员(Dev)」和「IT运维技术人员(Ops)」之间沟通合作的文化、运动或慣例。通过自动化「软件交付」和「架构变更」的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 传统的软件组织将开发、IT运维和质量保障设为各自分离的部门,在这种环境下如何采用新的开发方法(例如敏捷软件开发),是一个重要的课题。按照从前的工作方式,开发和部署,不需要I…

结对编程

结对编程()是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。 在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好…

产品待办列表

产品待办列表对应的英文是product backlog,也有翻译为“产品待办事项列表”,是指为开发完善产品而待办的事项列表。 在Scrum Guide中,产品待办列表是一个排序的列表,包含所有产品需要的东西,也是产品需求变动的唯一来源。产品负责人负责产品待办事项列表的内容、可用性和优先级。产品待办事项列表永远是不完全的,最初的版本只列出最初始的和众所周知的需求。产品待办事项列表根据产品和开发环境的变化而演进。待办事项列表是动态的,它经常…

用例

使用案例(),或譯-{zh-tw:用例;zh-cn:使用案例}-、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互動,也就是谁可以用系统做什么,从而完成一个明确的业务目标。人們可以通过用户的使用场景来進行需求分析。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家(domain expert)的语言。用例一般是由软件开发者和最终用户共同创作的。 …

验收测试

验收测试(),在工程及其他相關領域中,是指確認一系统是否符合設計規格或契约之需求內容的測試,其可能包括、物理測試,或是性能測試。 概述 在系統工程中验收测试可能包括在系統(例如一套軟體系統、許多機械零件或是一批化學製品)交付前的黑箱測試。 在軟體開發中,開發者常會將系統開發者進行的验收测试和客戶在接受產品前進行的验收测试分開。後者一般會稱為使用者验收测试()、終端客戶測試、實機(验收)测试、现场(验收)测试。 軟體開發在進行主要測試程序…

沃德·坎宁安

沃德·坎宁安(;),是美國计算机程序员,也是Wiki概念的发明者。他也是设计模式和敏捷软件方法的先驱之一。 他从普渡大学获得电子工程和计算机科学的交叉学科工学学士学位,以及计算机科学的硕士学位。 1995年在波特兰模式知识库创建了第一个Wiki站点。这个站点现在还在运作,致力于“人、项目和模式”,并且是一个“程序设计语言思想的非正式历史”。例如,这个站点被用来为有用的软件开放的模式语言以及极限编程的软件方法的发展进行分类。坎宁安提到Wi…

马丁·福勒

马丁·福勒(,),生于英國英格兰沃爾索爾,軟體工程師,也是一个软件开发方面的著作者和国际知名演说家,专-{}-注于面向对象分析与设计,统一建模语言,领域建模,以及敏捷软件开发方法,包括极限编程。 生平 马丁·福勒出生于英格兰沃尔索耳,在伦敦居住十年之后于1994年移居美国,居住在马萨诸塞州波士顿附近,梅尔萝丝市郊区。曾在玛丽女王文理学校接受中等教育。 马丁·福勒80年代初期开始从事软件工作,已写就五本软件开发方面的书籍(参见“主要著作”…

敏捷软件开发

敏捷軟體開發(),又稱敏捷開發,是一種應對快速變化需求的軟體開發模式,描述了一套軟體開發的價值和原則。此模式中,自組織的跨功能團隊在緊密的協作中發掘使用者或顧客的需求以及改良解決方案,此模式也強調適度的計畫、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支援許多軟件開發方法的定義和持續進化。 「敏捷」(Agile 或 agile)一詞由「敏捷軟件開發宣言」(Manifesto for agile softwa…

持續整合

持續整-{}-合(,縮寫),又譯為持續集-{}-成,是一種軟體工程流程,是將所有软件工程師對於軟體的工作副本持续整合到共用主線(mainline)的一种举措。该名稱最早由葛來迪·布區(Grady Booch)在他的中提出,在测试驱动开发(TDD)的作法中,通常還會搭配自動單元測試。持續整合的提出主要是為解決軟體進行系統整合時面臨的各項問題,極限編程稱這些問題為集成地獄(integration hell)。 解釋 持續整合的宗旨是避免整合…

行为驱动开发

行为驱动开发(,缩写BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。在过去数年里,它得到了很大的发展。 2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”中,Dan North对BDD给出了如下定义: BDD是第二代的、由外及内的、基于拉(pull)的、多…

站会

站會(,或),是一種參與者以站姿進行的會議。這種會議以站姿這種不太令人舒適的姿勢目的是為了讓會議時間變短。一些軟體開發方法學通常包含每日舉行的團隊會議,從而讓團隊成員對開發進度進行彙報和許諾。參會成員會討論潛在的技術挑戰、任務分配以及時間安排。站會在敏捷軟體開發中的價值(例如Scrum或看板項目)尤為凸顯,不過可以在任何軟體開發過程中都能應用。 參考文獻 外部鏈接 *[https://www.janeve.me/agile-develo…

燃尽图

燃尽图()是用于表示剩余工作量的工作图表,由横轴(X)和纵轴(Y)组成,横轴表示时间,纵轴表示工作量。这种图表可以直观的预测何时工作将全部完成,常用于软件开发中的敏捷软件开发方式,也可以用于其他类型的工作流程监控。 如何使用 方法1 一般可以在图表中绘制两条线段,一条表示期望的工作进度,另一条记录实际的工作进度,把工作拆分成若干工作要点,完成一个就减去一个,以此来衡量工作距离全部完成的剩余时间。 当实际工作曲线低于期望值时,则表示工作可…

敏捷管理

敏捷管理()指一种自发的、自适应的、低粒度的和演化的管理思想。它將敏捷软件开发和的原則應用於各種管理流程,特別是產品開發。 「敏捷」一詞起源於。1991年1月,羅傑·N·內格爾(Roger N. Nagel)出版了《21世紀製造企業策略》(21st Century Manufacturing Enterprise Strategy-an Industry led View)一書。2001年敏捷軟體開發宣言发表后,敏捷技術開始傳播到其他活…

持續部署

持續部署(,縮寫為),是一種軟體工程方法,意指在軟體開發流程中,以自動化方式,頻繁而且持續性的,將軟體部署到生產環境(production environment)中,使軟體產品能夠快速的發展。 持續部署可以整合到持續整合與持續交付(Continuous delivery)的流程之中。 註釋

分析癱瘓

分析瘫痪(或)指的是個人或團體因為過度分析或過度思考而導致决策或行動进展迟缓,無法在指定时间内做出有效決定或行動(即所谓的“癱瘓”)。情境可能被视为过于复杂且而可能導致更大的問題,所以遲遲無法做出决策。同樣地,一个人可能認為更優越的解決方案只有一步之遙,而陷入無止境的追求,忽略了報酬遞減的概念。 分析癱瘓是指對犯錯或錯過更好解決方案的恐懼,超過了及時決策下對成功的現實期望或其潛在的價值。這種不平衡導致決策無意識地被抑制,以試圖保留選項。…

精益软件开发

精益软件开发是精益制造原则和实践在软件开发领域的变体。它基于丰田生产方式(TPS),由敏捷社区引入并发展。 起源 精益软件开发一词源于Mary Poppendieck和Tom Poppendieck的同名书籍。这本书将传统的精益原则重新阐释,提供了22种开发实践“工具”,并与敏捷开发的实践做了比较。 通过Poppendieck夫妇在敏捷软件开发社区中的努力,包括在敏捷开发会议上的几次演讲,精益软件开发已经被敏捷开发社区广泛接受。 精益原…

看板 (软件开发)

看板是一种精益制造工艺,为了管理生产过程和提高工作效率,由1940年代的丰田汽车公司发明。名称源自日文“看板”。在软件开发过程,可以使用“看板卡”(经常用即时贴)来执行看板。这些卡片不是作为提高生产量的信号,而是用于记载生产数量和标记生产过程。在虚拟看板系统中,会使用虚拟看板卡。在软件开发中,可以采用虚拟看板系统来限制在制品。 看板方法原则 看板方法根植于四个基本原则: 从你现在执行的任务开始 看板方法从你目前执行的任务和过程开始,针对…

CSM

CSM(英語:Certified Scrum Master,Certified為認證之義),是Scrum軟體開發中的認證,是由Scrum Alliance所認證,此一認證需理解Scrum開發的精神,並且可以實踐及應用Scrum。Scrum工作者的認證除了CSM外,還有認證的Scrum產品負責人(CSPO)。 要獲得CSM認證,是由Scrum Alliance認證的Scrum培訓師(CST)進行兩天(16小時)的指導與授證,學員還需通過一…