Should I use Aras Innovator for Source Code Control?

I am frequently asked whether PLM or specifically Aras Innovator,  can be or should be used for software development.     Here's an answer I emailed in response to this morning's inquiry.  

Aras Corp uses Innovator internally for nearly everything except the basic accounting functions of payroll, accounts payable and accounts receivables,  and we do not use Innovator for the daily check-in, check-out and build of the software development process.     At Aras Corp,  we use CVS as our software repository.  Not because PLM is un-able to model the configuration rules of software source code,  but rather because of the value-add functions that are built on top of CVS that make the software developer more efficient.       This is much the same thought process as CAD vs PLM.    It is possible to construct the complete 3-D mechanical part data model inside a PLM database,   but even if you did,  you wouldn’t use the PLM UI to design 3-D parts.   There are too many value-add functions in the CAD user interface.    The same is true with software.    The commercial software tools  (ie. CVS) include tools that facilitate better software development.  But just like with mechanical CAD,   PLM also plays a supporting role in software development.     Most PLM consultants recommend that the result of the software build be archived in the corporate PLM for good release and version control with the electronic and mechanical aspects of the product.     Software development,  like mechanical design, is a process, needing workflow, approvals, project planning, resource management, and yes, sometimes also corrective actions.   There is significant value in terms of standardization, collaboration, communication to bring all these processes from electronic, mechanical and software development together into a single database, along with the processes and data of packaging, marketing, tooling, manufacturing, logistics, field engineering and supply chain management……  i.e.  an enterprise PLM system.

 

Aras Corp uses CVS for the work-in-process software development of Aras Innovator,   but uses Innovator itself as the software management application.   Our instance of Innovator includes:  Issue tracking (bugs and enhancements), release planning, developer resource planning and tracking, product roadmaps,  documentation management including product specifications through marketing materials, and all of our internal workflows.    But we didn’t stop with just the software development processes;    the training centers world-wide are also managed inside Innovator (class schedules and attendance records),  most of the Aras web site is driven directly from content stored and version controlled in Innovator,  and the system has grown to become a truly innovative CRM and Sales Force Automation application.      

 

Of course, I’ve heard from many of our end-users that ‘anything is possible with Aras Innovator’.   So maybe there is a CVS clone in the works somewhere...        


Posted Mon, Jul 6 2009 8:43 AM by Peter Schroer

Comments

Stuart Hodder wrote re: Should I use Aras Innovator for Source Code Control?
on Wed, Jul 8 2009 4:38 PM

The CAD tools certainly provide task based functionality suited to the mechanical design process, but they can be tightly integrated with the PLM tools.  In this way the PLM system can be used to manage the actual CAD documents and the linkages between them, and to control the change process.

However even though it might be tempting to integrate a product like Visual Studio to Innovator I think it’s much more difficult for the source code management discipline, for the following reasons:

- A typical source code control system only stores the deltas between file revisions, not complete atomic files.

- Normally these are stored in a database with a specific schema optimised for this purpose.

- Support is needed for team oriented collaboration, with revision branching and merging being key requirements.

- Baselining for testing at frequent intervals.

So I see the requirements as too “special” to fit easily into the Innovator schema, and using Innovator just as the backend database probably doesn't make much sense.  However I think that there are significant opportunities for automating the storage of links to the finalised source code (permanently held in the source code repository) from within the PLM environment, referenced by the appropriate part item revision in Innovator.  Also the storage of the final binary code or firmware image as a file in the PLM system is important.  These would allow appropriate PLM users to (a) find the appropriate source code “starting point” in the repository if changes need to be made, and (b) find the appropriate firmware image for burning to hardware.