Computer Engineering



Okon, Walt, Computer Engineering - Software Development in a Quality Work Environment, www.waltokon.com, 04 December 2002
Software Development in a Quality Work Environment
By:  Walt Okon
Chief, NetCentric Enterprise Engineering
Defense Information Systems Agency
 
PREMISE:  An empowered workforce delivers software using the Spiral Development Model to deliver quality software products by professional people using incremental processes.

TITLE:    Software Development in a Quality Work Environment: Trends, Issues and Challenges


Objectives:
It is the objective of this paper to provide some background on Software Development as it functions in the Work Environment.  The paper will discuss Software Development effectiveness in the context of flourishing in a Quality Work Environment.

The paper will consist of  discussions of the following:

1.  What are the key factors of a “quality work environment” where Software Development excels.

2.  Model to deliver quality software products by professional people using incremental processes

3.  Instutionalize actions and processes to achieve this goal


Software Development always involves people, processes and products.  These three factors are always in the context of a work environment.  This is true because the true software development always involves more than one person to accomplish the life cycle.  People involved in a life cycle development need processes to understand each other and to communicate clearly (who is responsible for what).  Finally, the people and the processes along with the product resides in a work space during the development.  Therefore, we can define the work space better by calling it a Work Environment.  In any work environment there are Trends, Issues and Challenges.  By understanding these Trends, Issues and Challenges we can better understand the work environment.  The work environment affects to software development and the ability to produce quality software products.

The concept that Software Development effectiveness can and will flourish in a Quality Work Environment is acknowledged by leading many experts.  Dr. Andrew Sage states when discussing software development that integration and management is required specifically in environment and framework integration or as he titles it; Total System Engineering. [1]   Dr. Sage states that it must be possible to ensure processes are directed at high quality products in a trustworthy manner based on the needs of the customer.  In order to accomplish this there must be am integration of the “environment” and the processes of system engineering.

 Key factors of a work environment where software development can excel:
1.  Identify the current work environment trends
2.  Identifying problem areas and opportunities for improvement
3.  Defining a high Quality Work Environment
4.  Link the quality of work environments to organizational mission and goals, including recruitment and retention
5.  Implications for software development, process work design, management practices

It is the responsibility of the systems engineer to design, develop, control, manage, and deliver the software.  In acceptance of this responsibility the system engineer must also manage the work environment.  Key is the identification of the current work environment and the trends that would detract or improve the work environment.  It is essential to identify trends that detracts and correct them.  Dr.  Marjorie Blanchard in her book “Managing for Health and High Performance” states that the manager (system engineer) affects the employee’s performance (software developer performance). [2]    Defining the high Quality Work Environment in which software development can flourish is relatively simple if the systems engineer simply makes creating and maintaing the Quality Work Environment a part of the systems engineering process. Dr.  Blanchard continues to say the key is a Participative Management Program. [3]

The creation of the Quality Work Environment along with a Participative Management Program s makes it easy to create a direct like to the system engineering organizational mission and goals, including recruitment and retention.  Employees can assist in the recruitment of coworkers because these new software developers will be come a key factor in the software development, the quality environment, and the quality of the software produced.  This being true the whole development team buys in to the ownership of the success or failure of the organization.  The Quality Work Environment is the shared values of management, system engineers, software developers, and supporting contractors (government organizations typically have supporting cotractors as part of their software development team).  This means that the environment has definitive implications for software development, process work design, management practices.


Work Environment issues:
Human Resources (HR) are the key factor to successful Software Development
1.  HR programes along with recruitment and retention is critical to long tern success.
2.  Quality/Professional Software Developers demand high grades.
3.  Software development processes as related to people are critical
 



To achieve quality Software Development an Organization must:
• Provide high quality work, decent benefits and pay
Today software developers know and understand the value of their work and the technical skills they provide in the development of the software and the resulting product.  They are seeking technical positions that provide high quality work, high pay, benefits, and job security. The decline of the “dot.coms” in 2001 cause the loss of thousands and thousands of software development jobs.  Job security has become a concern.  Quality developers now seek quality work, decent benefits, acceptable pay, and security.

• Provide crucial development jobs that provide personal fulfillment
The best software developers look for work that is complex, critical, and has real value.  The job must be filling and rewarding.  It is the tough technical development jobs that are highly desired. 

• Provide proactive Human Resource management policies
During the build up of the internet in the 1990s, developers moved and went the highest and fasted paying job.  There were no loyalty and work environment issues.  The only concern was the immediate dollar.  Thus, things Human Resource management policies and benefits had little or no meaning.  In 2002 with thousands of developers out of work, decent pay, security, Human Resource programs and education has significant meaning today.

