To run its global operations efficiently, Schneider Electric relies on a wide portfolio of software products supporting its field personnel. Many of these tools are custom-built and hosted on engineering software platforms which are supported throughout three time zones and need to be available 24/7. Every single software product has a different licensing model and method, all of which need to be captured and tracked to ensure service continuity.
In the early 2000s, Schneider used Microsoft Visual SourceSafe to help manage its source code, as Peter Angus, Software Test Manager at Schneider Electric, recalls: “SourceSafe was quite rudimentary, really just a repository where we could check code in and out. It didn’t have real configuration management functionality and its versioning control was poor. The database wasn’t properly structured, so we couldn’t host it on a server subject to regular backups. This gave us security concerns. As our software development and release processes matured we just felt we outgrew SourceSafe. We embarked on developing embedded, multi-processor projects and couldn’t see how SourceSafe could support us in this.”
He adds: “If we wanted to add 15 new hardware platforms to the support of our software codebase, we would need to take a codebase copy, work on it, separately test the same functionality in 15 versions, and then release it. If anything went wrong, an engineer would fix it and it would need to be tested 15 times again. It made the whole process miserable and time consuming and we knew we could do better.”
Schneider Electric looked for a solution with better stream and configuration management to support parallel development efforts.
Micro Focus AccuRev stood out during market research because of its stream-based architecture. Streams are the building blocks to supporting multitudes of parallel codebases of varying degrees of complexity. They are extremely lightweight and allow the ability to decouple and manage various configurations for any stage of development. This was exactly what Schneider Electric needed, as Angus comments: “For the previous example, AccuRev enabled us to consolidate one software codebase into a stream with particular branches off it to allow for the different hardware versions. With this shared codebase we test once and are reassured that it works across all branches.”
AccuRev supports Agile development within Schneider Electric, using JIRA, in which issue tracking and agile development methodologies are combined. 25 co-located developers access AccuRev on a virtual server and have the benefit of the same views to promote team collaboration and process transparency.
Notes are created as part of the AccuRev check in and out process. These are used to generate comprehensive release notes within seconds so that it’s instantly clear what is changed within the new release.
Angus on the day-to-day value of AccuRev: “We created a model where the developer works on the code, tests it, and then pushes it up into the AccuRev test stream. A software tester tests it, and promotes it into the pre-release stream. There, a senior software manager decides on the final release. This demonstrates a significant process change in our company, and one which has led to a drastic reduction of software issues in production. We have multi-layer control of what is released to our users and as a result we have very few functional problems in production.”
AccuRev has had a positive impact on parallel software development within Schneider Electric, as Angus explains: “When we develop an existing product on a different hardware base, in the past we would have copied the software code and started again. With AccuRev however, we can reap the benefits of ongoing development and compile the software for different hardware platforms easily and quickly, all at the same time. This results in a well-documented and well tested hardware abstraction layer.”
He concludes: “Having AccuRev at the center of our source code has given us a level of control we were lacking previously. The shared codebase saves lots of time and effort and the whole development process is more structured, giving us higher quality products in the field, and increased user satisfaction.”