Project Management — The Agile Way
Today I will be taking the time to talk about a method to do project management that has really surfaced in about the last 20 years. This methodology is called the Agile Methodology.
History
Values and Principles
Agile was formally launched in 2001 after a group of 17 notable technologists got together and drafted the Agile Manifesto. The manifesto has four major values and has 12 principles that comprise the entire manifesto. These four values are in the screenshot above, but to re-iterate them, they are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Now, this is not to say all of the items on the right of these sentences are useless or invaluable, but the manifesto is stating that all of the items on the left are much more important (which, honestly, I must agree with given my own experience thus far). In terms of the principles, they are as follows:
- The highest priority is customer satisfaction through the early and continuous delivery of valuable software.
- Welcome change, even late in development.
- Deliver working software frequently (couple weeks or months), with preference to shorter time scales.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity — maximizing the amount of work NOT done — is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective and adjusts behavior accordingly based on those reflections.
Usage and Popularity in the Real World
Simply put, the Agile Methodology is very popular and only growing. To prove this point, here are some stats:
- According to a 2017 study, 71% (this translates to approximately 7 out of 10) of companies/organizations have adopted agile in some way.
- The Harvard Business Review found certain companies experienced a 60% revenue growth simply by adopting Agile Methodology.
How it Works in Practice
Agile Models
When incorporating Agile, there are a few ways it can be done. Namely, the specific ways Agile is followed is by agile models, and two very popular agile models are Scrum and Kanban. Now, this is a very in-depth topic itself, and I will not be covering everything in its entirety. For a better understanding beyond this article, check this article.
Scrum
Today I will speak a bit more of the Scrum agile model as it is the one I am most familiar with and have been using the longest. When working with this model, members of a project are generally broken up into three positions. These positions are the ScrumMaster, Product Owner, and Team.
The ScrumMaster is responsible for making the process run smoothly, for removing obstacles that impact productivity, and for organizing and facilitating the critical meetings
The Product Owner provides the “single source of truth” for the Team regarding requirements and their planned order of implementation. Ideally, the product owner is the interface between the customers, business heads, and developers.
The Team is a self-organizing and cross-functional group of people who do the hands-on work of developing and testing the product. Since the Team is responsible for producing the product, it must also have the authority to make decisions about how to perform the work.
Each member is an important piece of the system. With all of these people working together and needing to communicate, many companies have adopted a card/issue tracker system for completing tasks.
To be clear, even if you are working by yourself, Agile is something that can still help. For example, I have been working on my 2D Space Shooter game, and I created a quick board to help keep track of features.
I created my board on Trello, but there are a variety of options out there. Two others I can recommend are Notion and Jira. What I have shown above is not everything I have on this board, but this is a general idea. For a more in-depth understanding of how to set up a board, again, check out this post.
Pros and Cons
If you have not heard of the quote “If it isn’t one thing, it’s another”, you should get well acquainted with it. If there’s one fact I have learned in this life, it is that EVERYTHING, everything, has its pros and cons associated with it, and I would be remiss if I did not give you at least some of the pros and cons of this methodology. As such, below are a few.
Pros
- More flexible — adapts to changes and challenges very well
- Product get to market faster — working deliverables, not perfect deliverables
- Better communication
Cons
- Hard to predict — due to the flexible nature of Agile, it becomes difficult to know exactly when a product will be “ready”
- Highly open to scope/feature creep — due to the flexible nature, members (customers, product owners, developers, etc.) sometimes add more and more tasks even when they should not.
- Documentation gets left behind
Just about nothing in life is perfect with only pros. This is why you must always consider both the goods and bad of anything you are considering. Whether this is a piece of technology you are using, a methodology you are trying to implement, a diet you want to incorporate, or whatever.
Conclusion
Project management is very important for tracking progress on a project. There are many ways a team can implement project management, but, personally, I am a fan of the Agile Methodology. Regardless, thank you for checking in and reading today’s article. Tomorrow I will continue work on the 2D game I have been writing about. As always, comments and critiques are welcome. If I have made any mistakes, please let me know so I can correct them for future readers.