Adventures of a wannabe geek!

Ranting within

Is It Really Agile?

In recent months, there has been a shift in methodologies to move my team from kanban to a flavour of scrum never quite seen before. This was not my choice but was taken by management as the pressure from the business descended on the team. The business decided that the team should be “coding” for a full 7 1/2 hours a day and continually checked that this was the case. They stopped pair programming and meetings as this was eating into coding time and not generally the best use of development time.

They decided that this new “agile” approach would suit the team better. This offers the question “are businesses loosing faith in agile and moving away from it?”.

I asked this question to Rob Cooper and Rob has the following great view.

”  I don’t think companies are turning their back on agile, I think they (companies that we would consider not doing agile) generally fall in to one of three camps:

1. They simply think they are doing it, but have either not invested time in decent training or misunderstand the process/practices.. The “The [Self] Proclaimers”.

2. They do not care for all this agile “nonsense” since it’s “just a way for developers to get out of doing important work”. The “Non-Believers”.

3. They simply haven’t heard of it, or don’t know what it means. The “Lost Souls”.  

I think Rob has hit the nail on the head here. I know I have certainly been working in companies that has fallen into category 1. This means that we have fallen into the “managers know best” scenario which is not always correct. I know for a fact in this business they are definitely a “Self Proclaimer”. They are trying to throw resource at something they see as a problem (there are lots more things involved here but I won’t go into them). This flavour of scrum is certainly not scrum. In fact it’s not agile at all. The management take care of the estimates (yes! I really said that) but this is only recently the case. The developers are not part of the planning process. Therefore estimates are made on a best case scenario rather than accounting for technical debt, code quality, extensibility and architecture.

It is a really interesting time for this shift in the business to happen. Recently, Steve Denning posted “Agility is not enough: beyond the manifesto”. The article talks about how working software is not enough and that we should be aiming to delight the customer at all costs. This attitude reflects the attitude of the management I work under. They believe that an iterative approach delivers value to them. It’s the full product or nothing at all. If it is the full product then it has to be delivered at top speed and with little requirements. Less time means less money. Do businesses believe that an agile team wastes time? In my case, yes. They think when we are talking about architecture and code quality that we are not working hard enough.They do not understand that if time is not given to extensibility and maintainability, that delivering software will become very costly due to ridiculously high technical debt.

The writing of this post was triggered by Nathan Gloyn’s strong rebuttal to Steve Denning’s article. If you have not read Nathan’s post then it is certainly worth reading. IF we could bottle the passion and knowledge that Nathan has for agile and sell that to companies then I would not be in this situation.

I certainly feel that if we, as developers, are not careful then the world of waterfall methodologies awaits us again. If businesses are not turning their back on agile itself as a process but continue to run their own flavour of agile then it begs the final question “is it really fair to term it agile?”.

Agile is seen by some companies as a buzzword. Are companies saying they are agile to be in with a shut of hiring the best developers who want to work in an agile environment or winning contracts by baffling customers with methodologies just to impress them? In my opinion, some companies are doing this. They are soon found out though and it is not a fantastic impression to new employees or customers.

Nathan has given us a few tips to access whether we are in fact agile:

– “it’s not agile if”

  • estimates are done by management or just the team leader
  • managers decide the amount of time a project will take even after asking the team how long it will take
  • team members are assigned tasks by a manager
  • Velocity of the team is adjusted after team estimate to make project fit into an expected time frame
  • if the team are told what work they have to do and when they have to do it by
  • the team are a bunch of individuals working separately
  • quality is just a word, something to be aimed for rather than something that is embedded in the team

I’d like to thank Nathan and Rob for their contributions to this post. You can read Rob’s version of the post on his blog. Also like to thank Nicholas Mayne for some thought provoking words on twitter when I initially started the posst It is always nice to hear that other people are as passionate (if not more!) about a topic that I am.