Sandvik's goal was to convince mining companies that the green transition is also financially worthwhile — they should realize what would change if electric mining machines and equipment replaced their predecessors, either partially or completely. The challenge was demonstrating the benefits credibly and comprehensively. The core of the simulation already existed, and our task was to build an easy-to-use user interface around the source code.Previously, modeling results with Excel had been tried, but this new tool now realistically simulates both the map of the mine and its machines. The animation shows the functionality and productivity of the plans in practice, even taking the traffic rules into account. The application, which was originally intended for internal use in sales and product development, developed into a communications tool that offers a common point of view to operators in the mines.
Going under the surface by working together
We started the work with a four-day Design Sprint, attended by Sandvik's key personnel and Insta's designer, facilitator, and yours truly, as a software architect. The sprint provided a good insight into what needed to be done. Both parties were enthusiastic about the project, as we were making a prototype for real use. The work covered things like careful estimations of whether the solution could really work, whether it was straightforward enough, and the kind of value it would add. Less than a week later, the potential end users were able to test the ideas generated during the sprint. The feedback ranged from enthusiastic to reserved, and the biggest doubts focused on how to make the tool credible enough. The comments gave the development team the challenge of proving that they could make an idea that sounded good in theory and also work in practice. During the Design Sprint week, about a month of traditional definition and planning work was done, giving the implementation a good starting point.
As I write this, the analysis tool has been under development for about 1.5 years. Insta's core team has remained the same, complemented by developers and a testing supervisor, depending on the work phase. Sandvik's product owner's resources are conventionally concentrated on one project. Their supervisor gives guidelines, and the end users involved in the project keep the focus on customer benefits and help focus on the real needs.
Development is now done using agile methods in weekly sprints. There is a meeting every Monday in which the achievements of the previous week are noted and the goals for the coming week are defined. Communication on both sides is almost daily and takes place in several channels. The direction is changed when the situation demands it, and work steps are ordered by importance, with consideration for the customers and end users. This avoids expensive one-time investments and built-in obsolescence. The work focuses on producing added value. In an agile team, motivation remains high, as everyone gets to make an impact. The agile process also keeps Sandvik's end users interested in both product development and using the tool in their work.
Using agile technology
The original idea was for the analysis tool to also be used inside the mines, meaning it had to work on laptops and without a network connection. Although it was later found that the application was used almost exclusively in offices, the tool became a network-independent and reliable application thanks to that assumption.
The implementation uses the Electron.NET library, which transforms familiar web technologies into an application that can be installed on a laptop. The simulation model is coded with Python, the frontend library is Vue.js, and the backend language is C#. Combining the different technologies has presented its own challenges but enabled many things that have proven to be useful. A good example of this is the program's structure of three sections, all which can also be used semi-independently of each other. This makes it easier to develop and test the simulation model separately from the user interface. With these technology choices, we have been able to combine familiar solutions in new contexts and delve into new ones.
Digging for meaning
In terms of the success of an agile project, the most decisive factor is effective communication — we speak the same language with Sandvik's product manager and end users, interaction is active, and opinions are well-reasoned. Sandvik's open attitude towards the ideas coming from the development team and trust in our expertise has made working easy and rewarding. In addition, Sandvik’s key personnel have received sufficient resources for focusing on the project and have the freedom to make quick decisions. The feedback indicates the software developers have too, enabling independent problem solving.
Since we are working on something completely new and there are no ready answers, the benefits must be constantly clear to all parties. This requires in-depth discussions not only about the overall benefits and effects, but also about the individual development stages. There are no wrong questions or complaints that are too small. This ensures that the development is in the right direction. A truly efficient iterative way of working is transparent — before anything is done, the stakeholders agree, and when things are done, they are presented to everyone.
The most rewarding part of developing the tool has been the feeling that we have done the right things. The feedback has almost always been positive, encouraging and even contained surprise at how much we have accomplished with a small team. As a result, interest in the tool has grown, which in turn has generated new expectations and wishes. Positive feedback creates a constant need to meet growing demand by adapting to the project's goals and operations.
Fortunately, the resources have also grown at the same rate. The increasing interest fuels the desire to continue good cooperation and meet the new challenges without jeopardizing the working atmosphere. Also, realism hasn’t been forgotten during the project — if an idea doesn't work, the direction is adjusted.