Skip to main content

Enterprise class build automation for SMBs: Eliminating chaos and risk in unmanaged SMB build processes

Cheri Bergeron, Marketing Program Director, IBM 
author photo
Cheri Bergeron is a IBM Rational Build Forge Evangelist and was one of BuildForge Inc.’s earliest employees. During her time there, she held numerous customer-facing roles in sales, marketing, customer service, business development, and product management. Prior to joining the company, Cheri spent more than ten years working in enterprise software for organizations ranging from small start-ups to billion-dollar industry leaders, including eCustomers, Inc., IBM Tivoli, Remedy Corporation, Hitachi Data Systems, and NCR Corporation.

Summary:  from The Rational Edge: Read how build automation, a process often overlooked by small and medium businesses (SMBs), helps reduce costs and risks, and optimizes resources, while improving software quality and supporting distributed and outsourced development environments. This article introduces IBM Rational Build Forge Express Edition, an enterprise-class build automation framework designed and priced explicitly for SMBs. This content is part of the The Rational Edge.

Date:  15 Nov 2007
Level:  Introductory
Activity:  317 views

illustration In considering how large companies develop software compared with small to midsized organizations, it is not only the differences but also the similarities that are relevant. In particular, there is likely to be no real difference in the complexity and functionality of the applications being developed. Many smaller companies are building highly complex and innovative applications or business services, which they may host for their clients. The breadth of functionality going into software also doesn't vary with the size of the business, as this is driven by market forces that all competing organizations are subject to.

But while development task complexity may be similar for teams regardless of company size, the level of resources that can be applied to surmounting the endless stream of development challenges is most often very unequal. One way this disparity manifests is that, while bigger companies can afford to train and employ staff in specialized roles, development team members in small companies often tend to have multiple job roles and responsibilities. Big-company teams can focus more on process, while SMB teams often direct nearly all their efforts to the creation of software functionality.

An SMB team is therefore more likely to have a manual build process; very possibly one that varies from release to release and person to person on the team. When so much proprietary intellectual capital resides in the heads of just one or a few people, the result can be unacceptable levels of unpredictability and risk to cost, schedule, and product quality.

In this article I'll look at how development teams for small to midsized companies manage their build processes, and discuss some ways to address risks, optimize resource utilization and maximize a smaller team's competitive strengths. Then I'll briefly describe, at a high level, the key capabilities of IBM® Rational® Build Forge® Express for automating build and release management in SMB development environments.

Build management in the SMB world

In the SMB world, teams might not have the bandwidth to pay much attention to how software deliverables are assembled. They may "shoot from the hip" using whatever approach it takes to build the product. But when there is no standardized way to build software products, teams under pressure invariably make mistakes. The result is often lost time and compromised product quality -- commodities that SMBs can not afford to risk in today's competitive world; where there is extreme pressure to deliver quality products, quickly.

Worse yet, an SMB may "crash and burn" if it loses that one individual who knew the proprietary build approach. The same holds true regarding what is on the build servers themselves. Often the configuration of servers grows and evolves over time and is largely or completely unmanaged. Only one or a few people might know what libraries need to be used in a build and where they reside, for instance. Build servers might not even be backed-up because they may not be part of the IT infrastructure that is supporting the business processes. So when one of these homegrown systems crashes, the team might have no reliable documentation describing its configuration.

Conversely, what if you were able to fully document a server's configuration each time you performed a software build? Not only is there an advantage to eliminating the risk of an undocumented server configuration, but also this would allow you to reproduce your build in the same environment for faster trouble-shooting.

From a build management perspective many SMB development environments are at risk with multiple points of failure: staff, hardware, software, process, and documentation. If any of these areas fail, the results can be devastating, affecting operational costs and customer satisfaction. When key personnel leave the company or there are hardware failures, there may not be a safety net in place. All too typically, when such an event occurs, the team picks up and starts from scratch with a new, equally ad-hoc build management process. The closer to a release date this "reboot" happens, the greater its impact on customer satisfaction, revenues, and the company's bottom line.

A similar downfall is poised to happen again because the underlying process issues and discrepancies are usually not addressed due to time constraints and lack of resources. Development teams at bigger companies typically have addressed the risk areas with reliable build server management, self-documenting systems, and an overall stronger ability to capture key software build processes in a centralized place where they are accessible by (and understandable to) more of the mainstream development organization, not just to a chosen few.

When SMB teams embrace build automation, these points of failure evaporate. In their place is a pushbutton operation that can execute build tasks consistently every time, so product quality isn't placed in jeopardy. Centralized build automation likewise opens the process up to a wider range of team members, by eliminating the "secret recipe" and much of the specialized knowledge required to assemble the code. Once knowledge is captured in the automated build system, risk is mitigated and the whole development team benefits.

Keeping your options open

Another way that resource constraints impact SMB development teams is the additional pressure to leverage the most cost-effective development options possible. This could mean outsourcing and/or off-shoring, particularly if these approaches can accelerate time-to-market.

But successful outsourcing often hinges on robust processes, and requires an infrastructure by which distributed teams can communicate efficiently. Many SMB development organizations also need to support team members who work remotely, such as an expert or consultant who does not wish to leave a home base in another time zone.

Build automation can help SMB teams meet these needs, by creating a common, collaborative build management environment where, without a lot of additional overhead, teams have the visibility they need into the distributed build process to share work efficiently. Web-based, real-time access to build information and processes can be so valuable to smaller companies, eliminating the wasted time spent waiting for e-mail or voice messages to be received across time zones. This unproductive time can erode an SMB team's speed and agility.

Greater responsiveness to customers

Another difference between smaller versus bigger companies is that, for SMBs, every customer is vital. Large companies have key customers, of course, but their corporate success or failure is not as dependent on relationships with a small number of critical customers as a smaller firm's might be. SMB development teams therefore have little margin for error where customer satisfaction is concerned. So when a customer reports a software bug, the turnaround on resolution of that issue might be comparatively more important for a smaller firm.

Since it can take longer to isolate and reproduce a problem than it actually does to fix it, the lack of build management processes and documentation that is endemic in SMB development teams can further delay these efforts and lead to all kinds of needed heroics on the part of team members.

The support you get to reproduce, isolate, and resolve bugs that comes with a robust build automation framework is therefore all the more critical and valuable in SMB environments. Because responsiveness to customers is paramount, SMBs really need a comprehensive and accurate "bill of materials" that accurately specifies what was delivered, what source changes have occurred, what the actual file differences are, what system configuration was used to build that specific release -- all that "release DNA" that is vital to rapid diagnosis and repair of customers' problems. This is one of the key reasons why build automation can be a very powerful competitive tool for SMBs.

Compliance support

The ability to provide a release bill of materials not only helps SMBs support their software, but it also helps SMBs to support themselves and their clients around regulatory compliance and corporate governance. For emerging companies in the medical device, pharmaceutical, and biotechnology industries, for instance, compliance with federal regulations and guidelines is of paramount importance -- the survival of the organization might well hinge on the approval of a third party auditor.

Faced with a business-critical need to gather accurate and complete information about software releases for compliance purposes, SMBs can respond in either of two ways:

  • Manually collect the information. This approach can be a major distraction from the team's core competency of developing and supporting software.
  • Use an automated build management system to capture the required data for you.

Of course, the build management tool needs to be able to aggregate and organize audit data from whatever development tools you have, even if they come from different vendors. For example, your test system might come from Mercury while your source control system is open source. With this capability you can bridge information silos to automate team handoffs and process documentation, further ensuring that critical process knowledge is captured. You could think of this ability to pinpoint, at any point in time, for any release, the contents, systems, processes, and controls used as "audit documentation on demand" -- and it is beneficial not only for audits but in the wider development context as well.

Compliance issues are not equally pressing for every SMB; however, you might suddenly find yourself supporting a customer that requires detailed software audits for its own compliance or governance purposes. In that event, the ability to tell a prospect up-front that you can address their requirements could be a key competitive differentiator.

Stronger strategic planning

In relation to their larger competitors, SMBs often rely on the advantage of their greater corporate agility. But if you don't know where you're going, how much difference does your speed make? SMB development teams need automation that can provide immediate access to information that lets them know: Can we meet our commitments? Where in the code are the majority of our bugs? Will we miss this deadline if we include this feature? What functionality should go in this release versus the next patch release, given our window of opportunity?

When you're trying to beat bigger companies to market, you need hard data and insight into the software's assembly process, so you can isolate problems and answer "what if" questions accurately. In this regard the build management process can provide strategic information to the business.

You can also use build-related information to answer questions about your own development process, especially if it is distributed. Such as: Is our outsourced provider doing high quality work? It is worthwhile to know the quality of software being received and what code has errors. Using build automation, this information is easily obtained from a glance at nightly build statistics, which is certainly better than finding out two or three months later when you receive a packaged deliverable.

Where outsourcing is concerned, build automation lets you incorporate appropriate checks and balances into the development process to support project management. For example, you could specify that every night a software artifact be built and shipped to a local server. That way, if you lose access to a provider for whatever technical or business reasons, you have the most current record of their work.

IBM Rational Build Forge Express Edition

IBM Rational Build Forge Express Edition provides the latest, enterprise-class build automation technology in a configuration designed and priced specifically for SMBs. Rational Build Forge Express Edition helps SMB teams improve software quality and shorten time-to-market with consistent, repeatable processes and improved capability to troubleshoot errors.

Among its key features and benefits, Rational Build Forge Express Edition offers:

  • A simple, flexible, wizard-driven installation process with sample project templates for rapid adoption
  • Compatibility with existing build scripts, batch files, and development tools for smooth and cost-effective implementation with minimal overhead, while leveraging existing investments
  • Adaptors to simplify integration with leading source control, testing, and defect tracking products, along with plug-ins for popular integrated development environments (IDEs) to allow you to work in your preferred environment
  • Ability to configure a "bill of materials" that lists build content and changes -- even across diverse systems -- for faster problem resolution, more efficient testing, and streamlined compliance activities
  • A centralized, Web-based console to capture and standardize repetitive tasks for greater project consistency and reduced setup time on new projects
  • Increased individual productivity with self-service access to preconfigured build processes from within leading IDEs
  • Error log filtering and automated notifications for rapid error detection and resolution
  • Support for distributed, multi-platform builds to help manage distributed development scenarios
  • Localized into ten languages, with full Unicode support, to facilitate global adoption
  • Automation of diverse build tasks with multiple scheduling options to compress build cycles (and even drive faster development)
  • Self-documenting audit trails track process changes for easier compliance management

Rational Build Forge Express Edition automatically captures, documents, and retains vital development and delivery processes as they evolve over time, so team members do not require in-depth knowledge of the underlying logic in order to participate in the build process. This reduces the risks associated with undocumented or ad hoc build procedures while ensuring repeatability.

Build Forge Express Edition can further support small teams by automating tasks that extend "beyond the build." Serving as a script execution engine, it can automate a wide variety of development activities, including test automation, Web deployments, application migrations, and installations.

Packaging and financing

Recognizing that smaller businesses often face significant resource constraints, SMBs can purchase Rational Build Forge Express Edition on an attractive and highly affordable "pay-as-you-benefit" financing plan. This reflects a new and growing trend in software pricing that IBM is helping to establish, whereby organizations can pay for the software as it pays for itself through time and costs saved, reduced errors, greater competitive leverage, faster ROI, etc., rather than being forced to allocate the finances for the purchase up-front.

Reflecting a further manifestation of SMB-centric pricing trends, IBM partners also now offer complete, pre-configured "change and release management systems in a box" bundled with all the necessary hardware and software and financed on similar, pay-as-you-go plans.

Conclusion

The benefits of robust build automation for small to midsized businesses go well beyond controlling costs and risks, leveraging distributed development models, or even delivering greater customer satisfaction. Build automation empowers strategic decision-making that helps SMBs chart their product development direction, and optimize and leverage their competitive differentiation.

With a solution like Rational Build Forge Express Edition that provides reporting, metrics, and analytical capabilities about your projects, you can chart where you are going, identify weaknesses and bottlenecks in your current process, and in general plan more effectively and insightfully. With this extended visibility into your build and release activities you can get smarter as you go -- enabling you to respond faster and make better decisions that put you in front of your competitors, whatever their size.

References

For more information on Rational Build Forge Express Edition see http://www.ibm.com/software/awdtools/buildforge/express/?ca=rhp

An article on IBM Rational Build Forge recently appeared in The Rational Edge: http://www.ibm.com/developerworks/rational/library/apr07/benge/index.html


Resources

About the author

author photo

Cheri Bergeron is a IBM Rational Build Forge Evangelist and was one of BuildForge Inc.’s earliest employees. During her time there, she held numerous customer-facing roles in sales, marketing, customer service, business development, and product management. Prior to joining the company, Cheri spent more than ten years working in enterprise software for organizations ranging from small start-ups to billion-dollar industry leaders, including eCustomers, Inc., IBM Tivoli, Remedy Corporation, Hitachi Data Systems, and NCR Corporation.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=269061
ArticleTitle=Enterprise class build automation for SMBs: Eliminating chaos and risk in unmanaged SMB build processes
publish-date=11152007
author1-email=cbergeron@us.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers