What is agile workforce performance management and estimation ?


Fundamentals of Agile Software Development: 
      Agile methods are based on an iterative and incremental development approach where the requirements and solutions evolve through collaboration between self-organizing and cross-functional teams. It promotes adaptive planning, evolutionary development, and delivery. The time-boxed iterative approach that encourages rapid and flexible response to change. The iterative development is the way of breaking down the large application into smaller chunks. Software is designed, developed and tested in repeated cycles. In an Incremental software development method, the product is designed, implemented, and tested incrementally until the product is finished. It has the following benefits,
 * Accelerate the Time to Market,
 * Increase the project visibility by having multiple iterations of end to end development cycle rather than one iteration, 
 * Agile method welcomes evolving requirements and prioritizes as needed,
 * Reduce risk and cost by testing early and identify potential issues in the project 
 * It improves collaboration with Business Organization 

 Agile Planning: Agile planning in the value-based analysis is the process of assessing and prioritizing the work items and plan accordingly. We can check at every stage of the project by business value of the items or practice and items in this set have the highest business value so that we can prioritize and deliver the highest value item first. The item value can be calculated by the development and delivery cost. For ex, the feature that only cost $1000 that can delivers $3000 in value is worth developing, which has higher business value. The agile team will create a high-level estimate of the backlog items when evaluating the work items in the project. The other factors to be considered are payback frequency (the time period to develop the project like one month or one week) and dependencies( compliance check). 
   The team elicits from the stakeholder group ranks the requirement and prioritizes the requirement into the development process. The first step in the process is to define the vision. It's called "designing the product box". In this activity, they design an imaginary product and identify the product's top 3 features. This will help the stakeholder to understand the high-level vision of the project and consensus around common goals, mission, and success criteria. In the final step, the team completes the iterative development process that has a prioritized list based on business value. 
    Agile planning uses timebox method. It has a agreed period during which the person or team works towards the completion of the goal, rather than work to continue until the goal is reached. It's a method to evaluate what was accomplished within the timeline and stopping the work. In agile, all the events are timeboxed. For ex, the stand-up meetings are time-boxed for 15 minutes and sprints are timeboxed to 1 to 4 weeks etc., This will help the team to adjust their scope and deliver the best quality product within the fixed cost and time frame. 
   The agile planning process is conducted through 3 steps such as,

               Sizing -----> Estimating -----> Planning 

 As shown above, we need to determine how large the task is and estimate how quickly able to complete it. So, we need to break down large chunks of work into smaller units( size, estimate, and plan). Agile planning differs from traditional planning in the following ways, 
   1. Uncovers true requirement and pre-planning - Agile project build a prototype to better understand the domain and use this prototype as a basis for further planning and elaboration. It relies on trial and demonstration to uncover the true requirement of the project. 
  2. Agile planning is less of an upfront effort - Agile methods recognize the level of risk and uncertainty on knowledge work projects makes upfront planning problematic. So they distribute the planning effort throughout the life cycle which will help the team better adjust emerging information. Agile methods accept the knowledge work projects and planning becomes a visible and iterative component of the project life cycle. Agile methods use a sophisticated adoption system to gather and measured in the same units as feature estimates of story points, days or hours and make an adjustment in the backlog. The 3 key levels of agile planning are High-Level plan, Release plan, and Iteration plan. Agile teams will get a lot of feedback in an ongoing planning processes. In an agile approach, you need to update the planning at, 

   * Backlog Reprioritization 
   * Feedback from iteration demonstration 
   * Retrospective generates teams processes and techniques

 Agile Principles: Agile discovery is the term that refers to the evolution and elaboration of agile that addresses project plans of incomplete initial requirement is in effect. It has nine high-level principles of agile. Those are,

 * Plan at Multiple Levels: At a high level, we cover the overall scope, what needs to be done for the project, Releases detail, and the iterations etc., 
 * Engage the Team and Customer:  It will improve the team's knowledge and technical insights that generate the buy-in and commitment. 
 * Manage Expectation by Frequent Demonstration process:  The current rate of progress predicts the completion date and costs of the project.
 * Integrate the processes to project characteristics: When there is uncertainty, the team will explore the proposed technological approach will work and mitigate the risk.
 * Update the Plan Based on Priorities: Business set for the project and this will reflect in backlog priorities created by product owner with his development team.
 * Estimation that accounts for risk, distractions, and team availability: In order to produce a better estimate, start with the historical averages and factor into the team's availability, distractions, and other calls. 
