If I have to choose the most interesting project in which I have ever worked, this is it.
Everything started in 2007, with the inquire of a customer with whom we had been working for many years already. This client was based in Texas and he had received a request for proposal from Nissan Mexicana for a system called Broadcast Codes Administrator. The system was for the plant that Nissan has in Aguascalientes, Mexico.
The purpose of the system was to allow the Specifications Department to administer the Part Codes sent to the production line, each time a car entering in the trim shop.
Their old system only allowed 60 parts per vehicle. We increased that capacity to 2000 codes in 2008 and then to 4000 in 2013.
Aparte, we added the capacity to substitute parts, a process that was very hard to do with the previous system and that caused a lot of delays in the production line.
The discovery process
Our customer travelled to Buenos Aires and he stayed for 1 week in the city. We met with him every day of that week analyzing the RFP and the project.
We created diagrams to validate our understanding and we documented everything. We had a few calls with Nissan to clarify very technical concepts and very specific to their business operation.
At the end of this intense work week we had a quite well defined Software Requirements Specification document. We suggested we could build a prototype for my client to present at Nissan the following month, in the opportunity of a business trip.
We created a quick prototype and obtained very valuable feedback from that. With that information we created new documentation requested by Nissan, a more detailed Requirements document and a Software Design document.
During that time we also started the development of some areas of the project that were well defined.
I also travelled to Mexico for one week after that to present all the documentation we had created. We met with all the involved personnel there almost all day during one week. I presented the project and the proposed design and I received valuable feedback. We also planned how the installation and migration of their previous system was going to be.
After that trip, I get back to Buenos Aires to finish the project. It was a month of hard work but we have a tight deadline.
I travelled again to Mexico, this time to perform the final installation, training and support. It was almost 4 weeks there and this time I travelled with another of my developers.
After the successful launch of the system, in March 2008, we continued supporting the plant, and we released a whole new version in 2011 and another in 2013.
In 2011 we installed the same system at another Nissan plant in México, Cuernavaca, and in 2013 we installed it at the second plant in Aguascalientes.
Requirements
The Broadcast Codes Administrator system was required in order to increase the number of parts that the current systems at the plant were able to manage.
At the time we received the requirement, the existent legacy systems at the plant were able to manage only 60 part codes per vehicle.
The plant had the need to increase these value but also have the ability to perform changes in real time to the codes that were configured from the corporate office, in order to replace parts that are equivalent or to make requested changes to the vehicles configuration.
The system also needed to know what parts each vehicle have by default. This information varies every day, according to the corporate office information. So it was needed to automate the input of this information in the system.
The most important part of the system was the communications module which had to receive the realtime information of the vehicles in the different points of the plant, perform the replacement of the codes and then broadcast this information to the other various systems and printers.
It was also important to log all the information that wen through the system, from vehicles information, to parts used in each vehicle, and actions of the users like who made each change, who dismissed an alert or who activated the data files each date.
Solution
In order to automate the input of the information for the planned production for each day, the vehicles specifications and the parts for each one, we developed various Windows services that detect when the new files for each day production are copied to a special folder, from the corporate office. This information is read from the files and stored in a database with the proper normalization.
The administration of this information is made with a web application called MACS WEB. This application allows users to review the data received for the vehicles, perform all types of queries and make changes to the part codes, if necessary.
For example, the users can search for a specific set of vehicles that share certain features, by color, position of the driving wheel, transmission type, etc. and apply the changes only to that set of vehicles.
The changes then can be programmed to be applied for a certain number of vehicles in the line, leaving an offset at the beginning and even serialize any number of changes one after the other.The query screen also allows filtering by the detail and export the data found.
This application also allows the users to perform administrative tasks and configuration.
The most important part of the system is the communications module. This is also a Windows service. The communications module is in charge of the reception of the information of each vehicle as it passes through the different achievement points in the plant. This module then communicates with a MACS web service in order to obtain the correct parts for the vehicle. With this information, the MACS constructs a new message, and sends it to the other systems in the plant, according to how it was programmed.
Installation
Centraldev also helped actively in the installation and startup of this and other systems in the car plant, in Mexico.
Task performed during the installation included:
- Installation of the systems developed by us.
- Configuration of the systems under Windows 2013 Failover Manager.
- Configuration of the system under Network Load Balancing under WIndows 2013.
- Technical support during the startup of the system and during the first weeks of use in site.
- Monitoring of the system and server performance.
- Training the plant personal.
- Changes and corrections until the acceptance.
Technologies used
This project makes use of various technologies: C#, ASP.NET MVC, .NET Framework, JavaScript, jQuery, BootStrap, WCF, SQL Server 2012, and more.
The result
Since the MACS resulted so easy and flexible to manage, it soon became a very important tool of the day to day operations of the plant. The system was designed in order to make it easy for other systems to integrate to it and consume the data it manages and at this time, the information that the MACS generates is shared by four other systems at the plant.
From 60 parts that the old system could manage at the beginning, the new system is now able to manage 4000 parts and also allows changes and historical records, among more than 50 new features.