Graduation Semester and Year




Document Type


Degree Name

Master of Science in Computer Science


Computer Science and Engineering

First Advisor

David Levine


The motivation of this thesis comes from the professional experience of the author. Having worked with very small software development teams in various capacities, he realized that significant improvements could be achieved by the application of modern software engineering practices and principles. This paper is the result of researching how the principles and practices promoted by the leading software development authors can be applied to the small development team as they transition from "programming in the small" to "programming in the medium." This paper investigates the best practices and principles in various case studies with the objective to clearly define how the application of these practices and principles contributed to a successful software project. Several chapters are dedicated to reviewing techniques applicable to each of the phases of the software lifecycle with examples of each technique. The paper culminates with the author's recommendation of principles and practices for the small development team which can and should be used to improve the quality and overall time of the software development lifecycle of a small project. Each practice used in these case studies is evaluated for practical use in a small project, discussing the advantages and disadvantages of each tool while also exposing some reasons why trained software engineers often neglect these practices. The paper concludes with suggestions from the author of appropriate application of the practices and principles to small development teams.


Computer Sciences | Physical Sciences and Mathematics


Degree granted by The University of Texas at Arlington