SCMWise.com

Source Code Evaluation


Source Code Evaluation

In Software Configuration Management, one of the most common asked questions is what SCM source code tools should I use.

The answer is, it depends on your source code evaluation criteria.

There are so many variables and considerations that go into the selection process.

Now, the evaluation may be slightly different depending on your software development team and management requirements.


Version Control Software Considerations
  • Costs
  • Development Processes
  • Tool Functionality
  • Performance
  • Usability
  • Administration


Costs

Most only focus on the licensing costs of the particular tool, but there are more associated costs that go into figuring out the true costs of a source control tool. I will attempt to list a few of them, but you should consider this only a jumping off point.

  • Licensing and vendor support contracts
  • Server and storage costs
  • Tool administration costs, such as dedicated admins and training
  • Process supportability costs



Development Processes

Obviously, you must know and understand your software development environment and processes before deciding what your source control tool requirements should be.

Yet, many make the mistake of trying to find the right tool and then forcing their development team's process into the tool. This is a painful and often losing battle.

First off, if your developers do not like using the tool[s], your life will be miserable.

Document your software development process requirements and pick a tool that supports it.


Tool Functionality

There are many pieces to this category. Here is a list to consider:

  • Parallel development will require decent branching and merging facilities
  • Distributed development teams will require multiple site support
  • Multiple development platforms will demand an interoperable source control tool
  • Tool integration requirements

Understanding your development team's Software Version Control Tool Functional requirements will greatly help in your source code evaluation.

It will give you the right background when selecting the right Software Configuration Management Tool.


Performance

This seems to be a very simple issue from my perspective, but for whatever reason.

If a tools performance is a any hindrance in the development of software, it should be replaced with a better performing tool as fast as possible.

Do not waste valuable developer and engineer time with a poor performing tool.

Nothing will destroy the morale of a development team than a 5 minute check-in or a tool operation that requires them to stop and wait for an unreasonable amount of time.


Usability

Usability is the . I have supported almost ten different source control tools over my career.

I have seen an organization determine that a tool was not intuitive and I have seen other development teams determine that very tool to be the most intuitive.

I realize that different companies will have a diverse sent of developers with different skill sets and different backgrounds, but the above example was of two companies working on the same platform and similar processes.

I find this requirement to be the most subjective.

That is all I have to say on Usability.


Administration

Now I realize I have already called out administration and training in the cost section, but I really want to emphasize the tools administration requirements as a true consideration in the tools selection process.

For instance, if a tool because of security reasons or difficulty of use requires to have an admin perform certain tasks, such as labeling or merging.

This tool may be a very expensive tool from a resource consumption perspective.


Source Code Evaluation Conclusion

Choosing the right Version Control Software for your company will depend heavily on your source code evaluation of the above criteria.

Honestly assessing your specific situation will greatly aid in your Version Control selection.


Version Control

Version Control is a system or tool that captures the changes to a source code element: file, folder, image or binary.

This is beneficial for many reasons, but the most fundamental reason is it allows you to track changes on a per file basis.

For a deeper dive into Version Control


Version Control Software

Version Control Software is an overview of the features and concepts of a few of the more commonly used Open Source SCM Tools, Subversion, Bazaar and Git.

For more information about Source Code Evaluation and Version Control Software


Software Configuration Management Tools

SCM Tools is a list of the more popularly used Software Configuration Management Tools.

The plan is compile an exhaustive list of tools and rate them according to their usability.

Software Configuration Management Tools


Software Configuration Management Tool Reviews

Please share your Software Configuration Management Tool experiences and reviews!

Or

Read what other think of their Software Configuration Management Tools.

SCM Tool Reviews



Version Control Software Table of Contents

Software Version Control Software Version Control is a software system designed to track changes to individual files and directories. It's primary function is to facilitate, track and help organize changes to constantly evolving software systems.

Source Code Source Code is the intellectual property of an organization. Understanding and properly protecting this valuable asset is one of Software Configuration Management's highest priority.

Source Code Administration Source Code Administration is an important aspect of SCM. Ensuring wise and effective administration to your companies source code is vital to your organization's success.

Source Code Branching Most software projects will invariably require some efforts to be done in parallel. Large software projects require many roles to be filled, developers, architects, builders, testers and managers.

Software Baseline The goal of the baseline is to uniquely identify each version of a software component or application, and to facilitate detection and correction of configuration errors.

Source Code Evaluation In Software Configuration Management, one of the most common asked questions is what SCM source code tools should I use. The answer is, it depends on your source code evaluation criteria.

