Tuesday, January 04, 2022

Agile Methods and Practices

Agile modeling

Agile Modeling is a methodology for modeling and documenting software systems based on best practices. Agile modeling is a collection of values and principles, which can be applied to agile software development projects. This methodology is more flexible than traditional modeling methods, making it more suitable in a rapidly changing environment.  

Reference:

    https://id.wikipedia.org/wiki/Agile_modeling
    https://en.wikipedia.org/wiki/Agile_modeling


Agile Testing

Agile Testing is a software testing practice that follows the principles of agile software development. Agile testing engages all members of the cross-functional agile team, with specialized expertise contributed by the tester, to ensure it can deliver the business value customers want at frequent intervals, working at a sustainable pace. Specifications derived by example are used to capture examples of desirable and undesirable behavior and are also used to guide coding.

Reference:


    https://en.wikipedia.org/wiki/Agile_testing

 

Acceptance test-driven development

Acceptance test-driven development (ATDD) is a development methodology based on communication between business customers, developers, and testers. ATDD includes many of the same practices as specification by example (SBE), behavior-driven development (BDD), example-driven development (EDD), and support-driven development or also called story test-driven development (SDD). All of these processes assist developers and testers in understanding customer requirements prior to implementation and allow customers to be able to communicate in their own domain language. Reference:

    https://en.wikipedia.org/wiki/Acceptance_test%E2%80%93driven_development

 

Specification by example

Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on captured and illustrated requirements using realistic examples instead of abstract statements. Example-based specifications are applied in the context of agile software development methods, particularly behavior-driven development. This approach is very successful for managing compliance and functional tests on large-scale projects of significant domains and complex organizations.

 Reference:

    https://en.wikipedia.org/wiki/Specification_by_example


Lean startup

Lean startup is a methodology for developing businesses and products that aims to shorten the product development cycle and quickly discover whether the proposed business model is feasible; this is achieved by adopting a combination of business hypothesis-driven experimentation, iterative product releases, and validated learning. Lean startups emphasize customer feedback over intuition and flexibility over planning. This methodology is more likely to recover from failures than the traditional way of product development  

Reference:

    https://en.wikipedia.org/wiki/Lean_startup

 

Kanban

Kanban means signal, which is a concept related to Lean Manufacturing and Just In Time (JIT). According to its originator, Taiichi Ohno, kanban is one way to record JIT. Kanban is not an inventory control system, but a regulatory system that helps determine what, when, and how much of a product should be made.

 Reference:

    https://id.wikipedia.org/wiki/Kanban


Scrumban

Scrumban is an Agile project management methodology that describes the amalgamation of Scrum and Kanban and was originally designed as a way to transition from Scrum to Kanban.

 Reference:

    https://en.wikipedia.org/wiki/Scrumban


Feature Driven Development (FDD)

Feature driven development is a software development model based on the features to be created. Reference:

    https://id.wikipedia.org/wiki/Feature-driven_Development_(FDD)


Dynamic Systems Development Method (DSDM)

The Dynamic System Development Method provides a framework for building and maintaining systems in a limited time through the use of incremental prototypes in a conditioned environment. This method can make software work 80% faster.  

Reference:

    https://id.wikipedia.org/wiki/Dynamic_Systems_Development_Method_(DSDM)

 

Agile Unified Process

Agile Unified Process (AUP) is a simplified version of the Rational Unified Process (RUP) developed by Scott Ambler. The Agile Unified Process describes a simple and easy-to-understand approach to developing business application software using Agile techniques and concepts but still true to RUP. AUP applies agile techniques including Test-driven Development (TDD), Agile Modeling (AM), agile change management, and database refactoring to increase productivity.  

Reference:

    https://en.wikipedia.org/wiki/Agile_Unified_Process



No comments: