Unlocking the potential of open-source software and agile development
1 December 2013
Organisations in both the public and private sector are discovering that, thanks to advances in open-source software and agile delivery techniques, enterprise-scale software projects need not be as resource-intensive or unpredictable as they used to be.
Household names such as Facebook, Spotify and Netflix all make extensive use of such technologies, demonstrating confidence in open-source as a robust foundation for enterprise-scale development.
Open-source offers a range of viable alternatives to commercial packages that span the IT landscape, from operating systems to databases and developer tools. Their ready availability makes evaluation straightforward and they offer potential for significant capital and operational cost savings.
Other benefits include the opportunity for customisation and better support for open standards, both of which help improve interoperability with other systems. Openness can also lead to better security thanks to more responsive support from active developer communities when new security concerns are discovered. However, open-source also comes with hidden risks for the unwary:
• Choose carefully. There are many options with a broad spectrum of quality and varying levels of community support.
• Open-source can lack the warranties of traditional commercial products. Consider how you will ensure support across the lifetime of the system.
• Understand the licensing and IPR implications. There are many different open-source licensing schemes – be aware of the differences and your obligations.
• Offerings that appeal to the development team might not be right for the job. Ensure strong technical governance to prevent the introduction of unnecessary complexity and inconsistency.
With better documentation, enhanced support options and cloud deployments bringing greater flexibility and efficiency, open-source continues to improve. But how do you ensure a predictable and reliable enterprise deployment?
Agile techniques are sometimes criticised as unfit for enterprise-scale development. In reality, while not a universal panacea for IT delivery problems, an agile approach tailored to the project and the organisation can deliver business value, more quickly and at a higher quality.
Many organisations are successfully delivering robust enterprise-scale solutions by combining open-source components with an agile delivery approach. They achieve efficient, predictable delivery by applying some
• Encourage collaborative working – engage business experts, decision makers and operations people early and regularly throughout the project.
• Avoid surprises at the end of the project by evaluating technical and functional risk and proving architecturally and functionally complex areas as early as possible.
• Test early and continuously using automated tools where possible. Take real data from production for testing as soon as it is available and refresh it regularly.
• Mission-critical projects require an appropriate project structure and level of formality to support incremental acceptance. Tailor the approach and tools to the project, environment and people.
IT is renowned for failing to live up to its hype – however, when carefully undertaken by skilled practitioners, implementations based upon open-source components and delivered using an appropriate set of agile techniques can provide real cost and efficiency benefits.