Source Control Source Control is a system or tool that versions the changes to a source code file. This is beneficial for many reasons, but the most fundamental reason is that it allows you to track changes on a per file basis. The typical tools used for versioning are called version control tools, software configuration management tools, or content management tools.

Version Control Version Control is a system or tool that captures the changes to a source code element: file, folder, image or binary. This is beneficial for many reasons, but the most fundamental reason is it allows you to track changes on a per file basis.

Version Control Software Version Control Software is an overview of the features and concepts of a few of the more commonly used Open Source SCM Tools, Subversion, Bazaar and Git.

SCMWise Home SCMWise is dedicated to Software Configuration Management. This site is a central repository for the collection of best practices, processes, methodologies and tools that surround SCM.


Software Configuration Management Tools Table of Contents

Software Configuration Management Tools Software Configuration Management Tools are the tools and utilities used in administering source code, building software, install packaging, defect tracking, change management and managing software configurations.

SCM Tools SCM Tools is a list of the more popularly used Software Configuration Management Tools. The plan is compile an exhaustive list of tools and rate them according to their usability.

SCM Tool Reviews SCM Tool Reviews are a place to read reviews of software configuration management tools. Share your experiences with SCM tools. These reviews can benefits others who are searching for information.

Software Build Tools Software Build Tools is a collection of tools used to create automated software builds. This list is growing and the functionality of the tools is expanding.

Software Build Tool Reviews Software Build Tool Reviews is a place to come read reviews of software build tools. If you script software build tools, please share your experience with others.

Software Installation Tools Software Installation Tools is a collection of Install Packaging tools. These tools are used in simplifying and automating the installation or deployment of the application.

Software Installation Tool Reviews Software Installation Tools is a collection of Install Packaging tools. These tools are used in simplifying and automating the installation or deployment of the application.

Software Tracking Tools Software Tracking Tools are the tools and utilities used in tracking software changes, defects and software development progress.

CruiseControl CruiseControl is an open source tool setup specifically to perform continuous integration software builds. This page is high level overview of CC and its functionality and benefits. Software build tools like CC are an integral part of your Software Configuration Management System.

CruiseControl.Net CruiseControl.Net is an open source tool that facilitates the integration of software builds. This page is an overview of the CC.Net Tool and Process.

InstallShield Installer InstallShield Installer simplifies the process of creating reliable Windows Installers, MSI, packages and InstallScript installers for Window systems. InstallShield is the defacto standard for MSI installations.

Maven Maven is a tool that can now be used for building and managing any Java-based project.

Source Code Evaluation Source Code Evaluation -- In SCM, one of the most commonly asked questions is what SCM source code tools should I use. The answer is, it depends on your evaluation criteria. There are so many variables and considerations that go into the selection process. Now, the evaluation may be slightly different depending on your software development team and management requirements.

Subversion Subversion is the fastest growing SCM Source Control Tool. The goal of the SVN project was to build a source control tool that fixed many CVS limitations.

Subversion Commands Subversion Commands is a list of useful SVN tips and tricks for administering and managing your Subversion repository and application source code.

Team Foundation Server Microsoft's Visual Studio Team System 2008 Team Foundation Server is an integrated collaboration tool server for Visual Studio Team System. It combines software build management, software development process model, team portal, version control, work item tracking, and business intelligence into a unified server. TFS allows better team collaboration in an effort to ensure better quality software.

TFS Commands TFS Commands is a list of useful Team Foundation Server tips and tricks for administering and managing your Team Foundation repository and source code.

TFS Licensing TFS licensing can be very confusing. Even though Microsoft has published much about this topic, many have unanswered questions. This page hopes to answer some of these questions.

Trac Commands Trac Commands - This page is a list of common Trac administration tasks and commands used to administer and support Trac databases.

VSS Commands VSS Commands - This page is a list of common VSS administration tasks and commands used to administer and support Visual SourceSafe, VSS History, VSS Admin Add.

Wise Installer The Wise Installer simplifies application and patch deployments through automation of software packages.






SCMWise Preferred Partner

SBI! 2.0


SCMWise Configuration Spec



SCMWise Recommends

Site Build It!


XML RSS
What is this?
Add to My Yahoo!
Add to My MSN
Add to Google


© Copyright 2007 - 2013
Powered by Site Build It!
Page copy protected against web site content infringement by Copyscape SCMWise.com's Privacy Policy
ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb