To be agile in business is to be able to react to the unexpected, to be able to adapt to a changing market environment and respond to consumer needs quickly. While these qualities are valuable in all walks of business life, they have gained particular importance as software, and product development has evolved.
Agile product development has been established as an alternative to the traditionally adopted waterfall methodology. The waterfall model is a breakdown of project activities into linear sequential phases, where each step depends on the deliverables of the previous one and corresponds to a specialisation of tasks.
The approach is typical for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible methods, as progress flows in primarily one direction. An extensive planning phase is followed by a sequential order of lifecycle stages, with product delivery at the end of the cycle. Each phase must be completed before the next downstream step of the process can start, which is where the waterfall name originates.
The benefits of an agile approach
As opposed to Waterfall’s rigid structure and inflexible sequence of predefined development phases that follow one another, agile has been created to offer more flexibility. With increased flexibility comes shorter time to market, increased collaboration, and, ideally, the better fulfilment of requirements due to regular revisions.
There are many different agile software engineering approaches, with scrum probably enjoying the greatest adoption. The agile scrum methodology has been adopted by companies of various sizes across numerous sectors primarily because it delivers collaboration and efficiency for project-based work. The agile philosophy of iterative, incremental stages allows teams to deliver projects in small steps. It breaks projects down into manageable portions that are called sprints, which usually last between two and four weeks. This provides several benefits for the development process. Probably the most significant is its ability to speed up the entire product development process because each set of goals has to be finished in the timeframe of the sprint. In addition, regular and frequent planning with the associated goal setting focuses the team on the current objectives, thereby improving productivity.
This is a self-governing method, and the team decide on their process, has very rapid deliveries, and typically has a daily stand-up meeting to report on progress. Rather than starting with a very formal requirements document specification, this methodology has a collection of items delivered in what is dubbed a backlog, which is allocated to each of these incremental sprints.
Instead of having rigid upfront requirements, the development is approached from a user’s story perspective that describes what you are trying to achieve. The result has not been translated into a specification, but it is left up to the team to deliver a product that the customer expects. This approach narrows the distance between the end-user or the customer and the people building the product and having stakeholders in the team means that you are more likely to produce what they are looking for and want. It also motivates the group because they are not being told exactly what they have to do.
Using ALM to facilitate agile methodologies
Historically, when those approaches started, it was a very matte layer, and part of the original agile approach was not to use tooling. But with the advent of development tools such as Codebeamer, that has changed, and the advantages of an Application Lifecycle Management (ALM) product can now effectively be applied to agile product development. CodeBeamer is an ALM platform for advanced product and software development.
The open platform extends ALM functionalities with product line configuration capabilities and provides unique configurability for complex processes. It allows users to combine V-model, agile, scaled agile, or custom development processes even in a single project. By using a visual workflow editor to define custom processes, whatever method your teams employ, you can embed guards, conditions, and review points to control all lifecycle actions granularly.
Traditional agile planning would consist of post-it notes on a whiteboard that could be moved around. We are just making that a little easier to see. Rather than doing that manually, you can now have the same view on a computer or tablet screen. This software tool is the only way to manage these complexities when dealing with bigger products and projects. In the ALM, there is a lot of information behind these post-it notes: how much effort is involved, how complex are they, and who they have been allocated to?
ALM delivering agile solutions
One organisation that has made good use of ALM software in its transformation to an agile culture is the Neuromodulation department of Medtronic, a global leader in medical technology. It has implemented Codebeamer ALM to overcome issues its previous software ecosystem could not efficiently address. With ALM, Medtronic has efficiently realised their vision of scaling agile while building processes to support compliance in this highly regulated industry.
In his role as director of patient care software at Medtronic Neuromodulation, Sarb Singh-Kaur is responsible for the development of all health software products, R&D, innovation and mobile, cloud and data sciences infrastructure development. His vision is to transition from legacy embedded software systems to state-of-the-art mobile and cloud software medical systems and processes.
The plan was to capture customer needs and trace them to product requirements, design, tests, and source code. Before implementing Codebeamer ALM, Medtronic Neuromodulation relied on an elaborate software ecosystem to manage their ALM and agile needs. While the team was happy with the functionality that the combination of these software platforms provided, integrating this plethora of standalone solutions was a difficult task. Using isolated and manually integrated tools inhibited transparency. In addition, ensuring the traceability of requirements down to source code and exporting comprehensive documentation that needed to be submitted to FDA for compliance audits were problematic.
Therefore, the Medtronic team started looking for a tool that could help them implement integrated ALM and agile software development simultaneously, all in a scaled environment to allow the collaboration of all 250 developers and other stakeholders. Medtronic’s Neuromodulation team deployed CodeBeamer ALM in less than two weeks. Essentially, CodeBeamer ALM has helped them transition a department of the world’s largest medical technology company from legacy solutions to the state-of-the-art processes, greatly facilitating the efficient production of innovative mobile and cloud software medical systems.
Although the various agile methodologies have their roots in software development It has now become pervasive throughout the entire product lifecycle. The challenge has been applying the methodology to mechanical parts because the speed of delivery is different. If you are building a car, you can increment the software and do a build every day, if not even quicker, but building a new body panel or chassis, you need to retool to produce a different part. So that is a slower speed increment, but it is still incremental. Now the next model is an improvement on the previous, and we are looking at how we apply agile not just for large-scale software but across whole products with different disciplines.
Navigate a turbulent future by attending Aerospace & Defence (28 November – 2 December). Register for FREE today.
Content published by Professional Engineering does not necessarily represent the views of the Institution of Mechanical Engineers.