Seven Steps for Choosing a Software Confi guration...

10
Selecting a software configuration management (SCM) system isn’t easy, especially with the changing face of today’s product development arena. And what worked well years ago could today be holding you back. So we’ve put together seven easy steps to help you assess your needs and choose the right tool for the job. Seven Steps for Choosing a Software Configuration Management System

Transcript of Seven Steps for Choosing a Software Confi guration...

Selecting a software confi guration management (SCM)

system isn’t easy, especially with the changing face of today’s

product development arena. And what worked well years ago

could today be holding you back. So we’ve put together seven

easy steps to help you assess your needs and choose the

right tool for the job.

Seven Steps for Choosing a Software Confi guration Management System

2

DETERMINE WHETHER YOUR CURRENT SCM FITS YOUR PURPOSE

Don’t settle for the status quo, especially if you:

¢ Are expanding with globally distributed teams

¢ Need to deliver more quickly and more often

¢ Have to coordinate the entire DevOps pipeline

You may be reviewing your existing development and operations tool

chain to speed up your delivery process, adopt DevOps or move to

Continuous Delivery practices.

Perhaps you’re working with a partner who requires a diff erent SCM

system.

Is your team growing, building more complex products, or extending

globally? Do your developers want to use tools such as Git but you

don’t want to compromise your security and visibility? Does your tool

allow for the fl exibility of both distributed and centralized version

management?

Here are other factors to consider: Are you using multiple SCM tools

and you want to standardize on one to reduce risk, complexity and

costs? Are your existing tools old and lacking a clear road map for

future development?

If any of these issues apply, now is the time to re-evaluate where you

stand and choose the best SCM tool for your present and future needs.

You may be worried that such a change is expensive in terms of

potential lost productivity, migration pain or administrative overhead

– to say nothing of licensing, training or hardware expenses. This

guide will help you to understand your needs and help get key decision

makers on board when choosing the right SCM tool for you.

1

potential lost productivity, migration pain or administrative overhead

– to say nothing of licensing, training or hardware expenses. This

potential lost productivity, migration pain or administrative overhead

– to say nothing of licensing, training or hardware expenses. This

potential lost productivity, migration pain or administrative overhead

– to say nothing of licensing, training or hardware expenses. This – to say nothing of licensing, training or hardware expenses. This

guide will help you to understand your needs and help get key decision

makers on board when choosing the right SCM tool for you.makers on board when choosing the right SCM tool for you.makers on board when choosing the right SCM tool for you.makers on board when choosing the right SCM tool for you.makers on board when choosing the right SCM tool for you.makers on board when choosing the right SCM tool for you.

potential lost productivity, migration pain or administrative overhead potential lost productivity, migration pain or administrative overhead potential lost productivity, migration pain or administrative overhead

3

ESTABLISH YOUR SCM AND VERSIONING REQUIREMENTS

What concerns are specifi c to your Industry?

¢ Compliance or auditing

¢ Protecting the intellectual property (IP) embedded within your software or other digital assets

¢ Component-based development

¢ Confi dentiality

What tools will integrate with your SCM system?

¢ IDEs (e.g., Visual Studio, Eclipse)

¢ Design tools (e.g., Adobe Photoshop, Maya 3D)

¢ Defect-tracking tools

¢ Continuous integration and build management

¢ Release or deployment management

What types of assets will you version in your SCM system?

¢ Artwork

¢ Chipset designs

¢ Source code

¢ Confi guration and automation scripts

¢ Video, graphics or audio

¢ Binary fi les or artifacts from a build system

¢ Business documents

¢ Entire production or testing environment virtual machines

What are your collaboration needs?

¢ Integration of open source components

¢ Teams distributed across geographic locations

¢ Outsourced development

¢ Contributors, such as designers or authors, whose workfl ows differ from those of coders

¢ Distributed version control system (DVCS) features

