Feature Injection A Gentle Introduction
, Chris Matts
Despite what you may have heard, analysis is still an important aspect of projects done in an agile manner. Teams still need to understand what they are delivering in what order. The trick is to how to utilize traditional analysis techniques without introducing the corresponding waste that can be experienced with those techniques. In this session, we introduce Feature Injection and demonstrate how it combines traditional analysis techniques and the agile technique Behavior Driven Development to identify the business value delivered by a project without introducing analysis paralysis.
Feature injection is an approach to analysis that maintains a focus on business value and transfers knowledge to the team about how the project can deliver value and the features necessary to deliver that value. This knowledge is transferred to the team in the form of examples, thus eliminating the waste of separate requirements specifications and tests, and actually increases everyone’s understanding of what the project is actually meant to accomplish. So why is it call Feature Injection? Because “The process of pulling value from a project injects features into the system”.
The workshop will consist of three exercises with introduction and debrief. 1. Identify the value. 2. Identify the features. 3. Spot the examples. Each exercise will consist of a very short presentation of the material and a worked example role play by the presenters ( 5 mins ).
Session attendees will then particpate in the exercise in pairs or small groups ( 15 mins ), followed by a discussion by the whole session ( 10 mins )
Identify the value. This exercise starts with any request from the business and finds the value. All the value comes from outputs, so use the request to identify the output required. Known as “Popping the Why stack.” This process has identified the value when a statement alligned with the following is discovered. ( A project creates value when it increases or protects revenue or reduces costs in allignment with the strategy of the business. ). The output of this process is a “report” or output that the business require.
Identify the features. The input to this process is the output identified in the “Identify the value” process. “Traditional” business modelling ( object modelling, E-R modelling, knowledge crunching ) is used to identify the features and inputs needed to generate the output required.
Spot the examples. Using a process based on Kolb’s model of learning, and very similar to TDD/BDD in reverse, generate the examples used to feed a TDD/BDD development process.
- Identify the value and the output associated with a business request through “Popping the Why Stack”
- Identify the features necessary to create the output through agile usage of “traditional” business modeling
- Generate examples to describe and verify the features identified.

Add to calendar