Scrum
Scrum是用於開發、交付和維持錯綜複雜產品 (complex products) 的敏捷框架 (AGILE framework) 。最初著重於軟體開發,之後已被用應用於其他領域,包括研究、銷售、營銷和其他先進技術領域。 一個 Scrum 團隊建議為十名成員的團隊而設計的,他們以迭代 (iterative)與增量 (incremental)式的方式交付工作,每個迭代稱作 Sprint。一個 Sprint 的時間不超過一個月,通常是兩星期…
共 13 篇文章
Scrum是用於開發、交付和維持錯綜複雜產品 (complex products) 的敏捷框架 (AGILE framework) 。最初著重於軟體開發,之後已被用應用於其他領域,包括研究、銷售、營銷和其他先進技術領域。 一個 Scrum 團隊建議為十名成員的團隊而設計的,他們以迭代 (iterative)與增量 (incremental)式的方式交付工作,每個迭代稱作 Sprint。一個 Sprint 的時間不超過一個月,通常是兩星期…
不止一种方法去做一件事(There's more than one way to do it,TMTOWTDI或TIMTOWTDI,发音为“Tim Toady”)是一条Perl俗语。这个语言本身就是用这个“不要教程序员如何编程”的主意设计的。这使得很容易可以写出极度杂乱的程序,但是,根据支持者对这个俗语的理解,这也可以很容易地写出简洁的语句。 例子 以下3种等价。 print if 1..3 or /match/ 或者更传统的: if(…
迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发方法,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。 在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需…
瀑布模型(),亦稱瀑布模式,是於1970年由等人所發展之系統發展生命周期的模型。該模型將系統發展的過程,大致區分為四個階段:分析、設計、實作、測試,其並且明確的定義每一階段中的工作。當完成一個階段的工作以後,才會進入下一個階段的工作。而依照該模型的系統發展的過程,即如同瀑布一般。經過改良的瀑布模型,在發現上一個階段的工作不夠完善時,尚可以回溯至上一個階段中。 階段 提升了发布频率(通常以“天”或“周”为单位)]] 瀑布模型,沒有明確的規…
需求規格實例化(Specification by example)也稱為實例化規格,簡稱SBE,是一種協作方法,利用擷取實際範例和說明,來定義軟體產品的需求和以業務為導向的功能測試,和其他方法用抽象的說明定義需求的做好不同。需求規格實例化常用在敏捷软件开发上,特別是行为驱动开发(behavior-driven development,BDD)。此作法特別適合用來管理重大領域以及有組織複雜度的大型專案中的需求以及功能測試。 需求規格實例化…
複雜度守恆定律(law of conservation of complexity)也稱為泰斯勒定律(Tesler's Law)或水床理論(Waterbed Theory),是有關人机交互的術語,意思是指每個應用程式在其本質上有一定的複雜性(),此複雜性是無法去除或隱藏的,需在軟體開發時處理,不然就會反映在和使用者的互動上。 複雜度守恆定律會衍生出一個問題:應該要讓誰面對此複雜性?可能是軟體設計者將複雜性放在程式碼裡,簡化使用者的介面,…
领域驱动设计(,缩写 DDD)是軟體程式碼的結構及語言(類別名稱、類別方法、類別變數)需符合業務領域中的習慣用法。例如處理租賃業務的軟體,其型別可以命名為LoanApplication及Customer,其方法可以用AcceptOffer及Withdraw。 领域驱动设计可以將實現對應到持续进化的模型。 领域驱动设计的前提是: 把项目的主要重点放在核心領域(core domain)和领域逻辑 以領域中的模型為基礎,進行复杂的设计 讓技術…
敏捷軟體開發(),又稱敏捷開發,是一種應對快速變化需求的軟體開發模式,描述了一套軟體開發的價值和原則。此模式中,自組織的跨功能團隊在緊密的協作中發掘使用者或顧客的需求以及改良解決方案,此模式也強調適度的計畫、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支援許多軟件開發方法的定義和持續進化。 「敏捷」(Agile 或 agile)一詞由「敏捷軟件開發宣言」(Manifesto for agile softwa…
行为驱动开发(,缩写BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。在过去数年里,它得到了很大的发展。 2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”中,Dan North对BDD给出了如下定义: BDD是第二代的、由外及内的、基于拉(pull)的、多…
精益软件开发是精益制造原则和实践在软件开发领域的变体。它基于丰田生产方式(TPS),由敏捷社区引入并发展。 起源 精益软件开发一词源于Mary Poppendieck和Tom Poppendieck的同名书籍。这本书将传统的精益原则重新阐释,提供了22种开发实践“工具”,并与敏捷开发的实践做了比较。 通过Poppendieck夫妇在敏捷软件开发社区中的努力,包括在敏捷开发会议上的几次演讲,精益软件开发已经被敏捷开发社区广泛接受。 精益原…
看板是一种精益制造工艺,为了管理生产过程和提高工作效率,由1940年代的丰田汽车公司发明。名称源自日文“看板”。在软件开发过程,可以使用“看板卡”(经常用即时贴)来执行看板。这些卡片不是作为提高生产量的信号,而是用于记载生产数量和标记生产过程。在虚拟看板系统中,会使用虚拟看板卡。在软件开发中,可以采用虚拟看板系统来限制在制品。 看板方法原则 看板方法根植于四个基本原则: 从你现在执行的任务开始 看板方法从你目前执行的任务和过程开始,针对…
KISS原则是英语“”的首字母缩略字,是一種歸納過的經驗原則。KISS 原则是指在设计当中應當注重簡約的原则。總結工程專業人員在設計過程中的經驗,大多數系統的設計應保持簡潔和單純,而不摻入非必要的複雜性,這樣的系統運作成效會取得最優;因此簡單性應該是設計中的關鍵目標,尽量避免不必要的複雜性。同時這原則亦有應用在商業書信、設計電腦軟件、動畫、工程上。 词源 這個首字母縮略詞根據報導,是由洛克希德公司的首席工程師凱利·約翰遜(U-2 、SR…
基於安全的設計(Security by Design)也稱為設計安全,在軟體工程中,是指一個軟體的設計基礎包含了資訊安全的觀點。 基於安全的設計必須把針對該軟體的惡意行為視為理所當然,並設法在資安漏洞被發現時,盡量減少對該軟體的衝擊。於軟體開發流程中的設計階段,列出安全需求、辨識安全風險及套用控制措施,以作為後續安全功能驗證的基礎,落實安全的軟體生命週期,從設計先期階段著手整體資訊系統安全。基於安全的設計與領域驅動設計等所謂「好的軟體設…