It’s time to quantify: How big are your company, team and codebase? How many products are you dealing with and how often do you release them? Are all your contributors in a single location or are they distributed across multiple continents? How many globally distributed teams do you have? Are you outsourcing development? Use the following list as a starting point for requirements in your SCM.

2

Defect-tracking tools

Continuous integration and build managementContinuous integration and build managementContinuous integration and build managementContinuous integration and build management

¢

Continuous integration and build managementContinuous integration and build management

Release or deployment management¢¢

Continuous integration and build management

Defect-tracking toolsDefect-tracking tools

Continuous integration and build managementContinuous integration and build managementContinuous integration and build managementContinuous integration and build managementContinuous integration and build managementContinuous integration and build managementContinuous integration and build management

Release or deployment management

Continuous integration and build management

Release or deployment managementRelease or deployment managementRelease or deployment management

Continuous integration and build managementContinuous integration and build managementContinuous integration and build management

4

DEFINE THE USERS... AND CHOOSERSTraditionally, the choice of version management was left to software developers, its primary users. Today, however, companies increasingly must version other types of digital assets, which means many other roles may need the versioning service.

Who will use version management, either now or in the future? Consider whether you currently experience any diffi culties transitioning products among the following roles, and identify which ones will be using your SCM system:

¢ Software developers

¢ Build and release or DevOps engineers

¢ Quality assurance

¢ Designers, artists, animators, musicians, writers

¢ Management

¢ External contributors

Each of these roles will have a preferred interface, tools and workfl ow for interacting with the SCM, be it via Git, a GUI or a seamless plug-in. Each role may also require diff erent levels of training and support.

Consider the security requirements for your SCM tool. The tool will be storing your valuable IP, so security teams must be included in your selection process. You should also prefer a system that provides fi ne-grained permissions and enterprise-grade access control and off ers advanced protection, such as spotting dangerous activity.

What pain points are you currently experiencing? How do these diff erent user roles interact with the SCM throughout the product lifecycle? To answer these questions related to users and choosers, interview a diverse cross-section of staff or invite a few representatives to meet and form an

SCM tool selection team.

It’s a helpful exercise to determine your buying criteria. What are your must-have capabilities? Also, consider ease-of-use criteria and how the tool will enhance productivity for your team.

3

It’s a helpful exercise to determine your buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have capabilities? Also, consider ease-of-use criteria and how the tool will enhance capabilities? Also, consider ease-of-use criteria and how the tool will enhance criteria and how the tool will enhance criteria and how the tool will enhance criteria and how the tool will enhance criteria and how the tool will enhance productivity for your team.productivity for your team.productivity for your team.productivity for your team.

related to users and choosers, interview a diverse cross-section related to users and choosers, interview a diverse cross-section related to users and choosers, interview a diverse cross-section related to users and choosers, interview a diverse cross-section of staff or invite a few representatives to meet and form an

It’s a helpful exercise to determine your It’s a helpful exercise to determine your buying criteria. What are your must-have It’s a helpful exercise to determine your buying criteria. What are your must-have It’s a helpful exercise to determine your buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have buying criteria. What are your must-have capabilities? Also, consider ease-of-use criteria and how the tool will enhance capabilities? Also, consider ease-of-use criteria and how the tool will enhance criteria and how the tool will enhance productivity for your team.criteria and how the tool will enhance productivity for your team.productivity for your team.productivity for your team.productivity for your team.productivity for your team.productivity for your team.

5

EVALUATE VERSIONING SOLUTIONS AND VENDORSChoose three to fi ve vendors. You could choose more, but it’s likely you’ll lose enthusiasm for the process if you do so. Besides, you probably won’t have time to look at more.

Fewer than three vendors can also be problematic because it may inspire questions down the line about how the decision was made. Having three to choose from in the fi nal analysis is helpful for ranking good, better and best.

In fact, depending on the politics of your organization and your decision-making style, you may consider putting your preference as the middle option if there’s a tendency toward moderation.

Appraise Open Source or Free Software If you’re considering an open source product or one that is available free to download, it can be very quick and easy to start your evaluation. Just download and go.

