Since the early days of software development, from requirement analysis to delivery of the software, it has been a pretty hectic job to get the planning correct so to meet the deadlines and please the stakeholders. For this, we have invented various processes from waterfall methods to various methods of agile development strategies. It feels good to change to an agile process from a different type of process or a no process at all, but it’ll slowly begin to exhibit that the process is not working as expected and everything is not all roses.
What’s lost !
What most people fails to understand is that all the processes in the world won’t change the major factor in the software development which is the human behavior and its inability ,or more correctly the inertia, to change. The best change coming from the agile development is the notion of continuous improvement which is getting to a better state eventually with small but important steps.
In this regard, there should be a program to slowly transform the human factor to appreciate the agile way rather than dropping a sudden mandatory process on top of them. Otherwise what will happen is that the all the pros of the agile way being rejected by the people due to a misaligned corporate process.
Speaking about converting people to this new religion, we have to let it slowly sink to the hearts of the people as inertial will cause them to long for their past experience with old ways. This will only get worse the more experience developers have.
Ways to improve
So what I see as the best way is to introduce the agile process in an agile way. Replace the older ways with agile parts step by step. Although the delivery related steps can be forced onto others, it’s difficult to force quality related aspects to them.
Aspects such as refactoring ,both code and specially design, should be introduced in a hands on way. Although code refactoring seems to be worshipped by the developers, design refactoring seems to be forgotten with all the deadlines and other complexities arise in the software development process.
Another thing is that people should not be afraid to make mistakes in agile way and there should be safety nets in place for them to fail without blowing the whole area up.
Conclusion
In conclusion people factor should be one of the major things to be focused on agile development. Without this no one will be able to maximize on the opportunities which the agile process would bring on.
Comments
Post a Comment