Category Archives: Project Management

Agile Methodology: Points, velocity, Complexity, & effort estimation

In Agile Methodology, points and velocity have been seen as crucial elements for the success of many teams and projects. A few years back one of my teams was working on a new mobile application for a popular restaurant chain. The project was a complex one, as it required integration with the restaurant’s existing systems, as well as the ability to place orders and make payments through the app. As the team began to work on the project, they quickly realized that estimating the complexity and effort required to complete the various tasks and stories was becoming increasingly difficult. The team was struggling to come up with accurate estimates, and as a result, they were falling behind schedule.

In an effort to get back on track, I decided to understand along with the project manager assigned to the team on how exactly they are estimating stories. And to my surprise I learned that the version of points and velocity understanding is way to confusing for them. We began by assigning points to each task and story based on their relative complexity and effort required, then used velocity to estimate the number of points the team believed they could handle in a given sprint. Trust me, it might sound simple but it was nothing near to simple. In this article I will try to break some of the learnings that helped my team to understand things well.

Basically, in Agile development, teams use the terms “points” and “velocity” to estimate the complexity and effort required to complete a task or story. However, these terms can be confusing as they are not meant to measure the business value of the work or evaluate how hard the team is working. So, points are intended as a relative metric to help developers predict the effort required for different tasks. And, Velocity is used to estimate the number of points a team believes it can handle in a given sprint. One of the main sources of confusion is when team members start to think of points and velocity as a way to measure the value of the work or how hard the team is working. This can lead to issues such as gamifying points and inaccurate estimation. Additionally, equating points with time spent working or comparing the point velocity of one team to another can also be misleading.

First: breaking the confusing terms in Agile methodology

