Almost two decades ago, software development was forever changed. A group of software developers and engineers conceived an idea to help return a focus on the customer. The frustrations with the rigid construct of planning and documenting software development, sometimes years into the future, had come to a boiling point. Thus, the Agile Manifesto was born.
What is Agile?
There are generally two project frameworks regarding Software Development – Agile and Waterfall. With Waterfall, all requirements are defined up front, the software application is built in incremental steps, and a full solution is delivered at the end. Makes sense, right? Companies have been doing it forever and it’s easy to wrap your head around. You want a website, right? Ok, in six weeks, the team will deliver a website (often with no customer review processes in between!). Hence the frustration that the authors of the Agile Manifesto were trying to change.
With Agile, the software development process is divided into smaller units with incremental delivery. For an example, “sprints” are run – generally lasting between one and two weeks in length – and at the end of a sprint, a working piece of software is put into staging to be further built upon or released for all into a live production environment. In agile development, Engineering groups deliver incremental working software and demo each small iteration to stakeholders until the final solution is delivered.
And, the goal is simple. Deliver more value to customers, faster, and with continuous improvement.
How Does the Work Get Done?
When Ansira’s Channel Partner Marketing Product and Engineering teams switched to fully embrace Agile, it was a major change in organizational structure, along with quite a few changes within people’s daily role and responsibilities. Additionally, it wasn’t without disruption to client delivery dates, but these disruptions were temporary. Yes, output can be slower when an organization undergoes Agile transformation as each team needs some time to become comfortable with Agile, as well as and more familiar working with their teammates.
The switch also affected people outside of the Product and Engineering departments. The way people communicated and requested work needed to follow the Agile process. There was an adjustment period, but it was temporary as the new benefits quickly became apparent to everyone – internally as well as externally with client stakeholders.
As an organization, Ansira had been working smaller web dev projects in an agile manner but overhauling the entire Product and Engineering organization responsible for the Ansira Edge Technology Suite℠ was an opportunity to “practice what you preach” and show (not tell) clients the benefit of agile development.
Benefits of Agile Software Engineering
- Prioritizing of Work
Agile clearly defines everyone’s roles, responsibilities, and workflow. Prior to Agile, work would often get prioritized by who yelled the loudest, without regard to the true benefit to Ansira or to our client base. This “fire drill” method of programming would cause delays to other work that stakeholders had expected to be completed. It created a lot of unhappy people and made project planning extremely difficult.At Ansira, all work is put onto a backlog of requests, and the Product Owner defines priority based on benefit to Ansira and our clients.
- Capacity Planning
Estimating work and timelines is always challenging, especially when multiple projects start at the same time and compete for the same resources. Asking developers to work longer and later to meet a deadline isn’t a way to run development teams for the long haul. Burn out and stress will compromise the end product.Agile allows Product and Engineering departments to standardize the work capacity for each release cycle and plan around those metrics. If the work requested exceeds available team capacity during any given sprint or over the duration of several months, data can help illustrate this and drive discussions around additional resources.
- Communication Within the Team
Daily 15-minute meetings, or “stand-ups,” are held to keep everyone within their team aware of each other’s work. When we started these at Ansira, some people groaned and thought they were a waste of time. However, stand-ups quickly proved valuable as they were able to foster better communication and catch misunderstandings early, as well as identify roadblocks, allowing our delivery path to be as short as possible.
- Communication to Stakeholders
Since Agile teams deliver working software every one-to-two weeks, there are meetings to demo working software prior to releasing to production. This is a huge benefit for stakeholders as they get to see progress on a regular basis while a feature or features are being developed.Another stakeholder benefit is that the product backlog is fully exposed to everyone in the company, not just the Product and Engineering groups. Everyone who has requested work to be done can see exactly where their work is prioritized compared to other requests. For us, this has cut down on interruptions such as, “when is my work going to get done?” or “what’s more important than my request?” Overall, transparency has improved and created stronger partnerships across the company.
- Higher Degree of Quality
Agile development, and the continuous improvement that it enables, allows for clients and end users of software applications to experience evolution and enhancements frequently. The end result is a better-quality customer experience. From a development team perspective, Agile is all about:
- Breaking down the software development life cycle into smaller sprints for higher quality products. You can master a small piece and move on to the next small piece.
- Smaller iterations that are easier to test. A QA Engineer can test a smaller piece of a program with greater confidence than a larger one.
- Stakeholders seeing pieces of a project sooner, rather than the entire project upon completion. This allows feedback and approvals much faster. Stakeholders also have less stress since they see the progress of a large project as it is happening, allowing for faster pivots by the development team.
- Accountability. Especially at the scrum team level. The team as a whole is responsible for releasing a quality product. This fosters a more creative and helpful team dynamic that may not always be present using Waterfall.
To learn more about Ansira’s Channel Partner Marketing technology platform, and see for yourself the features and functions enabled by Agile development, check out the “The Forrester Wave™: Through-Channel Marketing Automation, Q2 2020” report available for download on Forrester.com for a limited time, compliments of Ansira. If you’d like to contact us directly for a demo or to chat more about our Channel Partner Marketing Solution, please reach out!