Agile Project Management: Best Practices and Methodologies
Want to get the most out of your dev management process?
This article covers some of the best practices and methodologies SitePen uses to accomplish enterprise-level development goals.
We’ll start with some basics on Agile methodology, then we’ll provide practical info about how our experience has culminated in a lean development process that turns ideas into milestones, and ultimately into product outcomes.
We focus on instilling best practices throughout the software development lifecycle in all areas of the project to ensure that we not only leave behind a healthy codebase but also the healthy processes and teams to maintain and extend it for years to come.
Agile principles are applicable in virtually all software development environments.
What is Agile Project Management?
Agile project management is not about task-orientation, but rather about adhering to a set of core principles that lead to efficient, multidisciplinary, team-based results.
It provides solutions to management models that aren’t as adaptive in team environments where crucial, every-day progress is being made on code and where continual adjustments are often required on-the-fly.
For this reason, effective development teams have largely shifted to some semblance of an Agile methodology, where individual team members are empowered to play a role in evaluating, negotiating, and working to hit purposeful milestones that cascade from broader stakeholder aims.
This ongoing process often requires considerable assessment, review, and high-level thinking from sole contributors; far more than what traditional management models would ordinarily allow.
Agile gives the authority and resources to small teams of skilled professionals to bring products to life.
With that foundation in place, Agile generally abides by a number of core principles:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over adherence to rigid plans
In the next section, we explain the many pros of using Agile methodologies, many of which SitePen has benefitted from in its long history of serving enterprise customers on a wide range of projects.
Why Choose Agile?
By now, many development teams use some form of Agile by default. Here are a few reasons why:
- Agile processes stem from mutual understanding and agreement between product leaders and development teams on overarching product goals.
- They increase team engagement, which leads to higher engineer job satisfaction and retention rates.
- They are oriented towards short-term goals that culminate in demonstrable results.
- They give continued updates as product development iteration goals are hit, allowing for subsequent adjustment in prioritization.
- They are highly adaptable, allowing for regular adjustments to reorient priorities if any issues arise.
- They facilitate a careful, but a quickly determined balance between the product backlog, prioritized goals, sprints of work, ongoing review, adaptation, and dev. project retrospectives.
- They provide empowerment for small, multidisciplinary teams of professionals to work together to contribute expertise at their highest potential.
- They encourage the proactive escalation of “blockers” to development progress, so issues can be addressed as soon as possible to avoid surprises which, if suppressed or ignored, could otherwise result in project delays.
- They result in proven higher productivity rates, which keeps development teams accountable to scheduled deadlines while minimizing ease and passing the efficiency savings onto enterprise development partners.
The many benefits of Agile are clear to most leaders in software development. But agile principles can be difficult to apply in practice. We’ve spent extensive time assisting leaders in working out project management issues, both from technical and process perspectives.
Let’s take a closer look at SitePen’s agile process to explore how the simplicity of these principles can lead to greater efficiencies and project success.
SitePen’s Approach to Agile Methodology
What insights can we share that might help you to meet your development goals?
With nearly 20 years of enterprise development experience, SitePen’s agile framework is optimized to enable team efficiency and project velocity.
This allows the project team to set clear goals and focus on the work at hand without getting bogged down by unclear requirements, excessive documentation, and false starts.
In making customer interactions scheduled and streamlined, time can be used wisely, allowing for our team to focus on the heavy lifting; solving complex problems that get us closer to the end goal.
Here are some details about the steps in SitePen’s agile process:
Initially, a product roadmap is developed in conjunction with key stakeholders. This serves as the guide to the customer’s product vision for the team’s development and the delivery of features. This remains accessible to stakeholders throughout the engagement.
We develop our first instance of the Product Backlog. This will become the ongoing source of truth for the project’s requirements. Items are added, prioritized, and reprioritized as feedback is taken into consideration. Progress can be monitored throughout for continued communication on the scope of progress towards agreed-upon product goals.
In some cases, we are required to assist in filling out the vision for the final product. In others, we need to go in and check out source code that’s already been heavily edited by another consultant. In these circumstances, we salvage what we can and move forward.
1) Requirements gathering
These sessions take place weekly and are for the SitePen Business Analyst to elicit shorter-term requirements from an enterprise partner.
These must be in alignment with a mutually agreed upon Product Roadmap in order to develop a Product Backlog, which is an ongoing list of specs and requirements that will need to be completed to deliver working project milestones.
We provide bi-weekly demos to present ongoing progress. Ideally, these are functional parts of the overall product deliverable. However, development requirements don’t always map accurately to exact one or two week periods of work. Teams that get too caught up in delineating project chunks into exact sprint cycles often wind up rushing just to create a misleading perception of progress for “demonstration time”. In the end, this will lead to hasty coding and the creation of technical debt. So, it should be avoided.
2) Sprint Planning
The purpose of Sprint Planning is to determine what can be delivered in the upcoming sprint and to define the goal of the sprint. During this session, a business analyst or project manager identifies prioritized backlog items to the development team. The team mutually determines what they will be able to complete in the following sprint session. These aspects are recorded as part of the sprint backlog.
The Sprint Backlog is the list of items from the Product Backlog that the team has selected for the sprint. The Sprint Backlog makes visible the work the development team is currently focused on to meet the sprint goal.
The team proceeds to work on the agreed-upon goals. At SitePen, sprints are usually two weeks long. This strikes a careful balance between being long enough to make considerable progress on a milestone while being short enough to allow for short priorities to be shifted if things are different when it comes time to plan the next sprint.
Engineers, designers, and business analysts are encouraged to voice concerns if they run into issues in their work. The culture is such that other team members give assistance where needed to help ensure that blockers are addressed and sprint goals are met.
4) Stand Up
Traditionally, stand-ups entail a brief meeting that takes place daily, allowing team members the opportunity to identify what they’ve accomplished the prior day, what they plan to be working on the day of the stand-up, and any potential blockers to their most urgent work. This also allows a project manager to identify overall progress towards sprint goals. At SitePen, stand-ups are not always daily, but take place frequently and as needed.
5) Sprint Demo
During the sprint demo, the development team demonstrates the progress of the latest sprint to stakeholders. As development goals are met, progress informs updates to the product backlog. This allows customers to observe iterative progress and to ask questions, provide feedback, and request any changes to the product backlog depending on their feedback and on what has been accomplished.
At the end of each sprint, a summary of completed deliverables is posted to the SitePen Hub as a final layer of transparency of ongoing progress. This gives customers a clear and regularly updated picture of what has been completed.
An update on the progress made towards our sprint goal, as well as the planned work for the upcoming week, is posted at the end of each week to the SitePen Hub news tab. This is distributed to the entire customer team every Friday to ensure our team’s progress is well-known and open to feedback if priorities need to change.
6) Sprint Retrospective
This allows the development team to review the previous sprint, look at what went well, identify areas that need improvement, and create a plan as to how the next sprint could be improved. Since these take place multiple times in the scope of working with a customer, they facilitate greater adaptability towards achieving team goals as time goes on.
7) Project Retrospective
The cycle of sprints ends when all the items in the product backlog are tested, delivered, operable, and highly performant. At this point, the entire project is reviewed and a discussion proceeds around the next steps. In many cases, SitePen is asked to remain engaged to continue to provide ongoing collaboration, leadership, and support to internal dev teams as they reiterate on product deliverables. In others, when the scope of the project is complete, SitePen hands over responsibility for further updates to the internal enterprise development team.
These are the barebones essentials of how SitePen navigates the Agile development process.
Below, we take a closer look at some of the core principles of Agile development practices. Internalizing these can help development leaders avoid adhering to an excessively rigid framework when unique challenges arise that may require ‘outside the box’ thinking.
Core Agile Project Management Principles
This section goes a bit deeper into the principles behind Agile. Focusing on these can help reorient management towards empowerment and adaptability in an environment of exceptional expertise, rather than that of a rigid framework.
Alignment between the development team and overall project aims and business objectives is important to ensure that the resulting software will meet all the agreed-upon goals. Ideally, this should cascade from project leaders to all stakeholders, so all involved parties are moving in the same direction towards agreed-upon goals.
Adaptability is important to maintain no matter what stage of development the project is in. Needs and priorities can change throughout the course of a project. Instead of ignoring these realities and going ahead with a long-term plan that may no longer be applicable, Agile teams are able to adapt if and when priorities or goals change.
Customer satisfaction is one of the key benchmarks of success. Work on a development project isn’t truly impactful until it moves the needle on elements of performance and functionality that make a tangible difference to the product experience, whether users are internal or external.
Milestone updates are a key part of presenting functional progress towards broader product development goals. Milestones are usually oriented towards tested and demonstrable software updates, which lend the development team credibility as it moves forward with new iterations.
Trust, support, team empowerment, and self-organization are elements that go hand-in-hand with Agile is, at its core. This foundation will lead to higher engagement, work satisfaction, more effective collaboration, and higher team member retention. Team members selected to work on Agile projects need to be not only skilled in their area of expertise but also an engaged and willing participant in cross-team discussions, supporting the project and team goals as a whole.
Ongoing communication is a key part of ensuring that all stakeholders are up-to-speed on progress and in eliminating counterproductive work siloes. Ideally, all team members have on-demand access to the information they need to do the work at hand and to update others on their progress and on any blockers they encounter to manage any issues that might arise as soon as possible.
Workload sustainability is important for maintaining consistent productivity in the long-term. Agile focuses on maximizing productivity through skill, adaptability, and the high-resolution mapping of tasks to results-based activity. Teams can’t maintain a consistent and reliable pace over the long-term when they’re working 80 hour weeks. Thus, the need for work/life balance is not only in the best interest of health and wellbeing. It leads to higher productivity over the long-term.
Meticulousness and attention to technical detail are key factors in maintaining high-quality development standards and when refactoring. Engineers need to make sure they get things right before moving onto the next stage. Otherwise, they’ll wind up leaving convoluted code or bugs behind that will manifest into technical debt in the long term.
Simplicity is another key principle. Software development is often a complicated process, but it should never be made more complicated than necessary. Just as engineering best practices call for clear cut, concise, and easy to maintain code, management processes should be treated the same. Those processes that become a barrier to productivity should be questioned and simplified.
Reflection involves taking a critical eye to the team’s effectiveness in meeting past goals. Feedback can be shared by all stakeholders as to what is and isn’t working in the process. Teams can reorient as needed and improve their performance in future projects and iterations.
Moving Forward with Agile
We hope this has helped you identify some areas you can either start applying Agile or improve upon processes already underway.
As a complete project team, SitePen has assisted a number of enterprise companies by taking full ownership of their web application initiatives to set out on the right foot or to get a project across the finish line.
Whatever your reason for seeking additional help, SitePen has extensive experience in:
- Software architecture consulting
- UI |UX Design
- Modernizing legacy software systems
- Rescuing failing projects
- Technical advisement
Here are some examples of our past projects. If you’re interested in optimizing your Agile processes, we can help coach and guide your team. Feel free to reach out and let us know if we can lend a hand.
Originally published at https://www.sitepen.com on October 19, 2020.