Purpose of this thesis is representation of software development principles that are needed in order to insure a quality software product. Selection of principles is based on author's work experiences. The thesis presents three different software development life cycle models: waterfall model, rapid application development model and agile models (focused on Scrum). Thesis describes software development process quality and two related concepts: technical debt and SQALE grade. Recommended principles are management of user requirements, programming language, version control system, branching and work flows, build server, build artifacts server, automatic and peer code review, deployment mechanism and postmortem analysis. In last segment the thesis shows combined use of recommended elements on a use case - development of an on-line store. An example how to automate software development process is shown on the same use case. Finally advantages and benefits of this approach are listed.
|