The Agile perspective : approaches and techniques

In this post, I would like to talk about the approaches and techniques that are used in Agile perspective.

Approaches: there are a range of approaches which can be used in the Agile perspective. What differentiates these techniques are their alignment to the values and principles of the Agile Manifesto.

Some of these Agile approaches include the following:

No.Approach Brief Description
1Crystal Clear This approach is described based on its hardness and color. The hardness is the amount of risk involved, the higher the risk the greater the amount of rigorous predictive planning is involved. Color refers to how much of the organization would be impacted by the project, this includes the number of people required and the risk elements in the project.
2Disciplined Agile Delivery (DAD) This is a decision process framework which uses ideas from numerous Agile approaches. It is meant to assist the project from its initiation through to its delivery. This framework can be customized to fit in with the organizational needs.
3Dynamic Systems Development Method (DSDM)This project delivery framework is focused on cost fixing, quality, and time and then any eventualities are managed as the work product is being delivered. It uses the MoSCoW prioritization technique for scope management and time boxes are used to manage the work.
4Evolutionary Project Management (Evo)This is a project management methodology which is used to gradually develop and deliver a system . It uses impact estimation tables to estimate the solution’s ability to deliver value to the stakeholders at a stated cost.
5Extreme Programming (XP)This was initially created to be used in extreme software engineering projects. This concept focuses on the technical development processes and incorporates pair-programming, test-driven development, and other approaches in the technical practices. XP technical practices are often used in addition to other agile management frameworks.
5Feature Driven Development (FDD)This uses the client value functionality perspective to develop a working software. For example, following a requirements gathering session, a list of identified attributes are identified and all the planning, design, and development are done based on these attributes list.
6Kanban In this approach there are no fixed iterations. The work is moved through the development process as a continuous flow of activity. The work is limited to achievable chunks called work in progress (WIP) and the team works only on a fixed number of items at any point in time. Work may begin on a new item if it is required to maintain the flow of work, e.g. if the completion of work in the present iteration is dependent on completion of that work in the backlog list, these types of work are known as enablers.
7Scaled Agile Framework® (SAFe™)This is a framework used in implementing agile practices at on an enterprise scale. It focuses on individual roles, teams, activities and artifacts which are required to move agile from the team to the program to the enterprise level.
8 Scrum This is a lightweight process management framework based on verifiable process control. Work is performed using fixed length iterations, called Sprints, which are usually one month or less. At the end of each sprint the team must produce a working software of a high enough quality that it could potentially be delivered to a customer.

Now that I have explained the common approaches used in Agile, lets talk about the common techniques.

Techniques: This is a list of the common techniques used within agile approaches.

No. Technique Brief Description
1Behaviour Driven Development (BDD)This is an approach that improves communication between stakeholders and team members by demonstrating product needs using real examples.
2Kano AnalysisThis technique is used to understand which product attributes would help improve customer satisfaction.
3Lightweight DocumentationThis is a principle that governs all documentation that are produced on an agile project. The purpose is to ensure that all documentation is meant to fulfill an impending need, has clear value for stakeholders, and does not unnecessarily tie up resources . For example, a system overview document may be written at the end of a project based on the product that was tested and delivered.
4MoSCoW PrioritizationThis is a method used to prioritize stories using incremental and iterative approaches. MoSCoW which stands for must have, should have, could have, won’t have is used to arrive at a shared understanding on the relative importance of delivering a user story for the product
5PersonasThese are fictional characters which are used to demonstrate how typical users would interact with a product.
6Planning WorkshopThis is a collaborative workshop that is used to allow an agile team to decide which value can be delivered over a time period. These are popularly known as releases.
7Purpose Alignment ModelThis is a model that is used to assess ideas in the context of customer and value.
8Real OptionsThis is an approach which helps people know when to make decisions rather than how to make those decisions.
9Relative EstimationThese are team estimation techniques which could be used instead of story points. They represent how much time it would take to fulfill a user story.
10RetrospectivesThis is another term for the Lesson Learned technique. Retrospectives focus on the continuous improvement of teamwork process and are regularly held after every iteration in agile projects.
11Story DecompositionThis is used to ensure that the requirements for a product are created with the right amount of detail and would fulfill a valuable business objective.
11Story MappingThis is used to provide a visual and physical view of the order of activities which are to be supported by a solution.
12StoryboardingThis is a visual and textual representation of the order of user interactions within a system or business.
13Value Stream MappingThis provides a complete and factual representation of the course of activities needed to deliver a product or service to the customer.