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.



Comments

Popular posts from this blog

Project Leadership

When I look back over recent projects that I've been involved in, it seems that one key to making a project successful is having someone on the team who really drives it forward: someone who is invested in the project as a whole and not just their own part in it. We (by which I mean the University's Applications division) have a well-defined project process, with defined roles, required milestones, deployment standards, and so forth.    All these are useful, but if the team doesn't have a leader, it seems a project can lose its way, perhaps not responding to changing circumstances, getting stuck on a technical problem, or not securing a needed resource in time to meet some external constraint. The leader can be any member of the team - it could be a developer, a project manager, or the sponsor, or someone in another role.  A team can include several people who are this committed to the project; it doesn't have to be a single person.   As an example, one of...

Business Model Canvas

A Business Model Canvas is a tool for mapping the core functions and capabilities of an organisation.  Compared to the Core Diagrams that I described in an earlier post , the business model canvas attempts to present more aspects of the business, starting with the value proposition – a statement of what the organisation offers to its users (in the business world, to its customers).  It shows the activities and resources, as Core Diagrams do, but also shows user relationships & channels, and also benefits and costs.  I’m not aware of any universities that have used this tool but you can find examples from elsewhere on the web. We are considering business model canvases as a tool for mapping the strategic capabilities of units at the University of Edinburgh.  Phil Taylor, our EA contractor, sketched an outline of what a business model canvas might begin to look like for HR: This is only intended to be suggestive: the real canvas would need to result from in-de...

"That's not Grid!" - A cautionary tale

I don't usually attempt humour here, but see if you like this... Once upon a time, in the far-off world of Computerland, a great guru arose and declared a vision. "I see a future when all computers will be linked together and people will run their programs without knowing which computers are running them. People do not need to know where their jobs run; they just need the results. I call this Grid Computing!" The people of Computerland were excited by the guru's vision. They went away and worked to make it happen. When they were ready, they returned to the guru and said: "Oh great guru! We have implemented your vision. We can run our programs on whichever processor is free at the time, making sure that all programs can run and making best use of all our processors. No longer does one computer sit idle while another one is overloaded. Your vision is a great success!" "No, no, no!", said the guru, "That's not Grid!" The guru exp...