When Agile and Open Source Meet
Both agile and open-source practices are becoming more common but are often seen as contradictory.However, despite their differences joining agile with open-source can bring multiple benefits.
Agile places high importance on face-to-face interactions whereas open-source operates on the premise that people can be anywhere and anyone can contribute. Where open source needs documentation to help contributors understand and get on board Agile focuses on working code.
Although these 2 principles seem to be opposed to bringing the central tenets of Agile and combining open-source is both possible and desirable.
Agile Can Help Open-Source Maintain Order
Keeping focus and order is one of the key problems in open-source but using an Agile framework can mean contributors can understand how to merge their work into the project more easily by prioritizing and tracking progress.
Agile Provides Easy Visibility
Potential collaborators may be put off working on open-source projects if there is no indication that the project is active. Agile components give insight into the activity of a project, the good issues for a collaborator to focus on and what the priorities are. The provision of an agile task board means that contributors can track submitted issues in real-time and understand they are being managed.
Agile Measures Velocity and Improves Release Predictability
Open-source projects often move slower than others but hey can be encouraged to increase their speed and give predictions as to release. Although metrics like work sprints may not be appropriate, Agile uses other metrics to help improve speed and predictability. For example, lead and cycle time measure how long it takes from an issue submission to completion, identifies stale issues and if an issue has been open too long it can be flagged for attention or deleted if no longer relevant.
Joining Agile and Open-Source
Most open-source projects will be hosted on online platforms and some of these boast extremely large communities of developers. These platforms often include the ability to include Agile elements like task boards and reports into the projects. Additionally, they make it easy for users to establish an open-source project and connect with the developer community and many third-party tools can be used to assist make the process more agile and predictable.
Many of these tools are free to use on open-source projects and can bring many advances including speedier delivery, better results, faster release and encourage the use of both Agile development tools and open-source practices to mutual benefit.