Skip to main content

skip to main content

developerWorks  >  Rational  >

Standards and reuse

developerWorks
Document options

Document options requiring JavaScript are not displayed


My developerWorks needs you!

Connect to your technical community


Rate this page

Help us improve this content


Level: Introductory

Sharon Fay, Systems Engineer, Flashline

20 Jan 2004

from The Rational Edge: Originally published by Flashline, this article describes some of the benefits of standards ― better communication, a common approach to development, cross-organizational consistency ― and the natural link between standards and reuse.

Illustration "Standards make possible the mass assembly of complex things, and many modern industries would not exist, at least not at their present scales, without binding agreements as to how parts should assemble into wholes."1

Reuse is a banner under which organizational standards for software development are disseminated within an organization. More and more of the organizations that we visit are actively establishing standards because of the value standards bring to the organization. This value takes multiple forms:

  • Standards provide a basis for communication
  • Standards provide common approaches
  • Standards enable consistency

These benefits combine to reduce risk, increase development and maintenance productivity, and raise the quality of software development throughout the organization. Let's take a closer look at each.

Standards provide a basis for communication

An article in Intranet Journal describes an intranet project that illustrates the challenges that typically exist between the art department, front-end developers, and architects, all working together to develop an intranet site.2 The site content for the project existed in 600 pages of Microsoft™ Word™ documents, which the team converted to XML. They then generated a Document Type Definition (DTD) that validated the structure of the content. Through this effort, the team was able not only to specify document titles, headers, and paragraphs, but also copyright formats and legal disclaimers.
Adoption of these standards and the conversion of the documentation to an XML format delivered an even greater benefit by making it possible for art department designers and front-end developers to work together, smoothing an otherwise rocky relationship. And information architects were able to apply the same standards to "blueprint" site structure.

Standards provide common approaches

For example, many of the organizations we work with have adopted a standard software development lifecycle process, such as the Rational Unified Process® or RUP® Agile software development, or more traditional waterfall methods. A standardized SDLC provides developers with a sequence of steps and procedures that are followed when developing software, each with specific milestones and milestone review criteria. At one organization, all development teams are required to investigate existing software solutions, both within the organization and those available from third party vendors, as part of the project analysis activities. The development teams are required to submit forms as part of the project milestone review that justifies the development effort. No team can proceed with development until a build-versus-buy analysis is conducted. This forces the development teams to thoroughly evaluate the economic feasibility of alternative solutions.

Standards enable consistency

One organization we worked with was undertaking a data architecture project in order to consolidate databases and standardize the definitions for data across the organization. The organization had multiple divisions, each with its own data representation for a customer, account, product, etc. This made it impossible to accurately report and compare performance across these divisions. The organization saw standardization as the way to achieve consistency for data definition, data access, and reporting.

Industry standards abound, and have done wonders to advance progress and development. Think of the ways that http, TCP/IP, ftp, and other transfer protocols have advanced information exchange. Think about how standards such as JDBC/ODBC have advanced data access capabilities. And think of the impact that SOAP and WSDL are having on intra- and inter-company service transactions.

"Successful standards are those that gain universal acceptance and lower system design and assembly costs for everyone, broadening niches into mass markets.3

In industry, standards spawn competition, and competition breeds technological improvement and price reduction. But do standards have the same impact within an organization? Do we want standards to have the same impact inside a company as they have in the open market?

In the open market, standards organizations establish and disseminate industry standards. Within organizations, we also see the formation of standards-forming bodies:

  • Software Engineering Process Groups (SEPG) are standardizing the Software Development Life Cycle.
  • Data architects are standardizing data definitions, data representations, and access to data objects for data mining and reporting.
  • Enterprise architecture groups are adopting standards for software development tools, deployment platforms, and are constructing standard software frameworks and components.
  • Security groups are establishing standards, such as LDAP,4 for user authentication.

These are the groups that are turning toward reuse, since it is under the Reuse banner that organizations can develop and disseminate software standards. Code artifacts certainly embody organizational standards, representing processes, procedures, and data within the organization. However, reuse extends far beyond code, and includes process guidelines and templates; documentation; configuration information; environmental information (development, test, deployment); tests and test harnesses; style guides and style sheets; data elements; data access objects; and reports/data analysis routines. As with industry standards, these organizational standards are increasing productivity, lowering design and assembly costs, increasing quality, and decreasing time to market. Organizational standards are having an impact inside organizations similar to the impact that industry standards have had on the open market.

But what about those organizations that don't have standard-setting bodies? We have seen organizations like this, where reuse and the evolution of standards starts as a grassroots initiative. Development teams realize that development without standards is an art form, not a form of engineering. We have seen these organizations adopt reuse as a mechanism through which to evolve defacto standards for organizational software development.

Software development is a complex process, embodying process, procedure and organizational data. Standards facilitate the development and assembly of software. Reuse is a mechanism that can be used to disseminate and speed adoption of standards.



Back to top


Notes

1 "Build Systems, Not Companies, on Open Standards," by Gordon Benett, Intranet Journal, February 20, 2002.

2 "An XML Framework for Coordinating Creative and Technical Design," by Gordon Benett, Intranet Journal, August 29, 2001.

3 Op. cit., Gordon Benett, Intranet Journal, February 20, 2002.

4 This definition is from Webopoedia: Short for "Lightweight Directory Access Protocol," a set of protocols for accessing information directories. LDAP is based on the standards contained within the X.500 standard, but is significantly simpler. And unlike X.500, LDAP supports TCP/IP, which is necessary for any type of Internet access. Because it's a simpler version of X.500, LDAP is sometimes called X.500-lite.
Although not yet widely implemented, LDAP should eventually make it possible for almost any application running on virtually any computer platform to obtain directory information, such as email addresses and public keys. Because LDAP is an open protocol, applications need not worry about the type of server hosting the directory.

Copyright © Flashline, Inc. 2003



About the author

As a member of the Software Development Productivity Council (SDPC), Sharon Fay draws on her considerable experience to address the technological challenges facing today's businesses as they work to keep pace with the evolution of the global marketplace. Prior to joining Flashline, Fay consulted with companies initiating eCommerce and Web-based application development. Her clients spanned a broad range of industries including financial services, manufacturing and distribution, and non-profit organizations. She began her professional career in 1988 as a systems engineer for Allen-Bradley/Rockwell. Fay holds a Bachelor of Science degree in Computer Engineering, and earned her Master's in Business Administration from Case Western Reserve University's Weatherhead School of Management, where she has lectured on Electronic Commerce Technology.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top