I’ve done a lot of reading lately trying to put my head around the arguments and counter arguments associated with the #NoEstimates idea. I now have a better understanding, and a bit more sympathy, to some of the key propositions raised by the proponents of this concept. I will elaborate on those in a separate post but during my research I’ve come across the below proposition in Glen Alleman’s blog. It is simple yet practical proposition for dealing with the need to offer an estimate. If you can’t answer any of the questions outlined below you could be in the wrong business.

You can get within 15% in 5 questions using a binary search for any software component:

(1) Can you do this in six months? Sure
(2) Can you do it in 2 weeks? No way
(3) Can you do it in 3 months? Likely
(4) Can you do it in 6 weeks? That’ll be tight.
(5) How about 8 weeks? Sure that’s possible.

How possible? OK< maybe an 80% confidence of 8 weeks.

Good, get started, up date me every week on your Estimate to Complete.

Think about it!

Introduction

In a paper (presented as an overview to his completed doctoral thesis) titled An investigation into the prevalence of modern project management by means of an evolutionary framework”, Dr. Jon Whitty deals with the application of evolutionary principles to the domain of project management. He explains at the outset that:

Evolutionary principles can be applied to cultural matters too, in the sense that the practices, artefacts, beliefs, concepts and ideas we find around us today are there because they too have been selected (allowed or enabled to survive and reproduced) by individuals (because by using them or taking them on board benefits the individual is some way) or by organisations (because individuals acting for the organisation select them because of perceived benefits to the organisation).

This provides the foundational justification for comparing a seemingly biological process to a domain that on the surface seems completely disconnected from such discussions (and see my extended review of Jon Whitty’s paper here).

Discussion

Terry McKenna (whose earlier paper was reviewed here some time ago – see here and here) has collaborated with Jon Whitty to produce another thought provoking paper, titled: “Agile is Not the End-Game of Project Management Methodologies“.

The paper sets out to challenge the common perception, held by many (and admittedly by me as well), that the Agile movement represents a revolutionary movement, i.e a movement introduced as a counter measure to its surrounding environment and not as a by product of it (by which means it would be seen as an evolutionary movement).

Proving this point, one way or another, can only be done by exploring methods and ideas used in the past and then evaluating whether these methods and ideas have been replicated into an accepted method and ideas within the area of Agile thinking. To explore this question the paper makes use of the concepts of Memes and Memeplexes.

For those unfamiliar with Richard Dawkins‘ ‘The Selfish Gene‘, a Meme (as define in Wikipedia) is “an idea, behavior, or style that spreads from person to person within a culture. A meme acts as a unit for carrying cultural ideas, symbols, or practices that can be transmitted from one mind to another through writing, speech, gestures, rituals, or other imitable phenomena.” In the context of Project Management, concepts and methods like the Gantt Chart, CPM and the WBS could be seen as Memes that over time established themselves as acceptable ideas within the project management community, as summarized in the paper:

For our purposes, a ‘meme’ will likely equate to a specific project management method, tool or artefact which is sufficiently recognisable as representing a discrete ‘idea.

A Memeplex (again, according to Wikipedia) is a “group of Memes that are often found present in the same individual. Applying the theory of Universal Darwinism, Memeplexes group together because memes will copy themselves more successfully when they are ‘teamed up’.” In the context of project management, a project management tool like MS Project could be looked at as a Memeplex as it is a collection of Memes that copy, or replicate, more effectively together. Or, as summarized in the paper:

a ‘memeplex’ can be seen as a means to facilitate conjoining or interacting of these memes to their greater good (i.e. survival and propagation).

The paper, meticulously, demonstrates how the thread of Memes that started with the Taylorism and the Scientific Management movement, through the creation of the Gantt Chart, the establishment of the ‘4-step training process’, the creation of the Process Charts and work Simplification (and a few other processes and movements) have culminated, in the post WWII era, with the Toyota Production System (TPS) and the Lean Software Development. And on another evolutionary path, and another thread of Memes – resulting in the Iterative and Incremental Development – is a culmination of processes that started with the American Air-force in the 1950’s, through NASA’s Project Mercury, the Iterative approaches to modelling and Iterative enhancements, all leading to what is currently known as incremental development.

Based on the above analysis the paper concludes that

‘agile’ approaches are by no means ‘new’, but rather are result of a selection process

[...]

the current state is an accumulation of memes and memeplexes, chosen to suit environmental circumstances.

With that in mind the paper posits that the evolutionary nature ascribed to the formulation of the current set of agile methods suggests that this evolution is far from over and that further changes are likely to emerge in the future.

Some concluding notes

