Franc Stratton's .NET (TM) Web Application, OOP, and SOA Architecture & Programming Site

A site devoted to ASP.NET (TM), SilverLight (TM) and Browser-Based WPF (TM) Applications, IIS Services, and OOP Architectures

Home     Architecture Overview     WF/WCF/WPF     Data Store     Standards     .NET Security     Resources     jQuery     Silverlight     Developer Tips     Blog     Site Map      
Code Formatting
Code Notation
Passing Parameters
LINQ
AJAX
Database
SDLC (ALM)
ASP.Net Callbacks
Dirty Flag
The Importance of Standards, Best Practices, Guidelines, Learning Organizations, and Teams
 
Organizations in the Information Age
 
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.
 
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 resultsdriven structure
3. Competent team members
4. Unified commitment
5. A collaborative climate
6. Standards of excellence
7. External support and recognition
8. Principled leadership