What's ADKT
Architecture Design Decision Knowledge Traceability Tool
What’s Software Architecture?
We can define software architecture as the organization and structure of software components to communicate with other components and create more complex systems. It is then in the design stage where efforts are made to achieve an optimal organization that benefits both functional and quality requirements. This structure and organization can be evidenced in diagrams or some other understandable view for different audiences. However, the presentation of these diagrams or documents is nothing more than the synthesis of decisions that are made to arrive at a certain version of a design. Due to the above, we could define the software architecture as a set of decisions that involve changes to the structure, business rules, restrictions, and new functionalities according to the requirements.
Why it’s important to document it?
There are different ways, tools and styles to document software architecture, with UML being the most traditional way of doing it. Other approaches choose to safeguard the knowledge behind the diagrams and the other artifacts involved in the decision involving some architectural change. The foregoing, because over time this knowledge tends to evaporate for different reasons, causing future decisions to be made without considering the reasons for the previous ones, and consequently, costs and rework are generated in the development and maintenance of energy-intensive systems. software.
What’s ADKT?
ADKT is a web platform that allows the registration and traceability of the reasons behind architectural design decisions and the artifacts involved in them. The main goal of ADKT is to provide a standardized way of receiving architecture design decisions from different knowledge sources.
ADKT is composed by 2 components:
API: To manage design decision from anywhere through an API KEY
UI: Graphical dashboard where decision management can be done manually.