When we hear the word Agile a lot of things may come to mind. However, this may not be truly representative of what it stands for; especially in the world of IT. Agile is an incremental approach to Software Development based off different Software Development methodologies. There are many core competencies when it comes to Agile and when used alongside Research & Development (R&D), it just works.
One of the best Agile pillars, which align with Research & Development is Collaboration. The ability to have interactions with colleagues, partners and work with those around us to find the tools and processes needed to accomplish the end goal. We are also able to see the project objective from a different perspective when having open discussions on progress and potential road blocks. It really assists in the expansion of requirements and better solutions for the progression of a project.
When trying to attain the finished product keeping documentation is beneficial. However, the main priority is to ensure we have a working product that meets a certain expectation of quality. When building a R&D product, it is important to keep specific documents but it does not have to be overwhelmed by documentation. Too much documentation can lead to items (i) not being updated, (ii) it can cause confusion when needing to revisit items that may have been over looked/forgotten or (iii) to ensure everything has been captured is implemented. Agile benefits here by keeping the focus on the product and not the documentation.
When going through the process of implementing a R&D project, sometimes things need to change or be scrapped because something is not working the way it was intended to or expected. This coincides with the ability to adapt to changes and keep the project moving forward. There are also other times we may have to go back to square one. Agile really comes to the forefront here with sprints. Sprints are organized based on tasks to be completed and those tasks can be adjusted and set to different priorities. When working on higher priority tasks some tasks can become obsoletes and move things in a different direction that may not have been intended and really solidifies change and adaptability. We are all creatures of habit but change is a good thing.
As a company, we had the opportunity to work on Prescriptive Decision Support System as a R&D Project. PDSS allows us to collect and process historical data – using Machine Learning - find patterns and decision making rules. Combined with our Data Pipeline, we are able to highlight key information that can provide predictions to the data being collected by businesses. With those predictions it makes crucial business decisions a little easier to make. Never underestimate the power of data, what it can show us and what we can learn from it.
By taking an agile approach to the PDSS project, we were able to accomplish and implement PDSS, despite numerous changes over time. This was made possible using the core Agile competencies. Keep in mind that there are a lot of different Software Development Methods, which are applicable, but using the one that meets the project needs is the best choice. However when applying Agile to R&D it just works.
Missing Link Technologies Ltd.