Why?

Through our analysis of customer needs, we identified file synchronisation (myCloud Desktop) as one of the next important features for myCloud at an early stage:

  • All files are always up-to-date and available on every computer and mobile device.
  • New and changed files are uploaded from the computer to myCloud.
  • If a file in myCloud is more up-to-date than on the computer, it will be downloaded.
  • Files are also available 'offline' with automatic synchronisation when back online.
  • All data is stored securely and indefinitely in Switzerland.

What is challenging about it?

The task of myCloud Desktop is therefore to keep files up to date on all users' computers and to back them up in myCloud. That sounds simple, but unfortunately it's not:

  • If a computer is offline, the changes cannot be synchronised and users are working on potentially outdated data.
  • If users edit a file with Word, for example, it is locked and cannot be updated.
  • The transfer of a file can take several minutes, during which time the same file can be changed again.
  • And much more...

How was myCloud Desktop developed?

In 2016, we had the idea that myCloud Desktop should check at short intervals whether a file had been newly created or changed on the computer or in myCloud. The differences between the respective states were then transferred so that the latest version of each file was available on both the computers and in myCloud. This approach proved to be too slow in practical tests and severely impaired the user experience.

Based on this experience, two Swisscom colleagues worked hard to develop a fully functional prototype for myCloud Desktop in just a few weeks. The prototype was event-based, meaning that every change on the user's computer or in their myCloud account was synchronised immediately. The prototype thus achieved a high speed very early on and promised a good user experience.

We now had two ideas and solutions and had to make a decision:

  • The previous solution was much more mature and the delivery would have been less of a risk.
  • The new prototype was fast and promised a lot, but was still a long way from being a finished product.

However, the framework conditions were clear: we needed myCloud desktop by March 2017.

We therefore decided on a "horse race", so that the best solution would win!

For the first sprints, we therefore defined tough milestones that the respective teams had to achieve with the new prototype and with the previous solution. In the sense of "fail fast", a solution was ruled out if the milestones were not reached.

After the first sprint, both solutions met the milestones. However, the Swisscom team's high quality and development speed were so convincing that the new prototype was chosen as the basis for myCloud Desktop.

The joint task welded the team together and spurred them on to top performance, so that the milestones from November 2016 to March 2017 and thus the release plan for myCloud Desktop could be met.

Wie funktioniert myCloud-Desktop?

The choice of Electron for the application and Java for the logic has proven itself, as many platform-specific functions such as the status icons or the automatic update can be implemented with little effort.

What have we learnt?

  • User needs must determine the prioritisation of features.
  • Agile development methods motivate the team, help them to focus on the essentials and quickly correct undesirable developments.
  • Short one-week sprints allowed us to make short-term directional corrections in the first few months thanks to the rapid feedback. The consistent vertical sharing of user stories was an important prerequisite for the success of the short sprints.
  • Retrospectives and "fail fast" are important. If targets are not achieved, countermeasures must be taken in the short term.
  • Scrum has proved its worth in feature development, while Kanban seems more suitable for operations and maintenance.
  • The consistent but considered use of existing open source components was more efficient for us than developing and maintaining these components ourselves.
Abdurixit Abduxukur

Abdurixit Abduxukur

Cloud Solution Architect

More getIT-articles

Ready  for  Swisscom

Find the job or career to suit you. A career where you can make a difference and continue your personal development.

What you do is who we are.

Go to careers

Go to current cyber security vacancies