If you’ve ever played a sport or watched a corny sports movie, there’s a good chance you’ve heard the following: You need to focus on the fundamentals!
Maybe you forgot to “box out” on a rebound, or maybe you didn’t put your glove down and pulled a “Bill Buckner” on a ground ball.
Whatever the case, you were told to get back to the fundamentals because that would help you solve the problem. Why? Well, the root of the problem was that you forgot about the fundamentals in the first place. This quote from Jim Rohn serves as a reminder:
Success is neither magical nor mysterious. Success is the natural consequence of consistently applying the basic fundamentals.
In the world of software development, the same rules apply. If you and your team are struggling with agile project management, it doesn’t mean that agile can’t work for you. Oftentimes, it just means that you need to get back to the basics.
What is Agile Project Management?
Agile project management is a method of software development that focuses on quick rollouts from an efficient and flexible team. Iterations are based on a continuous inflow of feedback, but instead of trying to solve everything in a few updates, a team has shorter phases in the development cycle to cover only a few updates at a time in order to constantly release a steady, elevated level of quality incremental improvements.
According to the Marketing Agency Growth Report 2018, absence of a project management culture has been one of the biggest pain points for agencies. Agencies face daily growth challenges for not being able to manage their time and projects efficiently. Roughly 20% of them have never used project management softwares till date.
The consequences have been severe - 43% of agencies don't find enough free time to focus on administrative tasks such as staffing, client on-boarding, new business investments, etc. 29% of agencies experience difficulties in maintaining cashflows and 35% of agencies face hiring and talent management problems.
Lack of agile thinking and learning practices have prevented 55% of agencies from growing their sales and marketing efforts, 24% of them faced differentiation challenges in the market and lack of processes or organization has kept 18% agencies from retaining clients. That's why so many agencies invest in the culture of agile project management.
There are 12 basic principles to successfully following an Agile project management development approach. At a ski resort in Snowbird, Utah, 17 software developers reflected on what defined the core principles of agile development methods. Their goal was to uncover better ways of delivering software and to help others do the same.
During that meeting, the Agile Manifesto was born. Comprised of 12 fundamentals, along with four core values, it provides the foundation of agile software development as we know it today.
Principle 1: Attain customer satisfaction through continuous delivery of software
Software is not built for the sake of building software. It’s built to be put to use by an end user to better perform tasks that were previously out of reach, solve a problem, do their job better or more efficiently, etc. But often, the highest priority of software development is forgotten.
So, how can you better align with this principle?
Shorten the distance between requirements gathering and customer feedback by planning less change at a time. This gives you more opportunity to steer the software in a satisfactory direction for the customer.
Principle 2: Don't be afraid to make changes
You can implement changes now -- you don’t need to wait for the next system to be built or a system redesign. Agile processes harness change for the customer's competitive advantage.
Shorten the distance between conceiving and implementing an important change. And even if it’s late in the development process, don’t be afraid to make a shift.
Principle 3: Deliver working software, with a preference to the shorter timescale
Previous development methods were front-loaded with tons of documentation under the guise of completing 100% of the requirements needed for a particular project. But towards the end of the project, the usual result was just that -- lots of documentation, but nothing to show for it.
Agile project management focuses on shortening the distance between planning and delivery. So, the agile methodology focus more on creating software rather than just planning for it. This gives you the opportunity to improve the efficiency and effectiveness of the work.
Principle 4: Developers and management must work together
This one is crucial, especially because it doesn’t come naturally to most people. Co-location between management and developers is usually the best way to handle this. You can also use communication tools for remote workers. It helps the two sides better understand each other and leads to more productive work.
Principle 5: Build projects around motivated individuals
There should be no micromanaging in agile project management. Teams should be self-directed and self-reliant. Make sure you have the proper team in place that you can trust to complete the project’s objectives and provide the support and environment to get the job done.
Principle 6: Face-to-face interactions are the most efficient & effective modes of communication
Put simply, you want to shorten the time between a question and its answer. This is another reason why co-location or remote work during the same hours is key in agile project management. When teams work together under the same (virtual) roof, it’s much easier to ask questions, make suggestions, and communicate.
Principle 7: Working software is the primary measure of progress
This is the primary metric an agile development team should be judged by: Is the software working correctly? Because if it’s not, it doesn’t matter how many words have been typed, bugs have been fixed, hours have been worked, etc. A good team needs to produce quality software -- all other measures are pretty much irrelevant if you can’t get it working correctly.
Principle 8: Agile processes promote sustainable development
When working on the same project for a VERY long time, burnout can be a common problem among agile software development teams. To prevent this, work should be done in short productive bursts because excessive overtime cannot continue indefinitely without impacting the quality. Focus on choosing the right pace for the team members. Usually, the best pace is one that allows team members to leave the office tired yet satisfied.
Principle 9: Continuous attention to technical excellence and good design enhances agility
Developers shouldn’t wait to clean up redundant or confusing code. Code should get better with each iteration. Along agile methodology, the software development team should use scrum tools and take time to review their solution. Doing this during the project saves you way more time than cleaning up code “later” -- which can also mean never.
Principle 10: Simplicity is essential
Keep things simple and minimize the time between comprehension and completion. Avoid doing things that don’t matter -- such as the “busy work” that is so prevalent in corporate culture. Keep track of your team, count the hours worked in a fun way by using project management tools like Dashable, Trello, and InVision.
Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams
A great agile management team takes it’s own direction. Members don’t need to be told what needs to be done -- they attack problems, clear obstacles, and find solutions. It should be a red flag if the project manager has to micromanage.
Principle 12: Inspect & Adapt
This is a crucial principle in agile project management. At regular intervals, the team should reflect on how to become more effective, tune and adjust it's behavior accordingly. If there is a better way of moving a project forward, the team should implement adjustments.
Begin With the Basics
When you’re in the thick of an agile development project, it’s easy to get swept up in the fast-paced, ever-changing environment. But when you forget about the principles, the team and the project start to slip up.
Keep these agile project management principles in mind and you’ll be able to keep your team -- and project -- on the right track.