Skip to main content

Why Agile has Failed?

Following from my previous post, this is my response to a second thought-provoking article that criticises a codification of agile software development into rigid project management frameworks.  In that article, Mike Hadlow asks why agile has come to mean just management practices (stand-ups, retrospectives, two-week iterations and planning poker), divorced from any base in technical practices.  He bemoans projects in which non-technical people are given the role of Scrum Master, enforcing agile rituals without understanding what the team are actually doing.

I can see that Mike's scenario would be problematic.  I have seen examples in our organisation where some non-development staff may have thought they could control an agile team (e.g. as a business analyst) but the structure of the agile team has (correctly) worked against them.  In general, it is certainly easier to explain daily stand-up meetings and two-week iterations to non-technical people than it is to educate them in the ways of continuous integration and refactoring.  But that has been OK for us, because the non-technical members of the teams have other responsibilities.

Perhaps it has helped that we don't follow the Scrum process per se and our teams don't have a Scrum Master.  There is no one person in charge of our teams.  We do have a project manager who contributes to the team but they are not in charge. They are also outnumbered:  a typical agile team in Applications Division has two developers, a half-time project manager and a half-time business analyst (who may sometimes be the same person).  The business partners will contribute someone working half-time as a business lead and tester.  (The exact composition of the team will vary depending on the exact nature of the project).

We have found that the project manager and/or business analyst have very important roles managing the customer liaison and testing, and setting up user representation.  In fact, from my point of view, one of the biggest advantages of our adoption of agile is that it has given much greater focus on users, along with a structure for keeping the business partners actively engaged.  These activities require a range of non-technical skills and are just as vital to the success of the project as the technical skills.  They aren't the only activities the project manager and business analyst bring to the party, as their traditional skills remain important, but these engagement tasks are vital.

It would be disastrous to lose any of these skills from the team.  If the developers just write spaghetti code, no amount of management wizardry will save the project.  Equally, if the customers and users aren't engaged, we will do little better than an old-fashioned waterfall project.  Software teams really do have to be teams.  I can see a risk if people start to think that agile just means the rituals without the content, so I will take Mike's article as a warning of what can go wrong.

There is another thread to Mike's article, which is a mistrust of estimation.  Indeed, he includes a large picture of Dr Evil saying, "We'll ask for estimates and then treat them as deadlines", which certainly rings true.  But the requirement to report progress is a genuine need.  You wouldn't pay someone to build a house without some idea of when it will be finished.   Someone who is paying for software also wants some indication of when they can expect to start using it. This is a hard topic and one I'll leave for another time.


Popular posts from this blog

Why the UCISA Capability Model is useful

What do Universities do?

This may seem a strange question to ask and the answer may seem obvious.  Universities educate students and undertake research.  And perhaps they work with industrial partners and create spin-off companies of their worn.  And they may work with local communities, and affiliation bodies for certain degress, and they definitely report on their activities to government bodies such as HEFCE.  They provide student services and support.  The longeryou think about it, the more things you can think of that a University does.

In business, the things that an organisation does are called "capabilities", which is a slightly strange term.  I think it is linked to the HR idea of a combination of the CAPacity and ABILITY to do a task.  Whatever the name, it is a useful concept.  A capability is more basic than a process: a University may change the way it educates students but as long as it remains a University it will educate them one way or another.

A capability …

"No more us & them"

WonkHE recently posted an interesting opinion piece with the title Academics and Administrators: No more ‘us and them’. In that post, Paul Greatrix rebutted criticisms of professional services (administrative) staff in Universites from some academics. To illustrate his point, he quoted recent articles in which administrators were portrayed as a useless overhead on the key tasks at hand (teaching and research).

This flows both ways, as Greatrix himself points out. As Enterprise Architect, I work with Professional Services colleagues and I have heard some of them express opinions that clearly fail to understand the nature of academic work. Academics cannot be treated as if they were factory workers, churning out lectures on a treadmill.

I think these comments reveal a fundamental clash of ideas about how a University should work. Some people who come into management positions for other sectors tend to frame the University as a business, with students and research funders as customers t…

Changing Principles

In EA, architecture principles set a framework for making architectural decisions.  They help to establish a common understanding across different groups of stakeholders, and provide guidance for portfolios and projects.  Michael Durso of the LSE gave a good introduction to the idea in a webinar last week for the UCISA EA community.

Many organisations take the TOGAF architecture principles as a starting point.  These are based on the four architectural domains of TOGAF: business, information/data, applications, technology/infrastructure.  These principles tend to describe what should be done, e.g. re-use applications, buy in software rather than build it, keep data secure.  See for example the principles adopted at Plymouth University and the University of Birmingham.

Recently though, I encountered a different way of looking at principles.  The user experience design community tend to focus more on how we should do things.  E.g. we should start with user needs, use iterative developm…