In my daily work as project manager for IT systems I work with a number of development teams. The current trend in development is looking at more flexible and faster deliveries. The goal is to avoid delivering a product which misses the target as far as the customers needs are concerned. To address this problem a more flexible or agile method is being adopted by a number of software producers. I do not claim to be an expert in the area but the method has a lot of very good techniques and ideas, and if used wisely I believe it would lead to fewer failed software projects. There are however a couple of myths about Agile development being propounded by some developers I have come across:
With agile development there is no need for project managers
With agile development there is no need for any specification before the development (ie coding) starts
Oh dear. Project managers are a dying breed and superfluous to development projects. Written specifications to start with are also of no value, lets get rid of the overheads and start the real work – building the solution!
These ideas seem attractive to some developers no doubt, but to me they sound like a bit of a recipe for disaster. Having heard this I did a bit of research, and was lucky enough to attend a course hosted by Mike Cohn, author of several books on Agile development and I am now proudly “scrum” certified. After this it was onto myth busting.
1 No project manager?
Well this is a truth with some major modifications. Agile suggests two roles in projects: A scrum master and a scrum owner. Some of the work of a project manager is divided between these roles. What Agile suggests is that on some projects the project manager will take the role of scrum master and on others a scrum owner. This is all dependent on the size of the project and the knowledge/interest of the project manager. I my world I spend a lot of time dealing with customer relations, budgets, reporting to internal and external steering committees, program management etc. Agile does not address any of these activities, but is focused on the day to day running of development. Therefore on larger development projects that are run using Agile you still need a project manager role. The name may be different in some cases but the work remains.
2 No written specifications before coding?
Not true at all! Agile lays down very good techniques for specification before and during development. The point of Agile is to not make huge detailed specifications before development gets underway, only to discover that the finished product, even though it fulfills the specification does not fulfill the customer’s needs. Agile therefore describes a method for making a rough written specification to start off with that is refined as development progresses in cooperation with the customer. In this way the method ensures that the delivered product is what the customer really needs, but not necessarily what the customer thought they needed to begin with. This has been wrongly interpreted as there is no need at all to define what the customer needs at the outset. It is defined, but not precisely, therefore enabling flexibility for change during the project.
So, disappointed as some people may be, we’re still going to need project managers and specifications also using Agile.
Jonathan McCoig is an experienced project manager in different IT areas ranging from banking, finance, logistics to healthcare. He is PMI certified and currently heads a team of project managers..
Posted by Jonathan McCoig