Peopleware

Last updated

Peopleware can refer to anything that has to do with the role of people in the development or use of computer software and hardware systems, including such issues as developer productivity, teamwork, group dynamics, the psychology of programming, project management, organizational factors, human interface design and human–machine interaction. [1]

Contents

Overview

The concept of peopleware in the software community covers a variety of aspects: [2]

History

The neologism, first used by Peter G. Neumann in 1977 [3] and independently coined by Meilir Page-Jones in 1980, [4] was popularized in the 1987 book Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister. [5]

The term Peopleware also became the title and subject matter of a long-running series of columns by Larry Constantine in Software Development magazine, later compiled in book form. [6]

Related Research Articles

The Capability Maturity Model (CMM) is a development model created in 1986 after a study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. The term "maturity" relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined steps, to managed result metrics, to active optimization of the processes.

<span class="mw-page-title-main">Workflow</span> Pattern of activity often with a result

A workflow is a generic term for orchestrated and repeatable patterns of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of operations, the work of a person or group, the work of an organization of staff, or one or more simple or complex mechanisms.

An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information. From a sociotechnical perspective, information systems are composed by four components: task, people, structure, and technology. Information systems can be defined as an integration of components for collection, storage and processing of data of which the data is used to provide information, contribute to knowledge as well as digital products that facilitate decision making.

The following outline is provided as an overview of and topical guide to software engineering:

<span class="mw-page-title-main">Decision support system</span> Information systems supporting business or organizational decision-making activities

A decision support system (DSS) is an information system that supports business or organizational decision-making activities. DSSs serve the management, operations and planning levels of an organization and help people make decisions about problems that may be rapidly changing and not easily specified in advance—i.e., unstructured and semi-structured decision problems. Decision support systems can be either fully computerized or human-powered, or a combination of both.

Structured systems analysis and design method (SSADM) is a systems approach to the analysis and design of information systems. SSADM was produced for the Central Computer and Telecommunications Agency, a UK government office concerned with the use of technology in government, from 1980 onwards.

<span class="mw-page-title-main">Edward Yourdon</span> American software engineer and pioneer in the software engineering methodology

Edward Nash Yourdon was an American software engineer, computer consultant, author and lecturer, and software engineering methodology pioneer. He was one of the lead developers of the structured analysis techniques of the 1970s and a co-developer of both the Yourdon/Whitehead method for object-oriented analysis/design in the late 1980s and the Coad/Yourdon methodology for object-oriented analysis/design in the 1990s.

A data-flow diagram is a way of representing a flow of data through a process or a system. The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram has no control flowthere are no decision rules and no loops. Specific operations based on the data can be represented by a flowchart.

Tom DeMarco is an American software engineer, author, and consultant on software engineering topics. He was an early developer of structured analysis in the 1970s.

Conway's law describes the link between communication structure of organizations and the systems they design. It is named after the computer programmer Melvin Conway, who introduced the idea in 1967. His original wording was:

[O]rganizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.

The enterprise unified process (EUP) is an extended variant of the unified process and was developed by Scott W. Ambler and Larry Constantine in 2000, eventually reworked in 2005 by Ambler, John Nalbone and Michael Vizdos. EUP was originally introduced to overcome some shortages of RUP, namely the lack of production and eventual retirement of a software system. So two phases and several new disciplines were added. EUP sees software development not as a standalone activity, but embedded in the lifecycle of the system, the IT lifecycle of the enterprise and the organization/business lifecycle of the enterprise itself. It deals with software development as seen from the customer's point of view.

Peopleware: Productive Projects and Teams is a 1987 book on the social side of software development, specifically managing project teams. It was written by software consultants Tom DeMarco and Tim Lister, from their experience in the world of software development. This book was revised in 1999 and 2016.

<span class="mw-page-title-main">Larry Constantine</span> American software engineer

Larry LeRoy Constantine is an American software engineer, professor in the Center for Exact Sciences and Engineering at the University of Madeira Portugal, and considered one of the pioneers of computing. He has contributed numerous concepts and techniques forming the foundations of modern practice in software engineering and applications design and development.

A stovepipe organization has a structure which largely or entirely restricts the flow of information within the organization to up-down through lines of control, inhibiting or preventing cross-organisational communication. Many traditional, large organizations have a stovepipe pattern. Intelligence organizations may deliberately adopt a stovepipe pattern so that a breach or compromise in one area cannot easily spread to others. A famous example of this is Bletchley Park where people working in one hut would not know what the people in any other hut did.

<span class="mw-page-title-main">Structured analysis</span>

In software engineering, structured analysis (SA) and structured design (SD) are methods for analyzing business requirements and developing specifications for converting practices into computer programs, hardware configurations, and related manual procedures.

Programming productivity describes the degree of the ability of individual programmers or development teams to build and evolve software systems. Productivity traditionally refers to the ratio between the quantity of software produced and the cost spent for it. Here the delicacy lies in finding a reasonable way to define software quantity.

Scott W. Ambler is a Canadian software engineer, consultant and author. He is an author of books about the Disciplined Agile Delivery toolkit, the Unified process, Agile software development, the Unified Modeling Language, and Capability Maturity Model (CMM) development.

<span class="mw-page-title-main">Tim Lister</span>

Tim Lister is an American software engineer and author with specialty in design, software risk management, and human aspects of technological work. He is a Principal of The Atlantic Systems Guild Inc. and a fellow of the Cutter Consortium.

<span class="mw-page-title-main">Mike Beedle</span> American software engineer

Miguel "Mike" Beedle was an American software engineer and theoretical physicist who was a co-author of the Agile Manifesto.

Hands-on management is a particular style of management where the manager or person in charge is particularly active in day-to-day business and leadership. It is not to be confused with micromanagement and is seen as the opposite of Laissez-faire management style.

References

  1. Larry Constantine Constantine on Peopleware Prentice Hall, 1995, p. xxi. ( ISBN   0-13-331976-8)
  2. Silvia T. Acuna (2005). A Software Process Model Handbook for Incorporating People's Capabilities. pp. 9–11.
  3. Peter G. Neumann "Peopleware in Systems." in Peopleware in Systems. Cleveland, OH: Assoc. for Systems management, 1977, pp 15–18. ( ISBN   0-934356-13-0)
  4. Page-Jones, M. Practical Guide to Structured Systems Design. New York: Yourdon Press. ( ISBN   0-13-690769-5)
  5. Tom DeMarco and Timothy Lister. Peopleware: Productive Projects and Teams. New York: Dorset House, 1987. ( ISBN   0-932633-43-9)
  6. Larry Constantine The Peopleware Papers Prentice Hall, 2001. ( ISBN   0-13-060123-3)