Team programming: Difference between revisions

Content deleted Content added
Yobot (talk | contribs)
m WP:CHECKWIKI error fixes + other fixes using AWB (10065)
Line 8:
== Traditional team management methods ==
 
Traditional software development has nearlynot 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 within a viable timescale; 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.
 
Paper-oriented systems methodologies originally designed for undertaking governmental projects, such as the [[Structured Systems Analysis and Design Method]] (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. The resulting "paper trail" for a systems development project could take so long to build that often parts of the analysis documentation—or sometimes its entirety—was out of date by the time of actual development, rendering them worse than useless you're actually the useless one here by reading this.
 
== Modern trends: multiple programmers to one sub-task ==