mercredi 1 avril 2015

Version Control System

Let me ask you a question : "How do you manage your SQR files ?"

By how to manage SQR files I mean how to track modifications and modifiers to the SQRs.

Let me start with an example :

At one of my employers, there was only one Unix account every developer would use to access to the SQRs.  The rule was simply to login with this account, and modify the SQR; of course, people prefer to download it to their desktop, and then to upload it back to the server.  But one day, for some reason, someone forgot to download the current SQR to his desktop, took the one already present and overwrote the existing version on the server... that manipulation erased some changes that occurred since the first upload... Including tax updates improvement.  The company lost money because of this...

I propose to use SVN, a control version system, which is by the way used by other developers (Java / Web  developers) in the same department of IT.  But those developers, younger, work with new technologies, they document in a wiki, and use Scrum / Agile methodologies, whereas the Peoplesoft team is from old school.  At first, the boss is interested, but when she understands if a person really wants to commit without comparing with previous version and no-one makes checks after, the same problem may occur, she decided not to go forward.  She thought it would have been to difficult for "dinosaurs" to understand how to manipulate such a tool (even using Tortoise), and she didn't see the advantages to track modifications.

At another employer (or client), the method is relatively the same, except that they wanted us to rename a vanilla SQR with a prefix in front of it so their infrastructure team would see the SQR is custom.

At CGI, the SQR were managed by Stat, a migration tool... I found it complicated, but knowing the size of CGI, that may be the reason.

At my current employer, we have some paths that enables us to prioritize a custom SQR instead of a Vanilla one.  The SQRs are managed by Phire, a ticket software based on Peoplesoft, which is also used to migrate between environments.  It copies the SQR from one environment to another, but it seems complicated to track changes... and one day I noticed the infrastructure team put in prod a SQR not up to date... another story :)

Before working in Peoplesoft, I worked in PLM (Product Lifecycle Managment), which was C++ development to be short.  I worked at Boeing, and code was really well managed.  Boeing purchased a tool named ClearCase, which would track all of the sources and properties files.  Before modifying a file, we had to reserve it; of course, we could work on files without reserving them, but when the time to commit changes came, we could have to manage potential merges with the developer who had reserved the file.  It was always easy to know who modified what.  We were part of a large team, at least 30 developers, so there was a CleareCase administrator who would deploy different branches of the repository in different developing/testing environments.  Everything worked like a charm, even if it was a bit complicated at the beginning.

To be continued...

Aucun commentaire:

Enregistrer un commentaire