Many companies seek to achieve an agile development strategy. Sometimes it is not exactly needed and might bring some difficulties (as our CEO Tomas Kratky already mentioned in one of his older articles here). But sometimes an agile-type strategy naturally evolves in the development department. In the third part of our MANTA Cases series, we will take a look at how one of our customers uses MANTA in a (not agile) development team.
One Too Many Patches
One of our customers, an international bank, was using a workshop-type software to release internal production software. Because this internal database software is so complex, they have 10 to 15 patches of code each day between releases. To make sure that the environment doesn’t crash, they have to deploy these patches of code all at once. Each patch of code is created by a different development team, and the individual teams are not aware of the dependencies between their parts of the code. Because of this, the patches were often deployed in the wrong order causing the entire environment to crash.
These crashes often made the deployment process last more than one day, with numerous other patches needing to be developed to fix the problems created while deploying the previous patches.
Understanding the Environment
The patches of code the development team wrote were all improvements to their internal database system (e.g., changing database logic, repairing certain objects, even adding new columns or creating more tables and views). Such patches resulted in changes in paths or even in values within the environment. And given the size of our customer’s database – which contained multiple banking systems, each having an average of 180 thousand scripts – and the amount of data being added to the database each day, it was necessary to perform the 10-15 patches daily.
The only way the customer could keep up with the (not) agile development pace and effectively find the dependencies between the patches was to apply automated software like MANTA.
Now that the customer has MANTA on their development team, they take all the patches that need to be deployed that day and let MANTA run them. MANTA draws out all the dependencies between the individual objects that the patches are related to. Then the customer exports them using MANTA’s API and has an automatically sorted order that it needs to deploy the patches in so that the environment will survive. This has cut the entire deployment down to a couple of minutes and has also made it a one-person job.
This one person now only needs to:
- Gather the patches
- Upload them into MANTA
- Use MANTA to determine the order of deployment
- Order the scripts accordingly
- Release them in that order
Now, the customer can be sure that the patches will be deployed correctly and that it will be done in just a couple of minutes, making the daily-release strategy actually work out every day.
MANTA has been an enormous help to their situation. And well, what can we say: this case is proof that not every development team chooses to be agile. Some just have to adjust their development pace to the complexity of their environment.
Be sure to read more of our MANTA Cases! Any requests? Any questions? Send your comments to firstname.lastname@example.org.