On 08/09/2016 at exactly 5:17 p.m. the time had finally come: the functionalities relating to the new recipe platform for a multifunctional kitchen appliance saw the light of day. At this point, I would like to give you - on behalf of the entire team - a brief insight into our experiences from the last few weeks and months and take a closer look at the reasons for the almost smooth process - from the developer's point of view.
Work on the project began for us more than a year ago under the keyword "cloud". At the time, few of us certainly had a rough idea of what was to come in the coming months. But over time, the two most important people and contacts for us on the part of the customer brought us closer and closer to their vision of digital cooking. A special feature of this project is, of course, the large number of service providers who are responsible for a wide variety of interdisciplinary topics.
Here is a short list: - Development - testing - Operations - ERP - Hosting - Consulting - content - Service management - Support - Project management - Quality management
When implementing the recipe portal, we at communicode take care of the areas of software development, project management, content, support and service management. The number of these areas reflects how central our role is in the client's program ecosystem.
The cooperation with the other service providers works quite well. After such a long time together, we finally got to know each other well enough and coordinated with each other. In the meantime, the customer has also introduced Slack as a central instant messenger, which means that topic-related communication can be conducted efficiently without the usual organizational overhead. In a wide variety of channels, experts exchange information on emerging questions and problems.
The cooperation takes place in an agile development process. Our iterations run in the rhythm of two-week sprints, in which we implement the planned features and make them available on the target systems. For planning, reviews and general meetings, we meet regularly at the customer's site.
That should have been the supporting program for the time being, now some information about the software that we produce for our customers. Essentially, we deliver the following two components: - Ecommerce Suite - Microservices for user generated content
The E-commerce Suite is the actual hybris project, which has been productive since 2013. Microservices for user-generated content hide a large number of functions that we provide for the recipe portal, such as "Custom Lists", "Notes" or "Favorites". Various interesting technologies such as Spring Boot, RabbitMQ, AWS DynamoDB and also the ELK stack are used here.
The launch made some special demands on everyone involved. Since the current production system is a completely new system, it was absolutely necessary to migrate the existing data. Together with the solution architects and the service providers involved, we designed, implemented and monitored this migration. Here, too, we were able to identify and rectify some problems in advance through two dress rehearsals. In addition to a mature migration strategy, the customer also wanted comprehensive launch support from all experts involved (hypercare). In the first week after the launch, the period from 8:00 a.m. to 10:00 p.m. should be covered in a permanent co-location. In order to be able to cope with the hypercare, we in our DEV team organized a roster of two shifts at short notice. This was the best way for us to meet the customer's request for permanent on-site support. The Hypercare was permanently accompanied by about 20 people who exclusively took care of the systems and their condition.
After a total of two field tests, countless test deployments, 38 microservice releases, 100+ e-commerce suite releases, and a whole rainbow of systems, Hypercare started on Monday, August 8th, 2016 with the migration of the existing data to the new production system. The time window for the necessary maintenance (the live page provides information about the current unavailability with a maintenance window) was estimated at 1 PT by the test migrations. The countless steps of the migration plan were completed under our supervision like clockwork. Even sooner than expected, we were able to complete the last step in the migration plan, so nothing stands in the way of the launch. The big goal was reached!
Contrary to the general expectations of the customer, however, the first few days were very quiet. The prescription sticks that have already been delivered still need some time to reach their recipient. Only slowly did the number of activations increase and we recorded a perceptible load on the systems.
Key factors for the successful launch:
- Sufficient time due to delay
- Good organization and communication
- Multi-stage test phases including load and stress tests
- Complex test suite (code coverage > 80%)
- A functioning release management
- Extensive monitoring, logging and profiling
- Overall the launch after IOS app and web app
Now that the launch has been successfully completed, we are already dealing with the upcoming requirements for our team. This includes, for example, the development of a knowledge base for 2nd level support.