Section 1: Standards Overview

The Importance of Standards, Best Practices, Guidelines, Learning Organizations, and Teams

In mid-1950’s, for the first time US white-collar outnumbered blue-collar workers, and information processing became more prevalent than producing tangible goods (Toffler, 1970). Rapid technological change, which began in this era, led by computing and telecommunication innovations require more highly competitive, global organizations in order to survive in a growing world economy. In the Information Age, society began demassification of the Industrial Age promoting an emerging decentralized and distributed management style, a capacity for customized production, and a new flexibility to allow fast-paced innovation based on information rich resources and knowledge (Toffler, 1995). The more decentralized modern organizations allocate decision-making to the most appropriate person or team. The trend toward distributed applications has emerged as a result (Senge, 1990).

If business goals and user needs are to be met with a sound application implementation, the organization must become a learning organization (Senge, 1989). Most organizations have approximately a forty-year life cycle because they have learning disabilities. One, they move forward by looking backward in that they rely solely on learning from experience and solve the same problems repeatedly; and two, they fixate on immediate events and not trends that move so slowly that nobody notices them (Senge, 1990). Therefore, team learning is the key to a learning organization because teams are now the fundamental unit of the modern organization (Senge, 1990). Development teams that learn from a history of analyzing long-term collections of data (data mining) and utilize the knowledge incorporated in the design of distributed systems can better recognize internal problems, however slowly they trend over a short or long period of time.

The current and future speed with which products and knowledge become obsolete from the increasing rapidity of technological advancement makes learning and continuous improvement a life-long process for organizations desiring to remain economically competitive and socially relevant in such a volatile environment. Recent information technological developments and managerial trends portend changes that must happen in IS use and design: quality, teamwork, and more distributed information technologies (especially computer networks) are the focus of organizations in the 1990s (Griesling, 1994). Although an emphasis on quality has been around since World War II, in the 1990s return on quality (ROQ) has replaced pure quality as a more realistic concept for U.S. enterprises (Griesling, 1994). Managers now lean toward giving greater authority to workers in quality teams that allow them greater authority and control over decisions that affect their own work output (Sager, 1994).

A shift from stand-alone or hierarchical computer systems to distributed processing networks allows both the quality and teamwork concepts to be meaningfully implemented so that critical organizational information can be shared, modified, and interpreted (Turner, 1994).

Building the Team If you don't code from some sense of standards, best practices, and guidelines from Microsoft or even the organization that you work for, then you're not a team programmer. You are probably a silo programmer that considers your way the only way. Too bad, since you'll never produce Wisdom-Based Applications (WBAs). WBAs require a team approach, but this does not mean that you must stiffle creativity. Bring your ideas to the team, and let the team decide if your way is better. If it is, then the team should adopt it. It's group learning, but never give up your own research.

Team building and group learning should be the goals of every IT application development group and every programmer that belongs to the organization. Organizations learn through the synergy of the individual learners (Senge, “The Leader’s New Work,” 1990). Group learning doesn't mean group-think since it involves critical thinking that involves constant re-evaluation of the methods and the technologies used to produce solutions to business problems.

If the team codes from standards, then peer reviews before QA testing is much easier. Team peers understand the standards by which all programmers should code in an organization, and the learning becomes part of the daily practice of the group. The knowledge gleaned from team learning becomes part of the development system, and when programmers and other IT specialists eventually leave, the knowledge stays with the system and the organization.

A number of researchers have studied teams, looking for the characteristics that make some successful. Larson and LaFasto (1989) looked at high performance groups as diverse as championship football teams and a heart transplant team and found eight characteristics that are always present:
1. a clear, elevating goal; 2. a results driven structure; 3. competent team members; 4. unified commitment; 5. a collaborative climate; 6. standards of excellence; 7. external support and recognition; and 8. principled leadership.

Section 2: Suggested Developer Coding Standards

View Developer Coding Standards PDF

Section 3: Suggested Database Standards

Suggested Database Standards PDF

Section 4:

Section 5: