Team programming: Difference between revisions

Content deleted Content added
further improvements
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. 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.
 
== Traditional team management methods ==
Line 9:
== Modern trends: multiple programmers to one sub-task ==
 
InDifficulties experienced with these older methods, such as costs spiralling out of control as systems grew, and schedules failing to meet time-to-market targets, gave rise to techniques such as [[pair programming]],. conceivedConceived in the early [[1990s]], these strategies involve multiple programmers workworking collaboratively on the ''same'' piece of [[source code]] as opposed to being ''individually'' responsible for individual tasks. This technique is frequently used in newer programming methodologies that are focused around [[object-oriented]] programming techniques, such as the [[Rational Unified Process]] and [[Extreme Programming]] (acronym "XP"), often in combination with design documentation methods such as the [[Unified Modelling Language]] (UML).
 
In "pair programming", responsibility for the resulting product is equally shared between two programmers who work on their assigned sub-task together. Benefits of this approach include the ability for deficiencies in knowledge and ability in specific areas to be compensated for by the other programmer; in addition, the shared responsibility is thought to increase incentives for meeting project deadlines and quality targets.