• Provide an empowered employee environment
Empowered developers are more proactive than task managed developers.  Personnel who are operating in a full integrated development process know the development processes and they know the desired end state.  They really know better how to improve a specific work process within their environment.  They work with that process and the associated development processes every day.  When they are empowered to make decisions about how their work gets done, the result is an improvement in quality, service, speed, and efficiency in the developed software.  All involved in the environment stand to benefit. [4]

• Provide open communications and have employees participate in the decision process
Open communications is a must to achieve quality Software Development a software organization.  One of the key processes during the development process is software integration.  Integration means the all the parts of development are fully coordinated and documents.  This is almost a pure communications process.  Everyone must participate and communicate.  This means communications must be enabled upward, downward, and laterally.  Developers must be involved in the fluid communications and communicate ideas during the decision process.  With the involvement of the developers Empowerment occurs when power and responsibility is transferred to employees (developers) who then experience a sense of ownership and control over their development as it support the development process.  John W. Hayden, vice president and practice leader at Development Dimensions International (DDI) in Pittsburgh, says, "An empowered environment is one in which people have accountability, responsibility, and decision-making authority that is appropriate at their level to meet customer needs.”[4] 


Work quality issues for software developers:

In order to develop high quality software, dedicated skilled software developers need to be recruited and retained in an organizational environment that is committed to quality processes that enable the development of the best possible software.  In order to recruit the best, the enabling foundation is the work environment that support the definitive processes.  On February 21, 2001 Secretary Tommy G. Thompson said, "Throughout my public service career, it has been clear to me that we can accomplish our mission and provide the level of service the public demands only if we recruit and retain the best and the brightest and provide them with a work environment that supports them in getting their jobs done.”  [4]  The Secretary understood the importance of the work environment and the issues concerning computer technical personnel. [5]  I have identified them here as follows:

• Job satisfaction (deliver highly valued software products)
• Job security – Quality Life
• Technical Training and development
• Academic Advanced Degrees and Career Development
• Skills and responsibilities
• Management/supervision
• Organization of software development process
• Physical environment, resources
• Occupational health and safety
• Professional, Honor, Respect, feeling valued
• Work-life balance
• Work hours, work load, provided the best technical tools
• Stress and burnout

The manager/system engineer must know and understand the work quality issues for software developers in order to begin to create the Quality Work Environment that all desire.  Note, I have said begin to create, because no one individual can create the Quality Work Environment.  A Quality Work Environment only comes into existence when all those working in that environment become committed to creating and maintaining the work environment.

We have begun to understand the thirteen work quality issues for software developers. In and effort to build the Quality Work Environment, the manager/systems engineer must address the issue of empowerment.  One of the key elements to achieving the Quality Work Environment is to also institutionalize empowerment in the work environment.  Experience has shown that there are pressures that exist in any work environment.  The pressures of the day can affect the quality of the software development.  More mistakes are made when the day’s pressure is not manages.  It is wise to acknowledge these work time pressures and to manage them in a partnership manner.  Flexible work schedules can
Work Time Pressures:
• Flexible work schedule is crucial for a person’s quality of life
• Commute to work time
• Software developers are asked to do more with less.
• Under pressure to deliver the application
be managed and most progressive companies realize that consideration can be made.  With most families having both the husband and the wife in work environment a flexible work schedule is essential for family management.  Many software developers will loo9k for other employment if there is not Flex Work.  The commute time to work is also critical to the family and the ability to reduce pressure. The developer who has a commute to drive of more than an hour each way to get to and from work is not as ready to fully concentrate on the development task as the employee that has only a fifteen minute commute.  “More with less” is often resolved by the latest and best development tools and hardware.  “Pressure to deliver” is always present.  The manager/system engineer can reduce this pressure through positive and constant communications.

Professional Software Development Employee Commitment demands:
The professional software developer who is ”in the business” for the long haul has professional demands.  This is not the developer that is jumping from job to job to get just more money. This is the developer who is career minded and desires long term career growth.  Things that motivate the committed professional are:
Software Developer Professional Work Requirements:
–    a healthy and supportive work environment
–    interesting technical work
–    receiving the needed professional and technical training
–    having quality tools and resources to do the job
–    having  the enabling software development processes in place
–    job security
We are finding that complex and interesting technical work is a real motivator to the computer software developer and systems engineer.  These professionals are looking for the quality work environment that provides the work, responsibility, education, tools, growth, empowerment, and highly valued products.

We have also learned what things are detrimental to the Quality Work Environment.  Computer software developers do not relate well to organizational change, downsizing, or restructuring.
Software Development Environment must not:
• have continuous organizational change
• downsize because it reduces commitment and trust
• have continuous restructuring - it negatively affects communication
Each of these cause personnel to become concerned and their focus is not one of commitment.  It becomes one of resentment.  Job security become a concern and software development may continue; but, not with full commitment.


Building the Quality Work Environment:

Linking work environments, employment relationships, quality of work life,
and organizational performance is a model to be used in building the Quality Work Environment.
Quality
   The model is continous and all four work environments must be in constant linking communications.  The Vision for the model and for the Quality Work Environment is to achieve “quality software products by professional people using incremental processes

Quality Work Environment:
"Monitoring employee views about the quality of their work and the quality of their work life helps us get a sense of our strengths as an employer and identify areas where improvements can be made."

Secretary Tommy G. Thompson
February 21, 2001  [5]

Empowerment is the main ingredient of the Quality Work Environment.  It involves enabling employees to accept increased responsibility by establishing appropriate policies and procedures, provide necessary resources, and support.  It also requires development opportunites for all levels that creates a clear understanding of what is required and how to make it happen. [6] Secretary Donna E. Shalala calls this his The Quality of Work Life (QWL) Initiative which he introduced in 1996 and continues today as an integral part of the Health and Human Services, U.S. Department of Health and Human Services (HHS) approach to management and leadership. The Quality of Work Life (QWL) Initiative, led by HHS senior management and labor officials, aims to create and maintain the highest possible quality work environment for current and future employees. [7]

The high performance workplace model addresses what works and has value as job quality:
We have discovered the kind of things that the Quality Work Environment has in the successful software development organization.  They all seen to have: 
• flat organization – so all can communicate and be heard
• team-based work – integrates software development with full life cycle development
• flexible job design – work any where any time.
• commitment to academics, technical training, and growth
• employee participation – listen to new ideas
• sharing of rewards and information
• promote health, well-being, work-family balance
• supportive supervisors
• OK to make a mistake


The desire is to improve job quality through workplace innovation.  The more elements that can be integrated the greater the increase in the improvement of the work environment. This also provides the ability to produce quality software.  There seems to be no disagreement on the elements of Quality Work Environment or the need to accomplish this envisioned environment.  The only question is will all the personnel be committed and if committed know what to do to establish this new way of life. 



Action Plan to build Software Development in a Quality Work Environment:
Committed personnel need to know what to do to establish this desired Quality Work Environment for themselves and those around them.  The goals (Rather the things that need to be done) are identified: 

1.  Make high quality work environments central to corporate values and mission, confirming that employees are assets

2.  Negotiate roles and responsibilities of professional associations, unions, management, government

3.  Benchmark job quality, analyzing impact on results

4.  Diagnose areas of strength and weakness, develop strategies to address latter, track progress

5.  Evaluate the impact of organizational change on employees and service outcomes

6.  Build quality work environment goals into business plans, showing links to results

7.  Provide incentives for managers to contribute to specific job quality goals

8.  Communicate to management how high quality work environments improve the quality of public services


With no disagreement this is what needs to be done and what we want to accomplish.  Can it be accomplished?  Yes.  It can be accomplished by each person first agreeing this is desired and achieveable.  Next, each person starts their own personal involvement in these eight goals.  They proactively apply their own actions towards the goals in all their daily actions.  Just like our Spiral Development Model the Quality Work Environment evolves and software development improves.


REFERENCES:
[1].  Sage, Andrew P., Systems Management For Information Technology and Software Engineering, John Wily & Sons, New York, 1995, Page 556

[2].  Blanchard, Majorie Ph.D., and Tager, Mark J. M.D.,  “Working Well, managing for Health and High Performance”, Simon and Schuster, New York, New York 1985, page 44.

[3].  Blanchard, Majorie Ph.D., and Tager, Mark J. M.D.,  “Working Well, managing for Health and High Performance”, Simon and Schuster, New York, New York 1985, page 66-72.

[4]  Caudron  Shari, Ten Steps to Employee Involvement, EMPOWER THE PEOPLE, IW Growing Companies / June 1998, http://www.cast-fab.com/news/6_98IW.html
[5]  Tommy G. Thompson, Secretary of Health and Human Services, U.S. Department of Health and Human Services, http://www.hhs.gov/about/bios/dhhssec.html

[6] The People Skills Company, “Creating An Empowered Environment (EMP)”, http://www.pplskls.com/page25.html


[7] U.S. Department of Health and Human Services, Quality of Work Life, http://www.hhs.gov/ohr/qwl/

==============================================

Return To Index of Computer Engineering Papers

  • Walt Okon's Home Page
    This Page was created by: Walt Okon
    Changes last made on:  07 December 2002