Agile Agency: Small Changes, Big Impact
I’ve been a project manager for many years and the “Waterfall” method was the normal expectation from my clients. As I gained more experience in the enterprise software industry, it became clear that “Agile” and “Scrum” practices provide more value for larger, technical projects. With the other project managers at Bounteous, we have made a conscious effort to adopt Agile principles when and where it most benefits our clients. As a result, collaboration between our internal teams and with clients has improved resulting in the ability to identify issues sooner, release updates/launch more often and increased sharing of the most up-to-date information. Moreover, our clients are better equipped with the data outputs from weekly task reporting so they they can make more informed decisions.
The Agile Manifesto is a summation of four simple foundational values and how they can make a big difference in managing technical projects. Below are learnings and examples of how we apply them at Bounteous.
1) Individuals & Interactions over Processes & Tools
All managers strive for a high level of collaboration in their projects. While processes and tools are always in some way part of our work (think: logging time, billing), Agile is foremost focused on the needs of the developers so they can more efficiently get their work done. While a simple principle, it may be difficult to steer away from a formalized process within a company and towards self-managed organization. With the reduction of administrative time spent on determining a set process, developers and scrum teams are empowered to schedule and meet when it is appropriate and convenient for them. With the manager responsible for coordination with the client to define their product backlog and roadmap, the constant flow of tasks allow developers to spend more time building software.
2) Working Software over Comprehensive Documentation
In the end, our clients wants to see results and as a project manager, so do I! However, change is inevitable, especially when it comes to building products for enterprise companies. Not even a Software Architect can predict what will happen. While Waterfall methods are applicable for some projects, it is not suited for complex ones due to the excessive amount of time spent on discovery. Agile counters this by fostering the working product, not the plan for making a product work. By the time a grand plan is completed, it will already be outdated. Documentation is still important, but it should align with Agile practices; dynamic and iterative as the project progresses and the team gathers and learns more information.
3) Customer Collaboration over Contract Negotiation
To me, this value is the most important and complicated concept. With Agile, contracts aren’t obsolete, but there is a balance that needs to be achieved between having a fixed budget (as agencies usually do with clients) and having an agreement in place for what will be delivered. As seen in the previous Agile values, it is impossible to promise a “perfect” piece of software. That is why it is important for us as an agency, to discuss up front with the client the benefits of agile and how throughout the process, it will allow them to decide, change and shift priorities (which is okay to do!). There is not a silver bullet to this balance. In the end, the decision on how the contract is created will be based on the scope of the project (level of complexity and unknowns) and the expectations for managing changes that happen during development.
4) Responding to Change over Following a Plan
“There is nothing so stable as change.” – Bob Dylan
The final core value may be one of the major pain points for a company or organization to make the shift to Agile. Who really wants change? We all have to report to someone and there are deadlines to meet. However, if we can accept up front that change will happen, then we can decide how and when we will manage it within the project timeframe. Unlike Waterfall, where the entire project is mapped out beforehand and there is little room for change, Agile provides the opportunity to assess progress and make modifications as needed.
The core values of Agile align with Bounteous' values: visibility, transparency and collaboration, within our own teams and with our clients. We enjoy building complex projects and solving big problems. With the Agile and Scrum principles, we have found that we are able to deliver the best work for our clients.
To learn more about how we utilize Agile, or how we can help you with your projects, please reach out to us. We look forward to meeting you.