1. 程式人生 > >Help! My company doesn't know how to use Git for production ready releases

Help! My company doesn't know how to use Git for production ready releases

My company is still widely using CVCS (Central Version Control Systems) tools mostly SVN. We've just now been slowly integrating Git into our department.

Our SCM (Software Configuration Management) team audits our production ready software releases, verifies tickets are being reviewed/closed, ensuring instructions for recreating the release are clear and other tasks alike. Our company uses this tool called "Agile" that is largely responsible for maintaining the lifetime of a product we design along with its documentation, datasheets, bill of materials, and many other items including "software".

Agile was explained to me as a database tool that (very loosely defined) works well with more hardware related products. Before wide adoption of DVCS (Distributed Version Control Systems) like Git and ticketing tools like JIRA, Agile and CVCS (Centralized Version Control Systems) tools like SVN have always been the way software and production ready releases were and are (in the case of my company) managed/controlled.

The point here is that our SCM has been the sole owner of how new tools for software control/management are to be used in coherence with our companies processes and industry standards. Tools like, Git/JIRA, serve the developer thus bringing a new era of how we control and manage software. So far the recent adoption of Git in my company (not so much JIRA) has received not the most favorable greeting. This largely because it's severing SCM more than the developer(s). Why should SCM own this and/or decide it's usage or better yet why can't the software team be in control?

Am I alone here? Is this a trend anyone else has seen? Should this impose change on our SCM team or only invite parts of it? If so how can a junior developer help in delivering this change when surrounded by senior level engineers. Has my padawan self missed something crucial in understanding here? I get it, this is the way industry life works but it shouldn't have to be.

To me Git is a powerful development tool allowing flexibility in a distributed environment (or a central one as well), improving a teams workflow thus their productivity, team collaboration & cohesiveness, among several other attributes. Nothing against our SCM team but I feel if Git becomes more of a SCM tool it will significantly degrade it's true advantages and main intention as a DVCS (Distributed Version Control System) tool as well as drive away new talented developers.

What are your thoughts?