Welcome to the ninth of twelve articles where we talk about the do’s (and some of the don’ts) of Project Managing Agile Projects. During this series we are working our way through the 12 principles of the Agile Manifesto and talk about how it relates to you, a project manager and your project.
Continuous attention to technical excellence and good design enhances agility. (Beck, 2001).
My pet hate, as a project manager, are band-aid solutions.
Band-aid solutions are quick, superficial (often temporary) solutions to problems that do not address or resolve the underlying cause of the problem. In coding, these are often “easy way out” solutions usually when under pressure, which is usually not robust and causes future rework. An example of this is when developers “hard code” dates i.e. the year into their code. This means that at the end of the year the code stops working and often the program stops working as well!
As a project manager it is extremely important to keep a look out for these “shortcuts”. Customers expect products to work continuously and effectively. Therefore, it is very important to ensure that the product is written in the best possible way and this way may not always be the cheapest, or fastest way. Do not skip vital details that help build your product as these are the details that most likely will come back and cause issues in the future. Also, continuously check for bugs and when they are found fix them as soon as practical.
Good design is always important. Good design prepares you for any future upcoming releases. As a project manager, you should never allow an implementation that would not, or could not be support change. Ensure that your changes are version controlled where possible and that changes are well constructed and simple to understand. This will have significant payoffs later given it will enable easier future enhancements and will require less documentation.
Remember, technical excellence does not just happen. It takes time and effort. As a project manager, do not tick off a job as complete until you are sure it is completed up to the required standard. Do not be afraid to direct the team to go back and reiterate – develop, test, and repeat.
As we discussed in the last article, working software is the measure of success; therefore, for software to work the problem needs to be solved and solved well. Leave the band-aids for fixing cuts, not development. But how do you do all this but keep the project simple?
In the next article we will investigate the art of keeping things simple while maximising the amount of work not done and how this is essential to good project management.
Apke, L. (2016, August 16). Agile Principles: Excellent Design Needs BDD & TDD. Retrieved from Agile Doctor
Beck, K. B. (2001). Agile Manifesto. Retrieved from Agile Manifesto
Farlex. (2015). Band-Aid solution. Retrieved from The Free Dictionary: https://idioms.thefreedictionary.com/Band-Aid+solution
lenkaspace. (2017, January 27). Coding for tomorrow: Why is good code important? Retrieved from Lenkaspace
Parkhurst, N. (2015, November 1). Agile Principle 9 – Continuous attention to technical excellence and good design. Retrieved from NP Dynamics Ltd
Scaled Agile. (2019, September 24). Team and Technical Agility. Retrieved from SAFe
van Amerongen, R. (2008, December 28). Agile software development, the principles. Principle 9 : Continuous attention to technical excellence and good design enhances agility. Retrieved from AMIS, Data Driven Blog