Agile and it’s challenges in the workplace

In today’s office climate, with staff working from several locations, including home, management of projects is becoming a specialised and often difficult process.  In my experience, effective project managers, using Agile methodology, can navigate these challenges and achieve significant project milestones.

Agile methodology

Agile methodology is an approach that meets the demands of all stakeholders involved in a project.  This could include project (or business) owners, customers, developers, business managers, business analysts, administrators or even the receptionist!  But what is Agile Methodology?

Agile methodology is a project management approach often used for software development but can be used in a variety of other projects.

 The reason it has been used in the software development space relates to often changing requirements during application development. Customers can sometimes change their thinking upon seeing the delivered product or the capabilities for the product could also change during the process as new technologies appear. 

Agile manifesto

Agile came about by 17 authors in 2001 to “Uncover better ways of developing software by doing it and helping others do it.”

It is based on four pillars, which we will be discussing further in this article.

They named themselves the “Agile Alliance” and even though it was originally developed for extreme programming, there was soon a realisation that this type of situation goes on in every day work, including marketing, management, events and more.

  • Individual and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more. (Beck, et al., 2001)

Individuals and interactions over processes and tools – As a project manager it is important to understand that good development occurs when individuals discuss what is happen with each other, including the customer.  Often, the more interaction that occurs, the greater all stakeholders feel invested in the project which ultimately leads to better outcomes.  As most project managers are process driven, this approach can often be challenging, however trusting individuals and their interactions is an extremely important step in good Agile development.

Working software over comprehensive documentation – business leaders love documentation. Documentation is often used by business leaders to show progress. While even in Agile Development there is a need for some documentation in agile development, this is not the core skill of developers and often they are not very good at it.  The core skills of a They are developer relates to building  working software and it is important, as a project manager, to remember this if you are expecting great results from your teams. Documentation also takes a lot of time – so discussions around producing working software quickly versus documenting that software needs to be had early in order to manage stakeholder’s expectation.  Always choose working software over a large technical specification document where possible, especially if you are faced with the challenge of limited time. The intent here is to ensure working product is delivered to customers with agility.

Customer collaboration over contract negotiation – A project manager’s hardest task is managing people. In any project there are a variety of stakeholders – managers, employees, clients, contractors and lawyers to name a few.  But who, in all this, is the project for? That’s right! The customer wants something developed. Often, when building software, this gets lost.  Sure, when there is a new project, it is important to have a functional specification document and when a contractor is chosen, it is important to have a contract between parties. However, do not forget that the world does change and sometimes quickly.  In the last few months COVID-19 had changed the world and much faster than any documentation could anticipate – and in these times it is impractical to re-negotiate new contracts, often due to the constant changing of the environment. For example, schools have had to change their software requirements very quickly with students working from home, if contract arrangements that had to be put into place it would not have been completed in time.  All the stakeholders must realise that collaboration is what makes great software, not documentation.  Customers are the ones who understand their market, and development teams, through their project manager, have the skills to transform those requirements into software.

Responding to change over following a plan – change is hard, however, it is the only constant.  This is especially true in development. Agile development is based on having the ability to respond to change. Plans are only ever a point in time. They have benefits; they incorporate the best knowledge around the project that is available at the time, they give projects some guidelines and directions and they provide a way to set and show deadlines, however they need to be able to change.  As projects are developed, things change.  A great project manager not only accepts change, they embrace it.  Again, this tends to be exceptionally hard for project managers.  They are often the ones who are reluctant to deviate from the very plan that they had spent hours and hours creating in the first place.  Ironically, to enable good agile development, these are the very plans that need changing first. A good project manager should embrace the many changes that occur, with the most common including:

  • Stakeholders changing their mind – and they frequently do! As an application is developed customers see what is possible (and the limitations) and so often request changes as they realise the benefits (or problems) that have arisen and subsequently change their perspective.  Incorporating these new ideas can sometimes mean a whole rebuild, a new timeline and a new plan. Project managers need to respond (and often painfully embrace) these changes as they occur.
  • Regulatory change – This is change that is often introduced outside of a project managers (or customers) control, but always need to be considered.
  • Poorly defined requirements.  It is not often until work commences on a project that the real requirements show their (ugly) head! When these requirements appear, it is up to the project manager to rescope the project to ensure it keeps on time, budget and to the deadlines.
  • Change in stakeholder – This is one of the hardest changes to deal with.  A new stakeholder means a new set of ideas to add into the mix.  Project managers need to navigate these ideas and incorporate them, where applicable, in line with customers’ expectations.
  • Business strategy change – These external influences can also be very difficult to deal with. Some businesses have boards, others have a CEO, some are community organisations, some have a principal and yet others have elected representatives.  It is their job to navigate their business, responding to the environment around them and this can lead to significant changes (just look at the changes caused by COVID-19). A great project manager responds, accepts and adapts to these changes as they occur to ensure that the project continues to meet requirements in the new environment.
  • Updated technology – Customers want the latest and greatest.  Change occurs in this area very quickly – it is up to the project manager to embrace these new technologies to ensure customers have the best experience.
  • Bugs and defects – This change occurs due to limitations within the actual software itself.  It is a project managers role to ensure that solutions are found when bugs and defects are detected.

So what’s the project manager’s role?

The most important thing to remember is that even though the Project Manager is the most important role in the project, it is only a role (a cog in a larger machine). Unlike Traditional Project Management, where the Project Manager is seen as the leader, or the boss, and Agile Project Managers job is to steer the ship in ever changing seas as part of the sailing team.

It is the Project Managers role to ensure everyone is on task, to evaluate the benefits and to navigate the risks to ensure that the project moves on to the customers satisfaction.

Just go with it!

In conclusion, Project Management is a difficult road to navigate at the best of times. Coping with changes is very difficult, but to be a successful Project Manager you need to ensure that you are keeping on top of what is happening.

Trust your team, trust your customers.  They all want the best for the project.  Change plans on the run and embrace the challenges that come out of the project. Project Management is hard, but Agile is a tried and tested methodology that provides outcomes for all the parties involved.  Stay with it.

References

Cunningham, W. (2001). Manifesto for Agile Software Development. Retrieved from AgileManifesto: http://agilemanifesto.org/

Foo, D. (2015, 07 22). Scrum Part 1 – Agile Manifesto. Retrieved from Danil Coding: http://danielcoding.net/scrum-part-1-agile-manifesto/

Harris, E. (2018, Augus 12). 7 Causes of Project Change. Retrieved from Strategy Execution: https://www.strategyex.co.uk/blog/pmoperspectives/7-causes-project-change/

Muslihat, D. (2018, March 02). Agile Methodology: An Overiew. Retrieved from Zenkit Blog: https://zenkit.com/en/blog/agile-methodology-an-overview/