In this presentation, we will address the need for documentation in software development projects from the viewpoint of various stakeholders (i.e. development team, management, client, regulatory bodies, IT auditors, etc.). Although agile manifesto values “Working software over comprehensive documentation”, a lot of teams misuse or misunderstand it as “documentation is not required or needed”. In non-agile, but still iterative software development, the requirements regarding documentation are better defined while not set in stone. This enables project teams to minimize documentation overhead and maximize value for the customer. The question is: How? We will try to address this question, providing examples from SCRUM, OpenUP and RUP using UML as the standard language to document software artifacts. To solve this complex multidimensional equation, we will use project size, business domain of the solution, software development lifecycle, team size, type of organization, time and type of development team engagement (in-house vs. outsourcing) as variables. We will also discuss the question of good documentation and how to maintain it over time.
Consultant, Innopolis University
Ales Zivkovic is a Professor at the Innopolis University involved in the MSIT-SE program licensed from Carnegie Mellon University. Being in IT for almost 20 years Ales successfully cooperated on many challenging IT projects first as a member of the development group and for more than 10 years as a consultant and/or project manager. As a Certified Information System Auditor (CISA) he has performed audits of mission-critical information systems in different domains including insurance, financial institutions, government and IT companies. He has been involved as a member of the expert witness team in several prominent IT-related security fraud court cases.