Breaking the Build and the Bias: How to Overcome Sunk Cost Thinking in Tech

Sunk Cost Fallacy in Software Projects

The sunk cost fallacy is the tendency to continue investing in a project or decision based on the time, money, or resources already spent, rather than current and future value. This can lead to irrational decision-making, especially in software development where past investments may no longer justify continued work.

Example:

A company has spent 12 months developing a custom project management tool. During testing, it becomes clear that the tool is buggy, expensive to maintain, and doesn’t meet user needs. However, leadership insists on continuing because “we’ve already spent a year on this.” Meanwhile, a commercial alternative is available that meets requirements and costs less.

Continuing development just because of the past investment is a sunk cost fallacy. Those past resources cannot be recovered, and the decision should instead focus on future costs and benefits.

Here are three steps a Program Manager can take to address it.

#1 – Focus on Future Value, Not Past Costs. Emphasize data-driven decisions based on potential ROI, not past effort. Use metrics like estimated completion time, projected maintenance costs, and value delivered to end users. Reframe conversations from “we’ve already built X” to “what’s the best use of resources going forward?”

#2 – Encourage a Culture of Honest Evaluation. Create regular checkpoints (e.g., retrospectives, milestone reviews) where teams can critically assess the project’s viability. Foster a no-blame environment where it’s acceptable to pivot or shut down underperforming initiatives, even after significant investment.

#3 – Have Clear Exit Criteria and Go/No-Go Gates. Define decision points with objective criteria (e.g., adoption targets, performance metrics). If the project fails to meet those, have a pre-agreed process to reevaluate or terminate it. This reduces emotional attachment and supports rational choices.

TL;DR:
The sunk cost fallacy can trap software teams into continuing bad projects. Program managers can counter it by focusing on future value, promoting honest assessment, and establishing clear exit strategies.


Posted in Leadership | Tagged , , , , , | Leave a comment

The Salt and Pepper Principle: Clarifying Communication in Agile Teams

The “Salt and Pepper” story is a popular analogy in Agile planning that highlights the importance of clarity and shared understanding when defining work. Imagine you’re sitting at a dinner table and someone says, “Please pass the salt and pepper.” That request seems straightforward, but without context, it’s ambiguous. Do they want both at once? Just salt first? Or maybe only pepper? Each person at the table might interpret it differently. In Agile, this is similar to how teams sometimes receive vague user stories or requirements. Without proper clarification, there’s a risk of delivering something different from what was actually needed.

To avoid this confusion, Agile teams can take three key actions. 

First, ask clarifying questions. Just like you’d ask, “Do you want both salt and pepper now?” the team should ask the product owner or stakeholder questions to fully understand the requirement. This helps uncover hidden assumptions and ensure everyone is aligned.  Second, define clear acceptance criteria. This acts as a shared agreement on what “done” looks like. For instance, if the salt and pepper are to be passed together on a tray, that becomes a clear outcome. In Agile, listing acceptance criteria in the user story serves this purpose and minimizes misunderstandings. Third, collaborate continuously. Agile emphasizes constant communication between developers, product owners, and stakeholders. If the need changes—like someone deciding they only want salt after all—the team can quickly adjust. This responsiveness is at the heart of Agile.

In essence, the Salt and Pepper story is a reminder that even simple requests can be misinterpreted without proper context. Through clarification, defined expectations, and ongoing collaboration, Agile teams can ensure they’re building the right thing at the right time.


Posted in Technology Leadership | Leave a comment

How to improve team’s efficiency -or- productivity ?

Parkinson’s Law is the adage that tasks expand to fit the time allotted for their completion. In other words, if you give yourself a longer timeframe to finish something, you’re likely to use up that entire time, even if the task could be completed more efficiently. 

This concept underscores how people often allow inefficiencies to take hold when there’s ample time. To harness this principle, set shorter and specific deadlines to create a sense of urgency and encourage focused work. 

By consciously limiting the time available for tasks, you can increase productivity and prevent unnecessary delays caused by the natural tendency to fill time with less productive activities.


