Project Management in Practice

Beyond the alphabet soup of PRINCE2, MSP, MoP, PMBOK, ITIL, Agile

Category Archives: Agile

Agile is bad!

Not always. We have a tendency to solve problems we face with a single silver bullet. In the recent past, I observed an organisation trumpet it’s move to agile in multiple communications. This organisation had undoubted issues with delivering to commitments it had signed up for, and agile was seen as the way to fix all its ills. Yet, when I talk to those working in the organisation, they see little change. And surprisingly, the outcomes are no different now than before.


So is agile to blame for this? Or was waterfall methods (if indeed it was what they used) really to blame for their past failures. The reality is agile is not something that simply works. A cultural shift is required within the organisation to derive benefits from using any agile methodology. Without that, (so called) agile is just as bad as any other way of running projects. So what are the things that defeat agile in organisations?

Multi-disciplinary teams: Agile project teams must include subject matter experts from areas that they are delivering too. If a software is being written for automating taxes for accountants, then you must have accountants and tax specialists in your project team, along with your developers, testers etc. Technical staff cannot be experts, and this is why you will need subject matter experts. If experts get tasked with duties on top of their day job rather than dedicated time on the project, agile is bad for this organisation.

Decision autonomy: You get over the first hurdle and have the skills in the team that you need. Time comes to make the first choice between implementation options and your subject matter expert needs to get it approved by their manager, who is not available for rest of the week. If your subject matter expert cannot make decisions on the project with authority, agile is bad for for this organisation.

Urgency: A key tenet of agile is the delivery of working product at the end of each iteration. Iterations are intentionally kept short so prioritisation always focuses on highest value items, builds value incrementally, and avoids the bells and whistle distractions. If the organisation cannot get you decisions in a timely fashion, then you can be guaranteed to either twiddle your thumbs for parts of iterations, or pull too many moving parts into it. Either way, agile is bad for this organisation.

Change control: It is all well and good for the project team to work in an agile environment. What happens to the working product delivered by the team? Is the organisation geered towards receiving these products at such intervals? Can they cope technically? Is there enough staff to make it happen? Can the required training be produced in time? If the answer to these questions is no, then agile is bad for this organisation.

Procurement and audit: Agile planning is done in stages. Closer you are to working on an item, more detailed planning you undertake. In the course of the project, it may become clearer that delivering more in one area is of higher value than delivering on another that had initially been identified as a requirement. If the subject matter experts make this call and the organisation’s procurement or audit team later lambasts them for non compliance, agile is bad for this organisation.

The intent here is not to highlight deficiencies of agile methods. In fact to the contrary. Agile done well can be immensely valuable for organisations and an innovative and satisfying environment to work in. The key is to recognise agile requires a cultural shift in the way an organisation operates to make it truly worthwhile. You do not make agile project teams, you make agile organisations.

Agile or not?

Agile-Or-NotProject delivery in the IT space is a fun job. You get to do interesting things, usually no two things are exactly the same and in the process get to play with technology. Life couldn’t be better. That is until you run into some oddities. Agile methods have not been everyone’s cup of tea. Ambiguity is the enemy of most bureaucratic environments. Before committing to any spends, they want assurances in triplicate exactly what they would get for the project, when, and in what manner. By definition killing any agility.

What is interesting is that some of these organisations appear to be embracing Agile, but not because they want continuous improvement, or are looking to deal with ambiguity differently. They have found the dreaded requirements analysis phase of a waterfall project does not necessarily capture the requirements correctly, and consequently deliveries do not meet the outcome they set out to. Pushing that detail to be worked through in an Agile development method makes perfect sense.

Pushing the resolution of ambiguity later in the development phase means at the project initiation that ambiguity still remains. So any contracting for those services can only give you an estimate to a particular level of detail. What I find in many cases is there is little room for ambiguity when contracting for those services. The bean counters still want to know exactly what you will deliver, when, and how – so when the auditors turn up, they can show a clean bill of health.

As IT practitioners we have done a good job of convincing organisations of the benefits of Agile deliveries. However, we are yet to convince procurement that effort estimation is relative to the ambiguity that has been clarified. Wherever bureaucracy is involved, there appears to be a mismatch of expectations. It is not helped by IT companies willing to do business sometimes ignore their practitioners to take such projects and perpetuate this expectation.

What are you finding out there? Is this the norm or the anomaly?

Image credit:

Friday rant … inventing process for HR / finance

