Team programming: Difference between revisions

Content deleted Content added
expansion
further expansion
Line 1:
In [[software engineering]], '''team programming''' is a [[project management]] strategy for coordinating task distribution in [[computer software]] [[Software development|development]] projects, which involves the assignment of two or more [[computer programmer|computer programmers]] to work collaboratively on an individual sub-task within a larger programming project.
 
== Traditional team management methods ==
 
Traditional software development has nearly always involved multiple [[computer programmers|programmers]] working on separate parts of a computer system for any project of significant scope and scale -- a method of [[division of labour]]. Clearly, it is unreasonable to imagine that a single programmer could adequately complete all the required work for a complex system working entirely on their own; and as development projects become more complex, specialised expertise becomes of paramount importance in aspects such as [[systems analysis]], [[quality assurance]], and technical challenges posed by individual components. Initially this tended to be an informal process, but with the rise of commercial software development as a viable industry, a more industrial and systematic approach became necessary.
 
Systems methodologies originally designed for undertaking governmental projects, such as the [[Structured Systems Design and Analysis Methodology]] (SSADM), assigned individual people to carry out individual tasks, and specified the role of designers as being clearly separate from that of the programmers in the [[waterfall model|waterfall software development model]]. This methodology also clearly separated each of the individual "life-cycle" stages through which a system development project progressed.
 
== Modern trends: multiple programmers to one sub-task ==