Posted in product management, Program Management, Project Management, Technology Leadership | Leave a comment

What is ‘Triple Constraint’ -or- ‘Project Management Triangle’?

Intended audience: Project Managers, Program Managers, Product Managers and Technology/Business Leaders

The triple constraints, also known as the project management triangle, comprise scope, cost, and time/schedule. Here are the three key points for your consideration:

Scope. Scope defines the project’s objectives, deliverables, and requirements. It outlines what needs to be accomplished and sets boundaries for the project’s work. Balancing scope involves ensuring that the project fulfills the intended goals while being mindful of time and cost limitations.

Cost. Cost refers to the financial resources required to complete the project. It includes expenses related to labor, materials, equipment, and any other relevant expenditures. Managing costs involves staying within the project’s budget while ensuring quality and meeting objectives.

Time/Schedule. Time/Schedule represents the project’s duration or deadline. It emphasizes the importance of completing tasks and delivering the final product within the allocated timeframe. Changes to the project’s timeline may affect other constraints, necessitating careful management.

Changing one element of the triple constraint can have a cascading effect on the other elements. For example, if you alter the scope by adding new features, it may require more time to complete the project, thus impacting the timeline. This could result in increased costs due to additional resources or extended development time. Conversely, if you compress the timeline, it may require additional resources or compromise the scope. Adjusting any one constraint requires careful evaluation and management to ensure the project’s success while considering the interdependencies and trade-offs among the elements.

TL;DR: The triple constraints encompass scope, cost, and time/schedule. Successful project management requires careful consideration and balancing of these three factors to achieve project goals efficiently and effectively.


Posted in product management, Program Management, Project Management, Technology Leadership | Leave a comment

Enterprise Architecture – How to ask right questions based on Zachman’s Framework?

Photo by fauxels on Pexels.com

Zachman’s Framework for Enterprise Architecture is a comprehensive and structured approach for understanding and managing complex organizations, systems, and projects. It was developed by John Zachman in the 1980s and is widely used in the fields of enterprise architecture, information technology, project management, and systems engineering. The framework provides a structured way to organize and communicate the different perspectives and viewpoints involved in designing, implementing, and managing an enterprise.

The Six Rows of Zachman’s Framework

The framework is often represented as a 6×6 matrix, with each cell in the matrix representing a unique combination of two dimensions: Rows and Columns. Let’s start by examining the six rows, each of which represents a different perspective or dimension:

  • What (Row 1): This row focuses on understanding what the enterprise or system consists of. It deals with the identification and definition of the core components, such as data, processes, functions, and entities. Essentially, it answers the question, “What are we dealing with?”
  • How (Row 2): The second row delves into the processes and methods that govern the functioning of the enterprise. It addresses the question, “How do things work?” and involves understanding the operational procedures and workflows.
  • Where (Row 3): This row focuses on the spatial dimension. It deals with the physical locations and distribution of components, data, and processes within the enterprise. It answers questions like, “Where are things located?”
  • Who (Row 4): The fourth row is about the people and roles involved in the enterprise. It identifies the stakeholders, their roles, responsibilities, and interactions. It answers the question, “Who is involved?”
  • When (Row 5): This row introduces the element of time. It deals with the timing, sequencing, and dependencies of events and processes within the enterprise. It answers questions like, “When do things happen?”
  • Why (Row 6): The final row is arguably the most critical one. It focuses on the motivations, justifications, and objectives behind the enterprise. It addresses the question, “Why are we doing this?” and is essential for aligning the enterprise’s activities with its strategic goals.

The Six Columns of Zachman’s Framework

