The Iceberg Effect: Are Your Tools Missing the Critical 90%?
An Iceberg Lays 90% Unseen; You Can Count On It
In this issue, we cover the unseen complexity in software development, the importance of design in managing this complexity, and the limitations of project management tools.
In the real world, we know that 90% of the iceberg we see is actually underwater, this relationship has been proven using science.
But in software? There is no relationship between the interface and the complexity of underlying implementation. We all know Google is a text field, and we would all agree the underlying logic might be the most carefully curated and complex there is.
In this way, simply showing an interface idea to engineers to ask "how long?" fails to address the fact that there is no relationship between this visible artifact and the underlying complexity.
By framing progress in such a context, we run the risk of relying on unscientific measures resulting in unreliable outcomes.
Don't Sink Your Project
I'm willing to bet that all of you involved in software construction rely on project management tools to track bugs, schedules, and people.
These tools we use to manage and measure software construction center around the bugs we must track, the releases they are scheduled in, and the people responsible.
Sounds like the whole process, but it isn't.
Tools measure what gets reported, and their scope is centered around processing these tasks. However, if these tools constitute your entire perspective on software construction, then you are most likely managing only a fraction of the actual scope of your software construction effort.
领英推荐
Software construction is always in motion, it remains in a balanced equilibrium —building up with new features and functions until it begins to collapse under its own weight with bugs and flaws.
We push back against this collapse using design —architecture. We improve the construction quality so we can push forward again.
In the physical world, your construction landscape remains static. However, in the realm of software, creative ideas have the power to alter the very fundamentals of construction. While tools are great at tracking bugs, they fail to recognize the most valued contributions—those of outstanding design and architecture —the ideas that fuel innovation and change the entire software construction landscape.
Activity ≠ Progress
Unscientific reliance on these tools confuses activity with progress.
Construction based solely on resulting artifacts will cut across the grains of software's true, layered structure and evade the far larger, unseen critical imperative. A bug-fix mentality contributes to software entropy, or what we sometimes refer to as 'software rot'.
In reality, software development is a complex and layered process. The visible activities represent only a fraction of the true underlying construction. While coding, testing, and resolving issues are essential, they are only components of the larger software construction process.
This is where the danger lies in confusing activity with progress.
When organizations prioritize visible activities, they risk cutting across the grains of software's true, layered structure. Bug-fix mentality leads to software entropy. Software is not a linear assembly line where each task completed is a step closer to the finish line. Instead, it's an intricate web of interconnected components, dependencies, and architectural considerations.
The unseen part of software construction, this "other 90%," contains critical aspects of design, architecture, and the underlying system integrity. These elements are not part of the scope of project management tools. They're the hidden, yet essential foundation upon which the visible activities depend.
Understanding this larger perspective empowers top project managers and their teams to reach new heights and —Go Beyond.
YOUR Business's Growth Partner to help YOU Attract Customers, and Scale Profits | Business & Marketing Strategist | Fractional COO/CMO | Author, Speaker, Trainer, Emcee | Podcast Host | TV Producer | Top LI Voice
8 个月I agree that it's important to use tools wisely and not let them become a crutch. Agile methodologies can be very effective, but it's important to understand the underlying principles and practices in order to get the most out of them. Thanks for sharing your insights! #Agile #ProjectManagement #SoftwareEffectiveness