Tuesday, October 18, 2016

Typical Approaches and Agile Tailoring


In agile development Time-and-Materials model is the most suitable and efficient for both customers and vendors. Taking into account of unstable market conditions and bringing the comfort to both the parties we need to come up with some typical approaches and tailoring of the agile values.
Whether we like it or not, fixed-price price projects with Agile are a reality. Each contract will have its own set of problems and will need a unique solution. In the end, how easy or hard it is to go for a fixed-price price with Agile will mostly depend on how well the customer understands agile principles. Usually small scale projects are suitable for fixed price model.
Below are three approaches suggested to carry out fixed price projects by with agile concepts by tailoring some of the agile concepts. These three approaches needs to be used in different scenarios with its individual execution method.

First Approach: Knowing each other’s (customer and vendors) domain well
There will be different scenarios while doing the contract with customer. Sometimes requirements will be very clear. Client will have clear goals, no more confusion to development team, everything is feasible. With this scenario we can execute the FP project with agile method by using more important agile values.
Situation:
1.      Should have good trust level in between customer and vendor
2.      Requirements are clear with approach and approved by customer
3.      Technically all the features are feasible
4.      Delivery confidence is high
Tailoring:
1.      Follow “Individuals and interactions over processes and tools” As Is
2.      Need to alter second value “Working software over comprehensive documentation”, here we must need customer approved task plan, approach and milestones
3.      The third value “Customer collaboration over contract negotiation” has no impacts and do not have importance in this scenario as we already have the contracts and requirements in place.  So here we do not required much customer collaboration and negotiations.
4.      The fourth and final agile principle value is “Responding to change over following a plan”. This is the core value of agile principles. Here we must need to avoid any change which will lead to scope change and extends the timeline. Smaller changes can be accepted which can be easily done without extending the timeline and scope.
Execution Instructions:
1.      Identify the requirement and list each module and tasks.
2.      Prepare the approach document for each task and get it sign-off from customer technical team
3.      Calculate the efforts and plan the team accordingly with respect to contract cost and profitability
4.      Take the priority items on top and plan two weeks  duration sprint
Second Approach: Begin with Time & Material and then move to FP later
This approach can be considered in following situation:
Situation:
1.      When requirements are not clear
2.      Low trust level is between the vendor and customer
3.      Project need to start in quick time and under time pressure
4.      Unknown technology to be used
Tailoring:
1.      As said in approach, start with time and material and for couple of days. Once you reach at first approach situation then start with first approach process
2.      Follow “Individuals and interactions over processes and tools” As Is
3.      Need to alter second value “Working software over comprehensive documentation”, here we must need customer approved task plan, approach and milestones
4.      The third value “Customer collaboration over contract negotiation” This is now very important in this situation and need to be used very effectively
5.      The fourth and final agile principle value is “Responding to change over following a plan”. In this situation the change requests (CR) can be entertained till team is delivering it with time and material. But once you reach at first approach level and changed your contract type to fixed then do not entertain the CR.
Execution Instructions:
1.      When project is in time and material stage let customer decide the task, priority and its timeline. Team can only give the efforts for planned task.
2.      Co-ordinate with customer effectively to deliver the expected result
3.      Plan the sprint and execute it. Initially let it be 2-week sprint duration and later you can increase it as per the requirement clarity comfort
4.      Deliver the planned work, demonstrate it to customer and take approval on it from customer

Third Approach: Capital cost and Incentives
This approach is little different compared to Fixed price model. In this approach both customer and vendor sits together and decide one cost for the project. Later if project gets completed on time without any hurdles the incentive may be offered in the form of giving additional engagements or projects with high rates. Additional cash can be one of option for incentives.
Situation:
1.      When customer and vendor are new to each other
2.      Team have identified some risks but customer has promised to clear those during development
3.      Sure about technical feasibility but confused for some feature on its  implementation duration 
Tailoring:
1.       “Individuals and interactions over processes and tools”. Both part of the sentence are important in this value
2.       “Working software over comprehensive documentation”, here we need working software as well as its documentation
3.      The third value “Customer collaboration over contract negotiation” Customer collaboration as well as contract negotiation may happen
4.      The fourth and final agile principle value is “Responding to change over following a plan”. Small changes can be accepted. But for massive changes both the parties need to sit together and need to revise the cost

Execution Instructions:
1.      List the priority items and prepare the sprint plan. The sprint duration should be smaller in the beginning
2.      Proactively use management technique to keep customer informed on all front
3.      Be transparent with customer for all the happenings in the project
4.      Deliver the project on time and raise ticket for incentives

5.      Raise warnings and alerts if there is additional work request, change request or any kind of risk in the project