Now, let’s explore the six columns, each of which represents a different stakeholder or perspective within the organization:

  • Planner’s Perspective (Column 1): This column represents the viewpoint of strategic planners and senior executives. It deals with long-term goals, strategies, and high-level objectives. It asks questions like, “What are the organization’s strategic objectives?”
  • Owner’s Perspective (Column 2): The second column is concerned with business owners, managers, and process owners. It focuses on defining and managing the business processes, rules, and policies. It answers questions such as, “How do we manage our processes and data?”
  • Designer’s Perspective (Column 3): This column represents the perspective of system designers and architects. It translates business requirements into technical specifications and designs. It asks questions like, “How do we design and structure our systems?”
  • Builder’s Perspective (Column 4): The fourth column is about the developers, builders, and implementers of the system. It deals with the actual construction and implementation of the enterprise components and systems. It asks questions like, “How do we build and develop our systems?”
  • Subcontractor’s Perspective (Column 5): This column considers external suppliers, vendors, and subcontractors who may be involved in the enterprise or project. It addresses questions related to external partnerships and dependencies.
  • User’s Perspective (Column 6): The final column focuses on the end-users and consumers of the system. It deals with user requirements, needs, and satisfaction. It answers questions like, “What do our users need, and how satisfied are they?”

Applying Zachman’s Framework

The strength of Zachman’s Framework lies in its ability to help organizations systematically address complex questions and considerations in various stages of their projects or enterprises. Here’s how it can be applied:

Understanding and Communication. The framework provides a common language and structure for stakeholders to communicate effectively. It ensures that everyone involved in a project or enterprise has a shared understanding of the various dimensions and perspectives.

Alignment. By mapping out the different rows and columns, organizations can ensure that their projects, systems, or initiatives are aligned with their strategic goals and objectives. This alignment reduces the risk of working on projects that do not contribute to the overall mission of the organization.

Risk Management. Zachman’s Framework can help identify potential risks and issues early in a project. By systematically considering various perspectives, organizations can anticipate challenges and develop mitigation strategies.

Comprehensive Planning. It supports comprehensive planning by addressing not only the “how” but also the “what,” “where,” “who,” “when,” and “why” of a project. This holistic approach ensures that all aspects are considered in the planning phase.

Traceability. The framework enables traceability from high-level strategic objectives (Column 1) to detailed technical specifications (Column 3). This traceability is essential for ensuring that the final deliverables align with the initial goals.

Iterative Improvement. Organizations can use the framework iteratively to continually refine their understanding and alignment with changing business needs and technology advancements.

Limitations and Considerations

While Zachman’s Framework offers numerous benefits, it’s essential to consider its limitations and challenges:

Complexity. The framework can appear complex and overwhelming, especially for organizations new to enterprise architecture. Training and expertise may be required to implement it effectively.

Customization. It may need customization to fit the specific needs and context of an organization. Not all cells in the matrix may be relevant to every project or enterprise.

Documentation Overhead. Applying the framework rigorously can lead to extensive documentation. Organizations must strike a balance between documentation and practical implementation.

Resource Intensive. Implementing the framework can be resource-intensive, requiring time, effort, and potentially additional tools or software.

TL;DR:

Zachman’s Framework for Enterprise Architecture is a powerful tool for understanding, planning, and managing complex enterprises, systems, and projects. By systematically addressing the “what,” “how,” “where,” “who,” “when,” and “why” questions from various perspectives, organizations can align their activities with strategic objectives, communicate effectively, and reduce risks. While it may require effort to implement, the benefits of improved alignment and comprehensive understanding make it a valuable asset for organizations seeking to navigate complexity and achieve their goals.

Tags: Enterprise Architecture ; Zachman Framework; planner; designer; builder; business owner; sub-contractor ; end user; system design


Posted in Project Management, Project Planning, Technology Leadership | Tagged , , , , , , , | Leave a comment

The Pareto Principle (80/20 Rule) for Product Managers and Software Engineers

Photo by Tirachard Kumtanom on Pexels.com

The Pareto Principle, also known as the 80/20 rule, is a powerful concept that can significantly benefit software engineers and product managers in their roles.

For Product Managers

Feature Prioritization. The Pareto Principle is invaluable when determining which features to prioritize. Focus on the 20% of features that will deliver 80% of the value to users. This helps avoid feature bloat and ensures that your product remains user-centric.

User Engagement. In terms of user engagement, 20% of your user base may be responsible for 80% of the usage. Identifying and catering to this core user group can boost overall user satisfaction and retention.

Resource Allocation. Apply the principle to resource allocation. Concentrate resources, such as development time and marketing budget, on the 20% of activities or campaigns that are likely to yield 80% of the desired outcomes.

For Software Engineers

Focus on High-Impact Tasks. In software development, not all tasks carry equal weight. The Pareto Principle suggests that approximately 20% of your efforts will yield 80% of the results. Identify the critical features or optimizations that will have the most significant impact on the project’s success and prioritize them. This ensures that you’re directing your efforts where they matter most.

Technical Debt Management. The principle can be applied to managing technical debt. By addressing the most critical technical debt issues first, you can prevent them from accumulating and becoming overwhelming in the long run. This proactive approach helps maintain the health and sustainability of your codebase.

Bug Fixing and Testing: In quality assurance, the Pareto Principle reminds us that a small number of bugs often cause the majority of issues. Prioritize testing and bug fixing efforts on the most critical parts of the application, ensuring a smoother user experience.

TL;DR: The Pareto Principle suggests that a small portion of efforts often yields the majority of results. Product managers can apply it to feature prioritization, user engagement strategies, and resource allocation, ensuring that efforts are directed where they have the most impact. Software engineers can use this principle to prioritize tasks, manage technical debt, and improve testing.


Posted in agile, Leadership, product management, Project Management, Project Planning, Technology Leadership | Tagged , , , , , , , | Leave a comment

Ikigai for Software Engineers

Photo by Om Thakkar on Pexels.com

Ikigai, a Japanese concept that translates to “a reason for being,” holds profound relevance in the realm of software engineering. It encourages software engineers to explore the intersection of four crucial elements: passion, vocation, profession, and mission. In doing so, it aids in discovering a fulfilling and purpose-driven career in software development.

Passion. This aspect of Ikigai encourages software engineers to delve into what they genuinely love and are passionate about in the world of coding and programming. It might encompass interests such as web development, data science, or a particular programming language. Finding this passion can infuse one’s work with enthusiasm and a sense of fulfillment.

Vocation. The vocation component directs attention to what the world needs and is willing to pay for within the software engineering field. It urges software engineers to identify areas where their skills and expertise align with market demands. This can lead to career opportunities that are not only lucrative but also impactful.

Profession. The profession element underscores the importance of recognizing one’s strengths, skills, and areas of competence in software development. Whether it’s expertise in front-end development, database management, or software architecture, understanding one’s professional strengths can enhance job satisfaction and career growth.

Mission. The mission facet encourages software engineers to consider what they believe the world needs. It involves contributing positively to society through software solutions. It might entail working on projects that address environmental challenges, improve healthcare, or enhance education.

TL;DR:  Ikigai in software engineering is about finding the sweet spot where these four elements intersect. It guides engineers towards a career that they love, that meets market demands, that leverages their skills, and that makes a meaningful impact on the world. By aligning these facets, software engineers can embark on a fulfilling journey, feeling a profound sense of purpose in their work.


Posted in Technology Leadership | Leave a comment

Maslow’s Hierarchy of Needs

Abraham Maslow (1908–1970) was an influential American psychologist renowned for his development of the Hierarchy of Needs theory. His work has had a lasting impact on understanding human motivation and behavior. Maslow’s Hierarchy of Needs is a psychological theory proposed by Abraham Maslow in 1943, outlining human motivation and needs. It categorizes these needs into a pyramid with five levels.

At the base are physiological needs like food, water, and shelter, which must be satisfied for survival. Once these are met, safety needs for security and stability become important. The next level involves social needs, including belonging and relationships. Esteem needs for self-respect and recognition come after, followed by the pinnacle: self-actualization, where individuals seek personal growth and realization of their potential.

The theory suggests that higher-level needs become relevant once lower-level ones are fulfilled. However, individual circumstances can influence this progression. Maslow’s Hierarchy of Needs is influential in understanding human behavior and motivation, especially in contexts like psychology, education, and business management.


Posted in Leadership, Technology Leadership | Tagged , , , , , , | Leave a comment

What is Murphy’s Law ?

Photo by Cristian Loayza on Pexels.com

“Murphy’s Law,” attributed to Edward A. Murphy Jr., is a popular adage that states, “Anything that can go wrong will go wrong.” The law reflects a perspective on the inevitability of things going awry or unexpected issues arising, particularly in complex or critical situations.

Murphy’s Law underscores the importance of contingency planning, preparedness, and anticipating potential challenges. It serves as a reminder to be proactive in considering potential pitfalls and taking preventive measures. While often humorous and applied in a lighthearted manner, the principle has been embraced in various fields, including engineering, project management, and everyday life, as a way to encourage diligence, resilience, and adaptability in the face of uncertainties.

In a software engineering project, Murphy’s Law can manifest when unexpected technical glitches arise just before a critical software release, potentially causing delays. Despite rigorous testing, unforeseen compatibility issues might emerge, leading to the need for last-minute debugging. By acknowledging Murphy’s Law, the team would have implemented a contingency plan that includes buffer time for such scenarios. This proactive approach helps ensure that the project timeline remains flexible, minimizing the impact of unexpected challenges and allowing for a smoother software release.

Tags: product management ; project management; program management; technical leadership; risk mitigation; contingency planning; preparation; proactiveness; prevention; due diligence; resilient; adaptable; software engineering


Posted in Agile software development, product management, Project Management, Risk Management, Technology Leadership | Tagged , , , , , , | Leave a comment

3 Books to Begin Your Agile Product Management Journey!

“The secret of getting ahead is getting started. The secret of getting started is breaking your complex overwhelming tasks into small manageable tasks, and then starting on the first one.” -Mark Twain

agile image ha
Agile is one of the product development methodologies. Many organizations use it to manage software engineering projects. Agile methodology uses division of tasks in short phases with emphasis on delivering evolving product requirements. Scrum is one of the Agile frameworks. It is a flexible and holistic product development strategy where team works as a unit to deliver agreed upon requirements in short time-frame (typically weeks). Among other things, it puts greater emphasis in ongoing collaboration between team members and delivery of a working product. This article recommends three books to begin your Agile learning journey.

Agile Software Development: The Cooperative Game by Alistair Cockburn
This book covers Agile methodology, principles and how to put it in practice. Agile manifesto calls for increased interactions, working software, collaboration and responding to change in requirements. Agile principles are about continuous delivery of working software, welcoming change in requirements, frequent delivery of working software, team collaboration, sustainable development practices, simplicity and ongoing reflections. Cockburn does a great job of explaining how to apply these principles in your software development projects.

You may have questions like ‘What is more important? working software -or- customer specifications?’, ‘How to balance between maintaining procedures and delivery of working product?’, ‘What is importance of effective collaboration/communication in Agile projects?’. This book addresses such questions and gives you a solid foundation to begin your Agile exploration.

Agile Project Management with Scrum, by Ken Schwaber
In this book, Schwaber covers overview of Scrum and share lessons learned. Book does a good job of describing Scrum principles, scenarios, user story writing and related concepts to give you a jump-start.

User Stories Applied: For Agile Software Development by Mike Cohn, Kent Beck
Once you travel few miles on Agile journey you have to write user stories (equivalent of requirements in traditional development). You will learn an art of story writing from this book. Large requirements are broken down in multiple user stories and stories deliver tangible results (in the form of working software). This book introduces concept of user stories, art of story writing, transition to stories from requirements and effective use of stories with case studies. It also emphasizes collaboration between teams and appropriate use of stories to ensure customer requirement and product delivery are aligned.

Enjoy reading and Go Agile!


 

Posted in agile, Agile software development, Books, product management, Project Management, SDLC | Tagged , , , , , | Leave a comment