The paper provides a solid and compelling argument regarding the evolutionary rather than revolutionary nature of the Agile methods. Indeed, the methods themselves and the memes within which they are wrapped are not new. The paper mentions the fact that these various methods (and memes) have been incorporated into agile memeplexes and while it acknowledges the fact that in some contexts a memeplex can also be seen as being a meme in its own right – as the group of memes making up the memeplex become a unified idea that attract an independent evolutionary cycle – a greater importance could have perhaps been attributed to the possibility that while the memes have been around for quite some time it is the memeplex, i.e. the grouping and collection of these methods and ideas, that should be the center of this investigation and as such its creation is a less obvious or trivial occurrence and thus it does represents a somewhat more revolutionary idea.

The paper is also a timely and important reminder to the fact that a lot of what we see, hear or read around us is a result of or a spin off past actions. This is fantastically illustrated in the Everything is a Remix series and, when taken in context, is a timely reminder for placing our egos and achievements in the appropriate context of those who preceded us.

Think about it!

When it comes to the art of estimating, forecasting and predicting the future there is a certain level of control we inadvertently inject into that process, over inflating our capacity to ‘see’ the future:

Control is an illusion, you infantile egomaniac. Nobody knows what’s gonna happen next: not on a freeway, not in an airplane, not inside our own bodies and certainly not on a racetrack with 40 other infantile egomaniacs.

Days of Thunder

Think you invented something new? Well thing again!

I invented nothing new. I simply assembled the discoveries of other men behind whom were centuries of work. Had I worked fifty or ten or even five years before, I would have failed. So it is with every new thing. Progress happens when all the factors that make for it are ready and then it is inevitable. To teach that a comparatively few men are responsible for the greatest forward steps of mankind is the worst sort of nonsense.

Henry Ford

Think about it!

If you are a C-level manager in an organization that has instituted some level of agility in its software development environment you should be congratulated. But don’t let this achievement get to your head as if this is as far as your drive to agility is allowing you to go you are not reaping the real benefits agile can bring to your organization.

Let me explain why.

One of the guiding principles at the core of agile thinking is the recognition that action, any action, is best prioritized based on its perceived value. In that sense then, high value propositions will receive a higher priority compared with low value propositions. In the context of software development this means that high value features will be attended to before diverting attention to low value features. When adding to the above the consideration of ‘Minimum Viable Product’ (MVP) – i.e. the recognition that a product could be released with just a sufficient level of functionality that would make it a viable product (leaving out other features not necessary to make it ‘viable’) – and the importance of value driven development is further accentuated.

There is aspect to the above scenario that makes it a winning proposition, and that is the constant iterative nature of validating and re-validating the business value of requested features.  This means that rather than determining a prioritized list upfront, and then fixing that priority list throughout the project’s life-cycle, the priority is being examined and validated on a regular basis and as often as two weekly cycles.

And here’s the catch.

There is a fair (almost high) chance that while you allow your development process to ‘run’ using the above scenario, you are reluctant (due possibly to lack of due consideration) to apply an identical process to your own decision-making process. No doubt you make investment decisions based on value, but that value is determined based on  heavily documented business cases that allow little room for cross proposal evaluations and hinder your ability to easily compare value across competing proposals. You also lack flexibility in changing direction, once investment decisions have been made, and you (most likely) spend considerable time and effort in wrestling with other executives in an attempt to secure the funds that your area requires for the next financial year.

Imagine you were adopting some agile practices to manage that process differently:

  1. Rather than spend significant time and money on the formulation of heavy weight business cases you would adopt a MVP mentality such that the business case is reduced to a level allowing you to make a go-no go decision.
  2. Use a Kanban wall to present all business cases and thus allowing the executive management team to literally compare all competing requests and collectively agree on the current priority list.
  3. Institute a recurring value review to ensure your investment decisions and investment money is still delivering most value for money.

Makes sense?

Think about it!

According to the Urban Dictionary Organized Chaos can be defined as:

A situation or place that seems to be in chaos, but has an underlying organization and pattern which is evident to those involved in the situation

I’ve recently been to a visit in Vietnam and the thought of an organized chaos has crossed my mind as I was attempting to make my way across the road, desperately trying to get safely to the other side. Having gone through this process sufficient number of times it occurred to me that what initially seemed like an utter chaos was, in fact, a well organized chaos, one in which following certain rules of engagement meant success in engaging the heavy traffic.

The lessons I took from this realization are simple:

  1. While setting up formal rules can result in a ‘normalized’ process, market, social and economic forces will provide a satisfactory equilibrium without the need to establish formal and binding guidelines.
  2. Organized Chaos is illusory. The chaos is only chaos to those who are not aware of the internal rules operating within the ‘chaotic’ system. For those who are in the system, there is no sense of chaos at all.
  3. A system will operate at some level of optimization (perhaps not fully optimized) without a reliance or a need for a governing body to determine what the optimization should or ought to be. As such it is better positioned to adapt to changing circumstances and create a new equilibrium if required.
  4. In the chaos situation described above every individual is required to exhibit, adopt and implement some level of leadership skills. Given the lack of centralized leadership and governance the situation calls for and enforces the concept of distributed leadership.

Think about it!

 

 

