Home > Articles

Planning Your ClearCase Deployment

This chapter gives a bird's eye view of decision-making, and asks the questions, "Just how different is your decision-making process from consulting tea leaves or a crystal ball?"
This chapter is from the book

How often do you visit fortune-tellers? Not many of us make a habit of visiting the local palm reader before making major software decisions. But how much different is a visit to the friendly neighborhood soothsayer compared to many of the "shoot from the hip" decisions we make? If you're about to implement a very large ClearCase solution, you might find yourself cutting corners in the name of time. How different is corner-cutting from fortune-telling? Let's hear the rationalizations: You manage a team of smart, competent people who should know exactly what they're doing, right? The software comes with full documentation, and the default install process is fairly simple, right? The new software should plug right into your team's existing infrastructure and development processes, right?

Since we're leaving so much of your future to fate, let's look at your options from a fortune-teller's perspective: Down one path we see pain, misfortune, and possibly failure. This might equate to poorly defined requirements, improperly defined handoffs and procedures, and a nonscalable architecture. Down another path, we see hard work but smart management of your intellectual property assets and, ultimately, success.

Designing and building a software configuration management solution is much like following the counsel of a palm or tarot card reader if you don't plan for it: without proper planning, you're letting fate decide your success. Remember the old adage, "If you fail to plan, you plan to fail."

Gosh, that always sounded so hokey when our parents or teachers threw it into a lecture or reprimand—and yet we've seen firsthand how poor planning has affected far too many teams and projects, usually with the justification of shaving a few man-hours from the schedule.

Here's another way to think about it: You're getting ready to take a long trip overseas. Do you just grab a backpack, throw in some odds and ends, and head for the airport? For most of us, of course not. You think about what you'll need, maybe you jot down a list of items to bring along. You do some planning, think about how many days you'll be gone, which clients you'll see and in what social settings, the weather at your destination, and the extracurricular activities you might partake in. Yes, you could throw into your bag an extra pair of shoes, some socks, and a few pairs of underwear and probably make it for a few days. But is skipping some planning steps up front really worth all of the trouble? Four days down the road, you don't want to be stuck in a meeting with clients in Singapore wearing the same outfit you wore on the plane, without fresh socks and underwear . . . metaphorically speaking, of course.

Planning to Plan

It's quite simple: you need to plan. Here's a start: think about all of the actors. Understand their relationships. Build your use cases. Apply them to your business rules for validation. And then build your plan. It all begins with a few targeted questions. But do you even know which questions to ask?

The questions posed here are nothing but a starting point to building a system and tool set that meet your organization's long-term development needs. We all suffer from "writer's block" from time to time, so think of this list as a tool to help grease the wheels in your brain. Here's where we recommend you start.

How Big Do You Think the Project Will Be?

This is an interesting question and oftentimes difficult to answer. How do you determine the size of the project? Do you use lines of code (LOC), number of classes, function points, or what? In most cases, the LOC is a good start for determining the size of the project. You can use several different methods to project the LOC for a project. Check out A Discipline for Software Engineering, by Watts Humphrey (Addison-Wesley, 1995), for some ideas.

How Many People Will Be Involved in the Product Development?

The size of the project is determined not only by the amount of code you will produce, but also by the number of people on your development team. Many times you can "guesstimate" the number of people that you will need on the team. When doing this, don't forget about the supporting roles of software development: QA, project managers, technical writers, and even managers. These people need to access the code and can therefore benefit from using ClearCase just as much as—if not more than—the software engineers.

Some might say, "We don't need to worry about the size of our VOBs because the new ClearCase architecture allows us to have really large VOBs." Just because you can have huge versioned object bases (VOBs) does not mean you should have them. Let's not forget that segmentation and the use of multiple VOBs have their benefits.

At How Many Locations Will the Product Be Developed, Tested, and Deployed?

If your first inclination is to answer, "Well, we're only here at the one location," or that your team can just telnet into the central office to do their work, then your project is either really small or you are not thinking big enough. With the expansion of broadband communications throughout the world, more companies are looking for cheaper ways to get teams to work together. It is expensive to move your whole team to the Silicon Valley when you can just as easily put a VOB server in each employee group's geographical location. Or maybe the product is being tested or developed overseas. The number of locations and the work that each location is performing will play an important role in your VOB architecture, triggers, and integration with third-party tools.

Is the Product External or Internal?

