Agile software development has evolved as an increasingly popular methodology for developing software. By integrating project management and software engineering practices, agile development
enables the development of high quality software in a timely manner. This method is being increasingly adopted by software companies, whether they are in product development, software outsourcing, or in engineering and R&D departments, as a best practice to deliver duly tested and perfectly working software solutions.
How open source can add velocity to agile development
In the last two decades, open source software has had a revolutionary impact on the software industry. Experts believe that even agile development methodologies can be efficiently augmented by hybrid development processes, in which internally developed code is supported by the use of open source software.
There are hundreds of thousands of open source components available for reuse. These software are modular, component-oriented and standards-based, making them convenient for developer teams, especially those that are into agile software development, to conveniently pick and choose these available pieces of code, and use them in the process of software development.
The smart re-use of open source components increases the velocity of agile development initiatives, and reduces development costs, while accelerating a team’s ability to incorporate more valuable features in its products.
“This helps agile developers to save time, which otherwise is spent in reinventing the wheel each time they work on new projects,” affirms Rohit Sharma, vice president, Lyra Infosystems.
Using “free” code, responsibly
It is important to know that while open source software is free, it is not a “free lunch”. Leveraging open source software requires the ability to search for, evaluate and select open source components that complement the existing software development processes. While open source offers tremendous productivity enhancement opportunities, it is not always easy to find and assess the best open source component for a particular software development process.
Using open source software also necessitates taking approval from an organisation’s internal legal departments or policy committees to ensure that the licence, support and security obligations associated with the code chosen by the product development teams are acceptable to the enterprise.
It is also important for development teams and/or legal counsels to evaluate the community behind the code, to assess how well the code is supported, and how frequently it is updated.
In addition, verify that the code complies with export restrictions on cryptographic code. Finding open source and cryptography in a given code base is usually associated with base-lining code for future reference, explains Sharma.
These challenges and related processes are unique to hybrid development, and require a management platform that automates the process of open source code selection, management and deployment, in a way that it can be seamlessly integrated into existing agile development tools and processes.
The way forward
While there is no denying the fact that agile development can be tremendously enhanced by the use of open source, it must include a process where development teams can ensure the components they select are approved and in-compliance with corporate policies and legal obligations. In order to do this, development teams must have access to the right tools, including those that automate the management of open source code selection and deployment.
By implementing industry standard platforms like Black Duck Protex, developers can find relevant components of the code, assess its security levels and maturity, and understand the associated licensing requirements at any and every stage of agile software development, reveals Sharma.
He explains: “Black Duck Protex enables organisations to identify appropriate open source code for agile software development, and lists all related legal obligations associated with its use. This enables organisations to efficiently and confidently reuse code, even if that code is unfamiliar to the organisation.”
Certainly, if developers in your organisation too make use of pieces of ‘free’ software to speed up the product development process, it would be worth investing your time in evaluating the relevance of a tool such as Black Duck — so that while you leverage the advantages of open source, your firm ensures it is managing the compliance issues associated with the use of open source software.
[…] So, what was so incredibly wrong with your approach? You had a good take-off and but not a perfect landing. The thing which you lacked is a vision for sustainability and the same might have resulted from flawed processes during your app’s development. This is where Agile application development fits into the puzzle. […]