I am by no means an expert on the complex topic of ‘complex systems‘. My basic understanding of the term is enough to realize that most, if not all, of the projects I have managed can be classified as either being complex systems or evolving in the neighborhood of complex systems.

In this post I would like to reflect on my exposure to complex systems and share some thoughts going through my mind when trying to grasp this topic.

Some commentators discussing the domain of complex systems argue that the search for simplifying the complexity represents an over simplification of what complexity is all about. Complexity, so they suggest, is not a sign of over engineered system but rather a natural property of a system that is genuinely complex. Attempts at looking for simplifications is more an indictment of the observer rather than the system. A lack of an intellectual capacity to grasp a complex  system is not a sufficient argument or drive for simplification. If you artificially simplify a complex system you end up with a different system that, while simpler, is fundamentally and conceptually different from the one you started with and thus, simplification ends up with destruction.

When going through a thought experiment involving a complex system it is useful to contrast that system with other, better known, such systems.  Many observers use different analogies, like that of the human body, ant colonies and modern cities.

The obvious observation arising from such comparisons is that organization-made complex systems have some things in common with these three examples. To begin with, they are highly regulated and all parts of the system are engineered to support a common goal – i.e. advance the survivability and, subsequently, the well-being of the organism. All parts in a complex system are there to support the system and not themselves. In fact, without the whole, no part could practically survive.

On the other hand the key differentiating factor between most organization-made complex systems and the three examples provide is their aversion to adaptability. Being highly regulated they enforce their policies, standards, processes and work instructions and attempt, quite strictly, to govern all aspects of their existence. In contrast, adaptive systems recognize the connectivity between all parts of the system but acknowledge that no centralized control can effectively manage all parts of the system, thus allowing the constituent parts to govern themselves.

Some may refer to this as an evolution of spontaneous order and others (especially if they are economists) might refer to it as an intervention by an Invisible Hand; though irrespective of how you refer to it, it demonstrates the ability of highly complex systems to be successful, efficient and sustainable with little or no governance except for a set of commonly agreed rules.

Which is the point where one ought to ask, what is preventing a complex system from evolving into a complex adaptive system; after all, it does seem like the natural thing to do?

In a naturally evolved complex system there is an underlying governance theme that dictates that all parts of the complex system drive their respective operations towards contributing to and sustaining the common good of the system. While natural complex systems are not immune to the emergence of rogue components, they operate under the expectation that in the main the majority of the activity  around their different parts will be constructive rather than destructive. In other words, TRUST is built into the system and this trust is complemented by control mechanisms aimed at reacting to events should that trust be broken.

The ability of any complex system to aspire to become adaptive is predicated on trust. Its success (or even initiation) hinges on the acceptance of people morality. While the scope of ‘morality’ can be subject to interpretation, establishing moral ground rules should be the first step on the way to becoming adaptive. And with the ground rules needs to come the acceptance to let go and trust people to follow the rules.

And this is where the difficulty lies. Letting go of centralized command and control in favor of distributed leadership is a tough call for many, both conceptually and practically. If you think about it, though, it is the way to go.

Think about it!

The tragedy is that so many have ambition and so few have ability.

William Feather

You walk in the corridors of large organizations and you get the feeling that there are just too many people around. You can’t explain why but somehow your familiarity with the organization suggests to you that there is just too much bureaucracy there and they could have done the same with less. Not everybody seem to be as busy as you would have thought they should be and this, you surmise, is a clear indication that an inefficient process is abound.

I was, up until very recently, a great disbeliever in the ability of organizations to efficiently reign in on their processes (and by implication – on their human resources) so they are lean, economical and productive.

A conversation with a builder friend of mine has somewhat changed my mind.

“I was called in to a construction site to complete some work. I took a team of 6 people with me and was then told off by my plumber that I’m taking too many people”. “If you take this many people”, he told me, “there’s a good chance that for some time they will stand there idle doing nothing”.

“I disagreed with this observation”, my friend tells me, “because although he was right in general terms, there is a comfort in having large numbers around, there is a comfort in having that many people because when the pressure increases and the unexpected occurs, they can get things done, and quickly, thus allowing me to meet the customer’s expectations”.

The discussion I was having with him then turned to the fact that not all his workers are the same. Some are better than others and, certainly with the younger ones, the quality of their work cannot be predicted.

And this is where I got the following realization: Organizations require many people because they are not all equal. Some are mavericks and some are just good. Organizations are on a look for the mavericks, the innovators, the revolutionaries. You don’t know when you have one in your midst until you get them in and give them a chance. But you need to have a pool of many in order to find the gems  that would propel your organization forward. As you drill and look for those gems you end up sifting through a lot of dirty soil – and that’s ok – because as you do that you increase your chances of unearthing those individual that can help make a difference.

So there you go. That’s my (tentative) theory for why organizations keep on growing.

And before you kill the idea, think about it!

%d bloggers like this: