Chief programmer team

Last updated

A chief programmer team is a programming team organized in a star around a "chief" role, granted to the software engineer who understands the system's intentions the best. Other team members get supporting roles. [1]

A programming team is a team of people who develop or maintain computer software. They may be organised in numerous ways, but the egoless programming team and chief programmer team have been common structures.

Software Non-tangible executable component of a computer

Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.

Engineer Professional practitioner of engineering and its sub classes

Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build, and test machines, systems, structures and materials to fulfill objectives and requirements while considering the limitations imposed by practicality, regulation, safety, and cost. The word engineer is derived from the Latin words ingeniare and ingenium ("cleverness"). The foundational qualifications of an engineer typically include a four-year bachelor's degree in an engineering discipline, or in some jurisdictions, a master's degree in an engineering discipline plus four to six years of peer-reviewed professional practice and passage of engineering board examinations.

Contents

The concept is similar to that of a surgical team in which a surgeon who performs the operation is supported by medical staff such as an anaesthetist and nurses. [1] Fred Brooks describes the concept in detail in The Mythical Man-Month, [2] as proposed by Harlan Mills [3] in 1971.

A surgical team is a team of people who perform surgery and related tasks. Roles in the team include surgeon, surgical assistant, surgical technologist, nurse, radiographer and anesthesiologist.

Surgeon physician with surgical specialty

In modern medicine, a surgeon is a physician who performs surgical operations. There are also surgeons in podiatry, dentistry maxillofacial surgeon and the veterinary fields.

Surgery Medical specialty

Surgery is a medical specialty that uses operative manual and instrumental techniques on a patient to investigate or treat a pathological condition such as a disease or injury, to help improve bodily function or appearance or to repair unwanted ruptured areas.

Team structure

The team consists of ten people. Various roles have been defined for team members, the following are taken from Brooks. [2]

In this arrangement the chief programmer and backup programmer actually work on the problem. The remaining team members provide "all conceivable support."

Related Research Articles

Edsger W. Dijkstra Dutch computer scientist

Edsger Wybe Dijkstra was a Dutch systems scientist, programmer, software engineer, science essayist, and pioneer in computing science. A theoretical physicist by training, he worked as a programmer at the Mathematisch Centrum (Amsterdam) from 1952 to 1962. A university professor for much of his life, Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at the University of Texas at Austin from 1984 until his retirement in 1999. He was a professor of mathematics at the Eindhoven University of Technology (1962–1984) and a research fellow at the Burroughs Corporation (1973–1984).

Fred Brooks American computer scientist (born 1931)

Frederick Phillips "Fred" Brooks Jr. is an American computer architect, software engineer, and computer scientist, best known for managing the development of IBM's System/360 family of computers and the OS/360 software support package, then later writing candidly about the process in his seminal book The Mythical Man-Month. Brooks has received many awards, including the National Medal of Technology in 1985 and the Turing Award in 1999.

Programmer person who writes computer software

A computer programmer, sometimes called more recently a coder, is a person who creates computer software. The term computer programmer can refer to a specialist in one area of computers, or to a generalist who writes code for many kinds of software.

<i>The Mythical Man-Month</i> book on software engineering and project management by Fred Brooks

The Mythical Man-Month: Essays on Software Engineering is a book on software engineering and project management by Fred Brooks first published in 1975, with subsequent editions in 1982 and 1995. Its central theme is that "adding manpower to a late software project makes it later". This idea is known as Brooks' law, and is presented along with the second-system effect and advocacy of prototyping.

System administrator person who maintains and operates a computer system and/or network

A system administrator, or sysadmin, is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems; especially multi-user computers, such as servers. The system administrator seeks to ensure that the uptime, performance, resources, and security of the computers they manage meet the needs of the users, without exceeding a set budget when doing so.

