The task involves the initial research on the available state-of-the-art Software Architecture (SA) documentation processes, tools, etc. that help to maintain a Software Architecture documentation.
Comprehension of the SA documentation process at Wikimedia keeping the evaluation goals in mind is an essential part of this thesis. It also focuses on critical evaluation of the SA documentation process to derive requirements for its improvement.
That is why an improved SA documentation process will be proposed and evaluated.
A good software architecture is the starting point or more so, a focal point of a good software. But to make this software maintainable, extendable and sustainable, a state-of-the-art SA documentation process is required. Especially, complex open-source software that grow exponentially with time, e.g. MediaWiki, this documentation needs to satisfy the needs of new developers, provide a holistic view of the current changes to the users and also provide means for documenting the ideas of the software architect himself.
This research thesis aims to analyze the current software architecture documentation process of MediaWiki and understand its utility for different stakeholders. The evaluation of this existing documentation process will reveal its level of usability and maintainability. This will further give a way for possibly a better standard of a maintainable documentation process that can be utilized in similar large open-source projects in future.
Also, an idea for a SA documentation tool can be proposed that can improve the documentation process with respect to the different views for different stakeholders.
Step1: Review the available SA documentation processes and analyze its quality.
Find out who are the stakeholders
Interview the stakeholders
Derive new requirements from the interviews
Step 2: Present ideas for a better maintainable SA documentation.
IRC is not enough as a documentation process.
Analysis of the existing tools for documentation process
Defining a tool that satisfies previously derived requirements (??)
Perform documentation process using previously defined tool
Step 3: Evaluate improvements of the process inside Wikimedia by interviewing the stakeholders.
Requirements for the tool (the list can be extended or changed):
Maintainability:
Access rights, roles (who sees what, who can edit what?)
Accessibility (navigation, index, glossary, search)
Versioning (Conflicts resolution)
Consistency (broken links, metrics)
Extra
Aspects of MediaWiki that need to be reviewed:
.
Name | Type | Size | Last Modification | Last Editor |
---|---|---|---|---|
Ankitaa FinalPresentation.pptx | 1,81 MB | 16.09.2015 | ||
Ankitaa_main.pdf | 3,56 MB | 16.09.2015 | ||
kick_off_Ankitaa_Bhowmick.pdf | 744 KB | 13.04.2015 |