But don’t let this ease fool you into thinking the rest of the evaluation can be skipped. You’re looking for a tool to protect your organization’s valuable IP; that protection and business needs should be high priorities even if the initial license appears to be free.

Schedule demos Provide requirements and processes in advance to ensure that the demo addresses your needs. While you could skip this step and go straight to free trials, demonstrations have the advantage of putting faces to the software and giving you a sense of what interacting with the vendor will be like, both from a business standpoints and in terms of support.

Calculate ROIA return-on-investment calculation helps you compare vendors and sell your fi nal choice internally (as well as defend it, if necessary, from future cost-cutting eff orts). ROI assessments need to consider all the costs of the various options, not just license and maintenance fees. Open source tools may be available for “free,” but enterprise levels of security and reliability may require additional tools whose costs should not be overlooked.

Ensure that you also include all hardware and personnel costs to administer the systems, such as the eff ort necessary to apply updates to the software, build and maintain backup and HA/DR environments and train staff . On the fl ip side, assess all the benefi ts that may be accrued in terms of productivity

4

6

and quality improvements. To assess the vendors you are considering, the Forrester Total Economic Impact (TEI) methodology is a good one

Try ItYou may want to start a pilot team with a new tool at this point, or ask diff erent stakeholders to evaluate diff erent tools simultaneously and report back. Check the options for access control: Does the tool match the security requirements you identifi ed earlier? Consider how you will migrate your existing assets into the new tool. Try backup procedures and validate that recovery and restore procedures are suitable.

Check supportIn light of how important a role your SCM system will play, it’s essential to have top-notch support. What do others say about the support off ered by your candidate vendors? Remember, too, that tool vendors today provide not only support but also community, training, best practices and consulting. Check the vitality of the “ecosystem” around the tool in terms of third-party integrations, consultancies, customer-built mods, forums and more. If you’re considering a free or open source off ering, who will be able to provide assistance? How much will it cost and how readily available is it?

Run a PilotChoose a pilot project that is a good refl ection of how you intend to use SCM with a mix of content types and contributors. Pick a project that can show progress in a reasonable time. Look for the quick wins, but don’t forget those tricky instances that might be an issue later. Work with the vendor to agree on and execute the pilot. This could be a great opportunity to identify some champions for your project within your organization.

Collect EvidenceGet clarity on hardware and network requirements. Be certain your security and IP protection needs will be met. Review case studies and contact users of the tools you are assessing.

Review Purchase TermsAsk for a clear explanation of the licensing, fl at fee, subscription or other payment model. Consider deployment options: Are both hosted and on-premise choices available? Does the price include free upgrades? How much will support cost? Are charges predictable as usage expands?

and quality improvements. To assess the vendors you are considering, the Forrester Total Economic Impact (TEI) and quality improvements. To assess the vendors you are and quality improvements. To assess the vendors you are and quality improvements. To assess the vendors you are considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI)

You may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this

and quality improvements. To assess the vendors you are considering, the Forrester Total Economic Impact (TEI) and quality improvements. To assess the vendors you are considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI) considering, the Forrester Total Economic Impact (TEI) methodology is a good onemethodology is a good onemethodology is a good onemethodology is a good onemethodology is a good one

Try ItYou may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this You may want to start a pilot team with a new tool at this point, or ask diff erent stakeholders to evaluate diff erent tools You may want to start a pilot team with a new tool at this point, or ask diff erent stakeholders to evaluate diff erent tools point, or ask diff erent stakeholders to evaluate diff erent tools simultaneously and report back. Check the options for access control: Does the tool match the security requirements you control: Does the tool match the security requirements you control: Does the tool match the security requirements you

methodology is a good one

7

ASSESS THE ENVIRONMENT

Before signing the contract, take one last step: Look around. What tools are similar companies in your market using

for enterprise version management? Consider if they’re all stuck in a rut such that using a modern SCM tool could