A lead programmer is a software engineer in charge of one or more software projects. Alternative titles include development lead, technical lead, lead software engineer, software design engineer lead, software development manager, software manager, or lead application developer. When primarily contributing in a high-level enterprise software design role, the title software architect is often used.

Bram Moolenaar Dutch computer programmer

Bram Moolenaar is a Dutch computer programmer and an active member of the open-source software community. He is the original author, maintainer, release manager, and benevolent dictator for life of Vim, a text editor that is very popular among programmers and power users. Since July 2006, Moolenaar has been employed by Google, working in the Zürich office. He is able to spend part of his time maintaining Vim.

Brooks' law is an observation about software project management according to which "adding human resources to a late software project makes it later". It was coined by Fred Brooks in his 1975 book The Mythical Man-Month. According to Brooks, there is an incremental person who, when added to a project, makes it take more, not less time. This is similar to the general law of diminishing returns in economics.

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

Database administrators (DBAs) use specialized software to store and organize data.

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

A technical director (TD) is usually a senior technical person within e.g. a software company, engineering firm, film studio, theatrical company or television studio. This person usually possesses the highest level of skill within a specific technical field.

From its beginnings in the 1960s, writing software has evolved into a profession concerned with how best to maximize the quality of software and of how to create it. Quality can refer to how maintainable software is, to its stability, speed, usability, testability, readability, size, cost, security, and number of flaws or "bugs", as well as to less measurable qualities like elegance, conciseness, and customer satisfaction, among many other attributes. How best to create high quality software is a separate and controversial problem covering software design principles, so-called "best practices" for writing code, as well as broader management issues such as optimal team size, process, how best to deliver software on time and as quickly as possible, work-place "culture", hiring practices, and so forth. All this falls under the broad rubric of software engineering.

A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system.

Addison-Wesley publisher

Addison-Wesley is a publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles through the Safari Books Online e-reference service. Addison-Wesley's majority of sales derive from the United States (55%) and Europe (22%).

In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise intention which programmers have in mind when conceiving their work. By using the appropriate level of abstraction at which the programmer is thinking, creating and maintaining computer programs become easier. By separating the concerns for intentions and how they are being operated upon, the software becomes more modular and allows for more reusable software code.

Harlan D. Mills was Professor of Computer Science at the Florida Institute of Technology and founder of Software Engineering Technology, Inc. of Vero Beach, Florida. Mills' contributions to software engineering have had a profound and enduring effect on education and industrial practice. Since earning his Ph.D. in Mathematics at Iowa State University in 1952, Mills led a distinguished career.

Extreme programming (XP) is an agile software development methodology used to implement software projects. This article details the practices used in this methodology. Extreme programming has 12 practices, grouped into four areas, derived from the best practices of software engineering.

In software engineering, team programming is a project management strategy for coordinating task distribution in computer software development projects, which involves the assignment of two or more computer programmers to work collaboratively on an individual sub-task within a larger programming project. In general, the manner in which this term is used today refers to methods currently in vogue within the software development industry where multiple individuals work simultaneously on the same activity; in these systems, programmers are often grouped in pairs at the same computer workstation, one observing the other working on the software and alternating roles at time intervals.

Robert Bruce Findler, colloquially known as "Robby", is an American computer scientist, currently, a professor of electrical engineering and computer science at Northwestern University. He is also a member of the PLT group and, as such, responsible for the creation and maintenance of DrRacket. In addition to DrRacket, Findler has contributed numerous components to Racket and supervises its Web-based software library, called PLaneT. Findler is also a leading team member of the ProgramByDesign project.

References

  1. 1 2 Doug Bell (2005), Software engineering for students: a programming approach, ISBN   9780321261274
  2. 1 2 Brooks, Jr., Frederick P. (1975). The Mythical Man-Month. Addison-Wesley Publishing Company. pp. 32––35.
  3. Mills, H. (1971), "Chief programmer teams, principles, and procedures", IBM Federal Systems Division Report FSC71-5108, Gaithersburg, Md.