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 |
1 | Crystal 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. |
2 | Disciplined 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. |
3 | Dynamic 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. |
4 | Evolutionary 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. |
5 | Extreme 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. |
5 | Feature 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. |
6 | Kanban | 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. |
7 | Scaled 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 |
1 | Behaviour Driven Development (BDD) | This is an approach that improves communication between stakeholders and team members by demonstrating product needs using real examples. |
2 | Kano Analysis | This technique is used to understand which product attributes would help improve customer satisfaction. |
3 | Lightweight Documentation | This 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. |
4 | MoSCoW Prioritization | This 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 |
5 | Personas | These are fictional characters which are used to demonstrate how typical users would interact with a product. |
6 | Planning Workshop | This 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. |
7 | Purpose Alignment Model | This is a model that is used to assess ideas in the context of customer and value. |
8 | Real Options | This is an approach which helps people know when to make decisions rather than how to make those decisions. |
9 | Relative Estimation | These 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. |
10 | Retrospectives | This 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. |
11 | Story Decomposition | This 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. |
11 | Story Mapping | This is used to provide a visual and physical view of the order of activities which are to be supported by a solution. |
12 | Storyboarding | This is a visual and textual representation of the order of user interactions within a system or business. |
13 | Value Stream Mapping | This provides a complete and factual representation of the course of activities needed to deliver a product or service to the customer. |