be your competitive advantage. For example, perhaps it would enable you to adopt Continuous Delivery while

everyone else is stuck in the past.

Look for relevant case studies. Talk to other users. What do they say about the tools, the support available and how

they see their usage changing in the future? What has their relationship with the vendor been like? How has the tool

helped them achieve their goals?

Where available, use analyst reports to gauge the strength and staying power of the vendor. Few analysts publish

SCM-specifi c reports, so look at reports on related topics, including Agile methodology, DevOps and Continuous

Delivery. If you have a subscription with an analyst fi rm, get its assessment of the options being considered.

See how Salesforce.com uses Perforce to scale their infrastructure to support hundreds of scrum teams, build farms, compliance, and more. [Watch video]

Salesforce.com uses Perforce to enable rampant growth

5

8

CHOOSE YOUR PLAN, PLAN YOUR LAUNCH

Once you’ve selected a tool, don’t fall prey to “shelf-ware syndrome.” All too often, new software is underutilized or never even installed, making it a true waste of money and effort.

You’re probably going to migrate assets and history from an existing SCM system to the new tool. Ask the vendor for guidance and assistance. Read case studies from organizations similar to yours to learn how best to plan the migration. Ask yourself: How complete can the migration be?

The temptation might be to migrate your complete history but consider what you actually need. Is it really important to migrate code from a decade ago? Or would it make more sense to focus on bringing the current project to market?

Don’t underestimate user training either – build a plan for it. Many have found the move to Git difficult because it uses a different branching model. Include this transition in training. The best option might be to move to a tool that allows users to adopt Git for their local client if they wish while allowing other users to stick with more familiar workflows and tools. Your chosen SCM tool should allow this level of flexibility.

Schedule the rollout and training for each type of SCM user. Be sure to revisit users periodically after training to check compliance. View the new tool’s use as an organizational habit to be formed and encouraged. Look for what cues or obstacles could block adoption as the rollout begins. Request frequent feedback from users and make changes accordingly. As use of the new tool grows, look also to improve workflow and learn from industry best practices observed in steps 4 and 5.

Case StudyAmdocs’ successful SCM migration resulted in cost savings and increased productivity. [Read the case study]

6

9

CONTINUOUSLY IMPROVE

Once you’ve completed the purchase and the first migration, what’s next? Remember that systems do need attention to ensure that they remain fit for purpose and continue to support changing business needs.

Obviously, ensure that your chosen tool is regularly updated with maintenance releases. Evaluate new functionality to see if it can help drive your competitive advantage. Stay in touch with your vendor for road-map news so you can plan future upgrades (if the vendor can’t provide road maps, then perhaps you haven’t made the best choice).

Keep improving. Continue updating users on best practices and new features. Check if the vendor runs regular training or technical sessions to update users, and attend as many as you can (most are available “on demand” these days).

7

SUMMARY

Version management today is at the heart of modern product development practices, including DevOps and Continuous Delivery. Check where you are on the Forrester/ThoughtWorks Continuous Delivery Maturity Assessment Model and aim for the next level.

Ultimately, there should be no limit to your expanding vision of how version management can streamline organizational processes. Maintain a conversation not only with your vendor but also with the community by contributing to user conferences or suggesting features or case studies.

Celebrate a successful partnership with your version management provider, and you’ll enjoy the fruits of a wise selection of your SCM tools for years to come.

North AmericaPerforce Software Inc.2320 Blanding AveAlameda, CA 94501USAPhone: +1 [email protected]

EuropePerforce Software UK Ltd.West Forest GateWellington RoadWokinghamBerkshire RG40 2ATUKPhone: +44 (0) 1189 [email protected]

AustraliaPerforce Software Pty. Ltd.Suite 3, Level 10221 Miller StreetNorth SydneyNSW 2060AUSTRALIAPhone: +61 (0)2 [email protected]

perforce.comCopyright © 2015 Perforce Software Inc. All rights reserved. All trademarks or registered trademarks used herein are property of their respective owners.