Friday, November 13, 2015

Unit of Work Pricing Model Vs Agile Scrum Methodology


IT is faced with a real challenge of reducing its costs and getting the most value out of its investments. We have come a long way in defining the new pricing models to embrace this new challenge.
Through this article, I would like to share the benefits of a two-fold approach for execution of small and large projects. Unit of Work (UOW) Pricing Model has helped clients a long way to minimize the costs and has an effective approach defined for execution and delivery of manageable units. At the same time, Agile Scrum methodology is so widely accepted these days in the Software industry.  An Agile Scrum approach compliments this kind of a pricing model. Contracting can be based on the number of User stories. The tricky part is to come up with appropriate User Stories. Good amount of team effort is required to achieve the same. Sprint Scope can be pre-defined for such User Stories.

Consider a typical Waterfall - Fixed Price Project. When we apply the Agile Scrum Methodology to this kind of a project, a typical implementation looks like below. All the Sprints are deployed in Production as a Singe Packaged Release.


Figure1: Agile Scrum Implementation for Generic Fixed Price Project

Now, when we apply the Agile Scrum Methodology to the Unit of Work Pricing model, a typical implementation looks like below. Each Sprint or Multiple Sprints can account to a Single Release.


 
Figure2: Agile Scrum Implementation for Unit of Work Pricing Model

I
n this implementation, be it the Execution or Tracking or Change management, it gets easier and accountable. This helps in achieving great customer satisfaction. Customer becomes part of every execution and embraces the beauty of the delivery. Cost comes down drastically especially with respect to change management.

Based on my experience, here are few practices which we should follow to achieve the most out of this two-fold approach or Agile Scrum methodology:

1. Good amount of workshops with Customer to be held for coming up with a Sprint Structure and Customer should be involved for defining the user stories
2. Sprint Planning should be done with some defined overlap of Sprint Cycles in order to give room to incorporate some critical feedback

3. Design and Technical dependencies between different Sprint cycles should be thoroughly reviewed and accommodated in the to-be executed cycle or as a new requirement
4. Changes or Defects should be taken up as a new requirement
5. Sprint Stand-ups and relevant Sprint Reviews to focus on continuous improvement
6. Keep the Customer informed of the progress and issues during Sprint execution for timely resolution
7. Customer feedback at every juncture or release is an important key to success
8. Its good to keep the Sprint duration constant, at least for the first few iterations, particularly in new product/service development scenarios - this sets the right expectations, gives us the room for continuous improvement and also gives us the opportunity to block the time for Key stakeholder discussions ahead of time. However as we move to the end of the project, the Sprint Cycle duration can be reduced.

There is nothing magical in this approach however proper planning should be done in order to reap the benefits.

Monday, September 28, 2015

Bringing in Process driven change to effectively manage risks

Keep it simple... we do not have to think hard to identify and document a Risk-Mitigation plan. Few will definitely slip and we will have to be prepared to take care of them as and when it happens.
 
When it comes to managing risks, human tendency is to find solutions which would immediately mitigate the risk especially under stringent deadlines and we tend to forget to evaluate whether the solution is just a quick fix. Such quick fix solutions could result in other issue(s) - Watch out!
 
Here are few things which you can do to ensure you are in control and mitigate the risk instantly right from the project initiation phase:
 
1. If a similar project(s) is executed before in the company, learn from previous project(s) and evaluate the risks, list them down. Do not shy away from asking. A real leader is one who does not reinvent the wheel rather he uses the available time and resources effectively

2. Risks typically can be classified in the context of Budget, Scope, Timelines, Infrastructure, Product(s), Service(s), Skills, Resources, Constraints, and Assumptions. At every juncture, plan to check the project dependencies and “issue trigger points” relevant to each of these

3. Ensure there is an appropriate tracking mechanism available to check on the use of Standardized, Operational and Quality compliance guidelines

4. Issues are tracked thoroughly detailing the source and relevant dependencies

5. Ensure Professional needs of the team members are met timely

6. All project personal to have the same level of understanding of Project expectations

7. Ensure Risks and respective mitigation is evaluated frequently and updates are carried out

8. Required Management approvals are obtained timely for any of the dependencies listed above
 
Foreseen and Unforeseen risks will always be there. Have a structured process in place. Do not try to avoid or ignore but be PROACTIVE in identifying and mitigating the risks before it is too late.
 
[Progress always involves risks, You can't steal second base and keep your foot on first - Frederick Wilcox]

Wednesday, September 2, 2015

Another View: Onboarding of freshers & Building a Cream Talent

Most of the times, we are required to work with fresher’s to get the project executed and I am sure almost all the project managers executing the project find it as a risk or a challenge which is true and most of the times project deliverables are at stake. If you look at the positive side, it always helps in project activities due to their commitment and zeal to learn, it also helps in having right project margins and helps in creating a technical pool of resources growing the portfolio/practice strength and building the technical expertise within portfolio/practice. It also benefits the fresher’s as they get hands-on experience and thus in-turn develop their technical understanding to take up higher roles. The key is to have the right senior junior ratio in the project.
 
With fresher’s, it gets difficult when we do not have right resources to groom them and understand their apprehensions and queries especially when they do not know the right questions to ask.

Here are few simple things which are proven for me and help a long way to groom them and have them perform:

 
1. Walk-through of Contract/SOW for deliverables, planning and execution – Sets right expectation.
 
2. Having an Induction Plan in place – Gives them understanding on how to do, what to do, who to approach for whatever relevant circumstances; explaining them the need for this project, explaining requirements, technologies used, existing Project artefacts etc.
 
3. Meeting their Training requirements – Sets the ground for them to perform; can be done even by a senior team member. Assess the Training needs at regular intervals and ensure their training requirements are met timely.
 
4. All project artefacts to be placed in Project repository or any version control system for easy access to the team including Project Contract/SOW especially for the sections which will help them understand the need of the customer and how they are converted to low level requirements.
 
5. Have a technical mentor identified within the project or outside who can guide them time to time.
 
6. Fresher’s do an excellent job taking up the role of a Configuration Controller (CC) and Defect Prevention (DP) anchor and few other quality aspects if given an overview and training in quality. This helps a long way building their confidence and helps them learn how to multitask effectively.
 
7. Role Expectations and Performance Expectations – Most of the times, the role needs, goals and performance parameters are defined but used only during appraisal process however I believe, this should be done while inducting the team – Helps the team to create personal goals and define a learning curve personally. This also helps the team to see how the goals are aligned to project performance and hence they try their best to perform in their respective roles.
Fresher’s have always the zeal to learn and get things done if proper direction and help is given to them. Additional responsibilities which is possible for them to take up gives them the confidence that they can take up multiple tasks/activities.

We can play a vital role in grooming them!!

[Glory lies in the attempt to reach one's goal and not in reaching it  - Mahatma Gandhi]