If the product is external, what delivery mechanism are you going to use? Are you burning a CD, are you providing an Internet download, or are you supplying a service? Can you use a VOB to control your releases? How often do you need to release the product to the customer? Is the product mission-critical for your customers?

When a product is internal, you typically have to deal with internal integration problems in addition to the normal external customer problems. Are other teams going to use your project to develop their product? Are they using ClearCase? (In a perfect world, everyone is using ClearCase.) How often can they get releases from your team? And what kind of coordination do you need to provide?

What Third-Party Tools Will You Be Using?

How many third-party tools do you plan to use? Make a list of all of the third-party tools that your development team (that is, your expanded team, as mentioned previously) is using. Don't forget about project management, testing, and technical writers. It makes sense to have some kind of VOB strategy for these tools. This includes things such as OS patches, compilers, Quantify, Purify, FrameMaker, MSWord, and so forth. There is nothing worse than having to spend weeks patching a mission-critical product that is over five years old, and you don't have access to all the tools you need to build, test, and document the thing.

What Is the Development Cycle of the Product?

Are you using a traditional waterfall method to develop your product? Is your cycle time Internet-fast (three months) or telecom-slow (seven years)? This can play an important part in the way you lay out your VOBs. You want to make sure your VOBs and ClearCase are not getting in your way, and actually help you get your job done faster. If you have a plan, you can use triggers to help enforce policy and automate things that are typically done by hand.

If you cannot answer this question about development cycle, let us point you to the Rational Unified Process. It is a good place to start for those in need of some direction.

How Do Your Current Development Methodologies Fit into Your Tool Plans?

We have seen far too many groups change their process to fit their tool set. This can be a dangerous exercise in bureaucracy. You might find processes that nobody can remember instituting, or that have no defined purpose. We have even seen processes created in an effort to circumvent the original process that no one could remember creating or instituting. Most of the time, we view these as shortcomings of the tools your team uses. It's important to find the right tools to fit your methodologies. Most today are very flexible and customizable and can handle whatever processes you might come up with.

Are Any Key Roles Missing from Your Team?

Make sure you have included everyone in the development team you need. Think through several scenarios. Were you asked recently for information about the project from someone who you don't have on your list as a key player in the development of the product? What was his or her role, and should your team be expanded to include this individual? If you are working with more than one location, who is the person responsible for coordinating meetings with all locations? Who is your multi-site administrator? Does your customer need access to ClearCase release VOBs? Make sure you have everyone written down.

What Are the Security Issues?

Don't fall into the trap of believing that just because you are behind a firewall your project is automatically secure. There are several issues that could pop up which you might not have considered. For example, you may have customers that want you to test your product against their proprietary systems, or some other protected intellectual property. You may need to restrict access to parts of your data while keeping other parts open between the customer and your development team. Another consideration: how can you protect your code from theft by a former employee? These are questions you need to ask.

What Types of Artifacts Are You Creating?

If your answer is, "I produce code—nothing else," then you are actually in the very small minority. Most products include documentation, binaries, project plans, images, and various marketing collateral. Map out all of the types of artifacts you need to version. A good rule of thumb is this: anything that is shipped or consumed by the end customer should be put in the source control system.

Do You Have the Hardware You Need?

It is really hard to deploy a development environment and ClearCase without hardware. Although it can be done, there is nothing worse than putting your VOB server on someone's desktop machine. You never know when you will have a janitor turning machines off in the middle of the night to save energy or, more commonly, have the air conditioning in your office turned off on the weekends to save money. That one is always fun. Make sure you have the hardware that you'll need up front. It is much easier to do it right the first time than to try and fix things later.

Do You Have the Infrastructure Ready to Support Your Plans?

Another item that people often forget is the infrastructure to support their development plans. Air conditioning, power, floor space, and networking are important to ensure you have a successful development environment. For instance, if you have to boot your machines in a specific order so you don't throw circuit breakers, you definitely need to get more power. If the $12.99 "blue light special" fan from Kmart keeps your computer from overheating, you need more A/C. Another thing to consider: if you are developing in multiple locations, you will need to make sure that you have connectivity to all locations (it's the little things—like connectivity—that always come back to haunt you). The hardest part, of course, is convincing someone who has the money to make the investment. If you do the work up front and have your project properly planned, it will be much easier to convince the senior executives to support these kinds of expenditures.

Preparation is the key to successful deployment of ClearCase, pure and simple. Ask the right questions, gather the right requirements, connect to all of the necessary tools and processes—and you've got it made.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020