Friday-rant-inventing-process-for-hr-financeI remember having to study Accounting 101 when I studied Information Systems. At the time I had wondered what the purpose of it was. The rationale given was that 80% of software is written either for or because of bean counters. More time goes by, I am seeing businesses becoming agile and learning new ways to deliver services faster and in a more competitive way.

Sadly, the accounting and HR systems seem not to have caught up with this. When you and a customer can commercially agree a mutually beneficial business model, it becomes a chore to then translate that into the internal system. More often than not, It cannot be done, as the processes have not thought about these ‘revolutionary’ possibilities. These are systems that are sticklers for process and you end up working your existing systems to somehow shoehorn these new models.

Organisations must realise they can only be as agile as their least agile part of the business. Otherwise you get into a tangle trying to respond quick with your front office, but end up inventing process to placate your back office.

Anyone else grapple with similar issues?

Image credit:

Is ‘No Estimates’ for real?

No Estimates is a concept that I had not come across until very recently. The basic premise of No Estimates is there is significant inaccuracy in software development estimates. Even when you spend a lot of time estimating, it is still not necessarily accurate enough to give you an exact picture. Therefore, the time spent estimating does not give you a reward for that effort. Proponents of No Estimates argue you may as well spend that time and effort into understanding what the most important feature is to the user and concentrate on getting that delivered well. Once delivered, you concentrate on the next most import feature and so on.

Is No Estimation for real

When I first read about it, my initial reaction was it was like throwing the baby out with the bath water. Just because we are not as accurate at estimating simply giving it up seemed like lunacy. On reflection however, I can see it being useful for in-house teams that are supporting a business application. There the organisation has already seen value in continuous improvement and has accepted the software developers as part of the package to deliver the business outcome. You can concentrate on small measurable improvements to the application as directed by business. The users in this case are well versed with the application and are able to explain the desired improvement. Interestingly enough, in my experience this type of development is comparatively easier to estimate than others.

I also had a thought that product development teams may be able to use this in some manner. The rationale was they have quite a bit of control in terms of what they can cut out of scope if something turns out to be more difficult than initially perceived. However, the tradeoffs they make are not necessarily linear. There is usually not comparison that you can unilaterally say is feature A versus feature B. Feature A may very well be more important, only if it is likely to  be no more than 20% more in cost. No Estimates as a concept is not well geared to help in this scenario.

Even in scenarios where No Estimate is a reasonable course, I see significant risk of what I call ‘design blinkers’ – only taking into account the immediate requirement(s), rather than an overall view to limit rework. Design blinkers happen in all form of software development. This is because you can only design for your known scope. By limiting your thinking horizon to the next most important feature, you are in effect likely to encourage less holistic design.

From the reading I’ve done so far, it appears there is a level of misunderstanding in what estimates are used for in projects. There are no perfect estimates – projects are by nature risky. You can only ever be expected to deliver estimates with complete accuracy early on. They should get progressively accurate as you go through the various phases of the project. Initial estimates to judge whether the client has the cost appetiate to even embark on the journey, then further refining to understand whether your organisation can execute the project safely with a level of profit. These estimates will be less accurate than your feature level estimates, that you will be building up when the project goes into execution. In most cases you use multiple methods of estimating than simply a combination of all the features – previous track record, comparative scale with other similar projects and some level of feature based estimation.

In my view there will be very few situations where you can get away with doing no estimates and be able to make the decisions you or your customer needs to make. The answer is not to avoid estimating, but estimate at the level of accuracy that is required to make the decisions. Never estimate $X or hours Y. Always clearly state estimates with their level of accuracy i.e., $A to B or hours Y to Z.

Image Credit: Dilbert (Scott Adams)

Sh*t ‘Agilists’ Say

My two cents worth

As an Agile coach I’ve had the pleasure of working with some of the best minds in the IT industry over the years. Unfortunately most of these individuals remain unsung heroes throughout their careers. But fame or recognition isn’t what drives these individuals, instead, it is the satisfaction of producing unique solutions to complex business problems day after day that keeps them motivated.

Being human beings however, even the best of us get frustrated, angry, agitated at times. In fact in all of my 8+ year career, I have never seen a team be able to avoid the storming phase from the  ‘Form-Strom-Norm-Perform’ cycle. Some have bridged the chasm quicker than others but all teams that I’ve worked with have had to go through this cycle.

My job as coach is to be there for my teammates through their team building journey; help them re-configure their mindset, encourage debate, encourage criticism while keeping emotions and ego out of conversations, enable…

View original post 1,355 more words

%d bloggers like this: