Post by Ben Scarbrough |
Earlier on this year, we at LexisNexis Enterprise Solutions adopted an ‘Agile’ approach to software development for Lexis Visualfiles. It marks a transformative shift in our approach to product development.
Agile has of course fast become a buzz word in the industry, but what does it really mean you might ask? Fundamentally, Agile development is an iterative process that incrementally builds the software to deliver enhancements to functionality, speedily, early and often – unlike the traditional approach where new functionality is introduced following lengthy, periodic software upgrade cycles.
Already, we are seeing the benefits of this methodology, both for our business and clients. The following stand out:
- A more focused, collaborative, empowered and motivated team
Perhaps the biggest benefit of this approach is that it encourages a collaborative approach to product development, not just cross-functionally in the company, but with clients. This means that we are focused on clients’ evolving requirements and are able to deliver enhancements quickly. This approach has also greatly empowered the software development team. The team is responsible for how the improvements are delivered and so have the authority to make on-the-spot decisions on a day-to-day basis. For instance, after every sprint (i.e. a fixed timeframe within which a software iteration is developed for review), the teams discusses the iterative improvement and identifies next steps, which are then executed on, without the need to escalate the plan of action to senior executives. The onus of success therefore rests with the team.
- Closer engagement with customers
The beauty about Agile is that new iterations of functionality are developed in close engagement with customers. For instance, we are able to do ‘code drops’ to the customer so that they can test the improvements in their IT environment and suggest further changes, if needed. The value of this approach significantly increases where major enhancements or integrations with third party software are being tested. It also allows for experimentation and adjustments to ensure that the final product fully meets business requirements.
- Smooth functioning of cross-functional teams
Unlike in the traditional approach to software development, where activities and tasks are handed over to subsequent teams, in Agile, cross-functional teams simultaneously work in parallel to deliver new features. For instance, after every sprint, which is typically three weeks, all the stakeholders – i.e. product managers, programmers, Professional Services and support – review the activity, provide feedback and agree the future direction of the software enhancement. Consequently, all parties are equally invested and have a say in the development of the product.
- Innovative ideas generation and solutions
Agile encourages new ways of thinking, and helps generate new and innovative ideas. In fact, this attitude is in-built into the process. Regular reviews, problem solving and feedback sessions allow teams to experiment and adopt different approaches on a continuous basis.
If you are interested in exploring an Agile approach to software development or even looking to gain a better understanding on the subject, do speak to your Professional Services advisor. Agile is underpinned by collaboration, ongoing improvement, knowledge sharing and continuous innovation. It is also a more cost and time effective approach to software development.