* Estimate Range reflects the level of uncertainty in the estimate: Estimate Range helps to assess the risk associated with our project.
 * Base projections on completion rates: The projections should be based on the actual compilation date of the project. Because these numbers show the real rather than ideal rate of progress.
 * Focus on the project, divergence and outside work: The various factors to be considered in the agile projects like people supporting the agile projects, and bother planned and unplanned actions etc.,

 Agile Estimation: It has heuristics and parametric estimates. The heuristics approach looking at data from projects that created similar products of the same size and complexity and sees how long projects took. In the parametric estimates, such as bottom-up estimates are based on the complexity of user stories. The estimate convergence graph shows the software projects move from a broad range in the early software life cycle to a more manageable range. Once the scope and specification are agreed upon and continue to narrow to deals more about the project. The product features are broken down into smaller units are called user stories. Then, breakdown the user stories into smaller chunks are called tasks. The epics are larger part of user stories. The epics might be positioned in 3 different hierarchies such as


The project requirements are broken down as Just in Time or at the least responsible moment so that the team gets closer to do the work.
 Agile Estimation Techniques:
 A. Affinity Estimating: If a project has just started and has the backlog hasn't been estimated yet on in preparation for release planning, the agile team uses this technique and estimates the user stories in story points. This has been done in 5 steps,
 1. Silent Relative sizing: In this technique, two posted notes of Smaller and Larger written are placed on the wall or whiteboard. Team members are expected to size the item relative to other items on the wall considering the effort involved in implementing the definition of done. Run the silent relative sizing until all the product backlog items are up on the wall of space reserved for questionable items.
 2. Editing of the wall: once the items are stacked on the wall, it is time to edit the relative sizing on the wall and ask the team members to read the product backlog items on the wall and move them around as needed in either direction. During this exercise, you may see some design discussions going on, the missing backlog items, and increased clarification needed from the product owner.
 3. Place an item into Relative Sizing: The team places the items along the spectrum at the top of the wall between smaller and larger. If you are using T-shirt sizing, you may look something like S,M, L, XL, XXL, and you need to put the user stories in one of those buckets.
 4. Mark the Items by Color: Product owner to mark the item with color for estimating the work they have done so far. 
5. Get into your Tool: Finally, make sure that the estimates are getting into the tool of choice of product backlog management like Jira or other tools.
B. WideBand Delphi: It is a popular project management and structured communication technique that relies on a panel of experts developed as Systematic and interactive forecasting. The team comprises of 3-7 member that consists of an agile coach, moderator, experts and developers. There are many rounds. The facilitator provides an anonymous summary of experts forecasts from the previous round with reason for judgments. Experts are encouraged to revise their earlier answers in accordance with other members of the panel so that the group will converge towards the correct answer. Finally, the process will be stopped with pre-defined criteria with no. of rounds, consensus, and stability of results. The WideBandDelphi will be conducted in six Steps. At the end, the product owner collects all the estimations from the team member.
  C. Planning Poker: It is one of the most commonly used techniques in agile projects that the team knows which stories are the highest priority by looking at the backlog so that they commit to as many high-priority stories in each iteration. It will be used to figure out the effort to build the prioritize list of user stories. It is usually an estimate of the story points needed to build each story at the start of each iteration. The team will conduct subsequent estimating and planning the sessions once per sprint. It is very helpful tool for an initial estimate to find out the product roadmap of the project and will be conducted after the daily stand up meeting. Planning Poker is a collaborative approach and each team member estimates the whole effort that helps everyone to get a better understanding of the whole project. The voting for an item continues all the team members anonymously vote the same way. If more than one person has the lowest or highest vote, just one person shares the reason to help the process move quickly. 
  D. Bucket System: This method used to do an estimation of a large number of items with a small to a medium-sized group of people and to do it quickly. Everyone in a group participates and hundreds of items can be estimated in a little time. It encourages the group accountability to estimate the effort of estimate in the value of the stakeholder. 
E. Velocity: This is a powerful technique for accurately measuring the rate at which agile development teams consistently deliver business value. To calculate the velocity of your team, simply add up the estimates of the feature, user stories, backlog items successfully delivered in an iteration. It is measured in the same units as feature estimates of story points, days, or hours. For estimating the initial velocity of your agile team, you should use proven, historical measures for planning features. Within a short time, velocity stabilizes and provides a tremendous basis for improving the accuracy and reliability for short and long-term planning for agile projects.













Comments