Lets look at some of the basic terms that you should differentiate between in order to have an understanding of the points and velocity system.

  • Agile is a philosophy that focuses on improving software development

  • Agile is about the “why” and “what” of improving software development
  • Scrum
  • Scrum is a practical framework that explains how to successfully execute software development projects

  • Scrum is about the “how”
  • Agile framework
  • A framework gives teams a loose structure and allows for customization and interpretation

  • Scrum is considered a framework
  • Agile methodology
  • A methodology is rigid and explains exactly how to do something

  • Extreme Programming (XP) is a methodology
  • Self-organize
  • When teams self-organize, they only choose how to accomplish their work.

  • In a self-organized team, a leader or outside party might determine tasks and assignees
  • Self-manage
  • When they self-manage, they also decide who does what and when.

  • While a self-managed team chooses these elements themselves
  • Product Backlog
  • The Product Backlog is an ordered – and ideally prioritized – list of all the ideas you could possibly work on to develop your product further.

  • You can continuously expand and refine the Product Backlog.
  • Sprint Backlog
  • The Sprint Backlog only contains items you have selected from the Product Backlog to work on during the current sprint.

  • Sprint Backlog is only reviewed and updated during sprint planning meetings.
  • Velocity
  • Velocity is a measure of how much work a team can complete in a sprint

  • A team with a velocity of 20 points per sprint and a capacity of 160 hours would be able to complete 20 points of work within the 160 hours they have available.
  • Capacity
  • Capacity is the amount of time a team has available to work on a sprint.
  • Definition of Done
  • The Definition of Done is a set of criteria that a product or feature must meet before it can be considered complete.

  • For example, a Definition of Done might include testing and documentation requirements.
  • Definition of Ready
  • Definition of Ready is a set of criteria that a product or feature must meet before it can begin development

  • For example, a Definition of Ready might include user stories and acceptance criteria.
  • Sprint
    A sprint is a time-boxed period of development, usually between one and four weeks, during which a specific set of tasks are completed.
    An iteration is a single pass through the development process, which may include multiple sprints.
    Sprint goal
  • A Sprint Goal is a short, specific statement outlining what the team hopes to achieve during the sprint.

  • For example, a Sprint Goal might be “improve user experience”
  • Sprint objective
  • Sprint Objective is a specific, measurable goal that the team commits to achieving during the sprint.

  • For example, a Sprint Objective might be “increase user satisfaction by 10%.”
  • Technical debt
    Technical debt refers to the cost of maintaining and updating code over time. For example, a project with a high technical debt ratio may be more difficult and expensive to maintain in the long-term.
    Technical debt ratio
    Technical debt ratio is a measure of how much technical debt a project has relative to the amount of new code being added.

    What’s the confusion with the points and velocity system?

    Points and velocity can be confusing for many people as they are abstract concepts that don’t directly correspond to real-world units of measure, like hours or days. The process of estimating points can be subjective as well because with different team members may have different opinions on the size or complexity of a task. This leads to discrepancies in point estimates and makes it difficult to compare to the relative size of different tasks.

    Also, these terms confuse few people because they are often used in conjunction with other Agile concepts, like sprints and backlogs, which can be complex and difficult to understand on their own. Additionally, the use of velocity as an estimation tool, it’s based on the assumption that the work of the team will be consistent over time, which is not always the case.

    Ironically, points and velocity are actually not the only ways to estimate complexity and effort in Agile methodology, and different teams may use different methods for the same activity which further add to the confusion when different teams are using different estimation techniques and terminology.

    Due to the confusion caused by these terms, some agile circles have called for eliminating points altogether, arguing that they are not only confusing for the team but also a distraction from the real work. The idea behind this approach is to avoid the competitive associations people tend to make with points and velocity. However, it is important to remember that points and estimation are crucial tools for teams to better understand and predict the effort required for different tasks.

    The big question: How points & velocity can help in estimating complexity & effort

    Let’s say a team is working on a project to develop a new mobile app. The project is broken down into several user stories, such as “As a user, I want to be able to create an account” and “As a user, I want to be able to view my profile.” Each of these user stories is assigned a number of points, based on the relative complexity and effort required to complete them. For example, the “create an account” story might be assigned 8 points, while the “view profile” story might be assigned 5 points.

    The team works in sprints, with each sprint lasting two weeks. At the end of each sprint, the team assesses the number of points they were able to complete, and this is their velocity. For example, in the first sprint, the team completes a total of 15 points. In the second sprint, they complete 12 points. And so on.

    Using this information, the team can estimate how many points they will be able to complete in future sprints, and use this to predict when the project will be completed. For example, if the team’s velocity is 15 points per sprint, they can estimate that they will be able to complete a total of 60 points in four sprints. If the total number of points for the project is 100, this means the project is expected to be completed in 6 sprints.

    Also, its very important to understand that in Agile development, it’s a team effort and the team members collectively assigns points to the user story, it’s not an individual effort. There are several techniques that teams uses to assign points to user stories including the most common one i.e. “planning poker“.

    Planning Poker is a consensus-based technique used to estimate the relative size of user stories. It’s a process where team members discuss the story and each member independently assigns a point value to the story. Once everyone has assigned a point, they reveal their points and discuss any differences. The team then continue this process till they reach a consensus on the point value of a story.

    The point value assigned to a story is based on the complexity and effort required to complete it, but it’s also influenced by other factors such as risk, uncertainty, and dependencies. The team members might use Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34) or powers of 2 (2, 4, 8, 16, 32) to assign point value.

    But, this process of story pointing is not an exact science and it’s not always possible to predict the exact effort required to complete a story with 100% accuracy. It’s an estimation and the team should be prepared to adjust the point value of a story as the project progresses and new information becomes available.

    The above example that we had discussed is a simple one and in real-life scenario, there are many other factors that can affect a team’s velocity, such as changes in team composition, delays, and unexpected complications. Therefore, this method should be used as a general guide rather than an exact prediction.

    Closing Note

    In spite of the fact that Agile can work without points or estimation, it’s important to remember that this approach may not work as well for teams with less experience or self-awareness. Communication, understanding, and alignment among team members are key to successful Agile development and using the principles and values of Agile and Scrum, teams can effectively work together and achieve their goals. The point system and velocity, although not directly related to value, are still useful measures of the team’s progress because they help predict the effort they will have to put in. We need to use them as an aid to the team, not as an end in themselves. This way, teams can better understand and predict the effort required for different tasks and use that information to make informed decisions about what to work on and when.

    Would you like to connect & have a talk?

    My daily life involves interacting with different people in order to understand their perspectives on Climate Change, Technology, and Digital Transformation.

    If you have a thought to share, then let’s connect!

    A note for transitioning from traditional to agile project management

    Adopting agile project management? Learn how to excel by aligning team goals, re-evaluating success metrics & fostering collaboration. Say goodbye to traditional constraints and embrace agility for faster results. As a project manager, the transition to agile methodologies can bring about new challenges. Agile emphasizes small teams working in short intervals and continuously learning, which may be a departure from the traditional linear approach to project management that many project managers are accustomed to. However, with the right mindset and approach, project managers can not only adapt but excel in this new environment.

    One of the initial steps for project managers leading an agile team is to comprehend the goals and objectives of the organization. By taking the time to understand the reasoning behind the organization’s adoption of agile, project managers can align their team’s goals and objectives with those of the organization. This allows them to demonstrate how organizational agility can aid their team in achieving these goals, and how their team can contribute to the overall success of the organization.

    Another crucial aspect of leading an agile team is re-evaluating the metrics by which success is measured. In traditional project management, success is typically measured by delivering a specified amount of work, on time and within budget. However, in an agile environment, metrics such as cycle time, which measures the amount of time it takes an item of work to go through a team’s R&D process, are becoming increasingly important. This metric directly reflects a team’s ability to learn and adapt quickly, which is vital in today’s rapidly changing business environment.

    Also, in addition to understanding the goals and objectives of the organization, and re-evaluating success metrics, project managers should also adopt a facilitative approach when leading an agile team. This means empowering team members to be self-organized and providing clear boundaries, frequent communication, and a clear vision for the team. By doing so, project managers can create an environment in which their team can focus on priorities, maintain overall team culture, and work towards achieving the goals and objectives of the organization.

    A primary advantage of adopting an agile approach is the ability to adapt and respond quickly to change. In today’s business climate, organizations are facing more rapid change than ever before. The traditional linear approach to project management is often too slow and inflexible to keep pace with these changes. Agile methodologies, on the other hand, allow teams to work in short cycles, learn and adapt quickly, and respond to change in a more agile manner. This can be a significant advantage for organizations looking to reduce dependence on external vendors and partners and decrease the time it takes to bring new products to market.

    Agile methodologies has this ability to deliver high-quality results. By working in short cycles, teams can quickly identify and address issues, and make adjustments as needed. This allows teams to continuously improve their processes and deliver high-quality results that meet the needs of the organization and its customers.

    As a project manager, it’s crucial to understand that the transition to agile methodologies is not just a change in process but also a change in mindset. Agile methodologies require a different approach to leading a team, measuring success, and responding to change. It also demands to promote collaboration and open communication within teams as agile teams often consist of multidisciplinary members with different backgrounds, which can bring unique perspectives to the table. The agile approach encourages team members to work together, communicate openly and frequently, and learn from each other, leading to better results for the organization.

    Closing Note: Traditional to agile project management

    By comprehending the goals and objectives of the organization, re-evaluating success metrics, adopting a facilitative approach, and promoting collaboration and open communication, project managers can lead their teams to success and deliver high-quality results that meet the needs of the organization and its customers. The agile approach can be a significant advantage for organizations looking to reduce dependence on external vendors and partners and decrease the time it takes to bring new products to market. Embrace the change and opportunities that come with Agile methodologies and see the positive impact they can bring to your team and organization.

    Would you like to connect & have a talk?

    My daily life involves interacting with different people in order to understand their perspectives on Climate Change, Technology, and Digital Transformation.

    If you have a thought to share, then let’s connect!

    The dilemma of an entrepreneur acting as a project manager

    An entrepreneur who has to also act as a project manager, the days are always filled with a constant act of balancing. In startups and budding businesses, you have to perform those roles side by side. On one hand, you had to lead and manage your teams ensuring that projects are completed on time and within budget, on other hand, you have to focus on growing your business and making sure that it is financially successful as well.

    One of the primary challenges I have always heard from people in this dual role is time management, as frankly for an entrepreneur, there are a million things to do and always not enough hours in a day to do them. You have to constantly prioritize and make sure that you are focused on the most important tasks at hand and do not deviate from insignificant activities. Of course, some days such decisions are done right, and sometimes they are not.

    As an entrepreneur and a pseudo project manager, the way we look at things become different and through my own experiences and the perspectives shared by my peers, I have come to realize that the most crucial skill we must exhibit is inclusivity and diversity, which may not be the prime aspect a traditional project manager would be considering. We have to make sure that everyone on our team is feeling valued and heard, regardless of their background or experiences. Also, it is important to make sure that the projects we work on should reflect the diversity of our society and that everyone is having an equal opportunity to contribute and succeed. I think an effective approach would be to actively seek out and recruit individuals from diverse backgrounds, and to foster an inclusive atmosphere where all individuals feel welcomed and respected. We should also make sure that they are provided with training and resources on the topics such as unconscious bias and cultural competency to help them understand and appreciate the different perspectives and experiences of their colleagues.

    Secondly, the challenge of the uncertainty of running a business is way too high. Entrepreneurship is a risky endeavor, and there were times when you didn’t know if your business would be successful or not. This uncertainty requires you to be adaptable and to be able to pivot your business strategy when things didn’t go as planned. It also requires you to have a long-term vision for your business so that you can make those difficult decisions in the short term that would benefit your business in the long run.

    And due to this, the business can be emotionally taxing considering such uncertainties and risks that may come on your way, and because of it, many people experience feelings of doubt in their abilities. With time one thing that I have learned is that such things will always come across when you are playing this dual role, but taking care of your emotional well-being is decisive. Surrounding yourself with a support system of friends and family who believe in you and your vision can prove to be a crucial element for your mental health and success in running a business, and it eventually helps you to stabilize yourself. Because, doubts and criticisms are an inevitable part of running a business, and despite your best efforts people will question your abilities as a manager. It’s difficult not to take these doubts personally and to let them affect your emotions, but at the same time, you need to remember that you cannot let those doubts get in the way of your goals.

    Ideally speaking an entrepreneur is also bugged with the financial aspect of running a business which a traditional project manager never experiences. And this factor impacts the way entrepreneurs do decision making, and even how they run a team. When you are responsible for securing funds, managing cash flow, and ensuring that your business is financially stable, you eventually build a few traits that you cannot shadow while handling a team. And this superimposes your traditional project management rules, i.e. limiting yourself from making risky and less-proven decisions, cutting costs, or seeking out for unreasonable time-frames to keep your project, or say the business afloat, etc.

    In the end, you have to manage your own time effectively and have to prioritize your tasks. This will require you to have a deep understanding of the projects that your team has been working on on a day-to-day basis for making the right decisions that would benefit the business as a whole. Along with that, you have to build and manage a team of skilled professionals, which would require you to have excellent leadership qualities and to be able to inspire and motivate them to further achieve their goals.

    This dual-role of being both a project manager and an entrepreneur has unique kind of challenges that you might need to navigate with. But through it all, my overall experience has taught me valuable lessons making me more successful in my personal and professional life. And I am proud of the work that my team and I accomplished, creating projects that were not only successful but also inclusive and diverse.

    Would you like to connect & have a talk?

    My daily life involves interacting with different people in order to understand their perspectives on Climate Change, Technology, and Digital Transformation.

    If you have a thought to share, then let’s connect!