This repository is currently maintained by Gernot Starke, Markus Harrer, and Benjamin Wolf.
It was forked from https://github.com/isaqb-org/advanced-template, so the contributors of that project basically contributed to this one, too.
Some learning goals still have "fill phrases" in it e. g. "Know and being able to apply improvement measures for source code". They provide no additional benefit and can be removed.
In this issues we are gathering release notes (for changes that aren't directly obvious from the change log):
removed "categories of relevance" for learning goals
upgraded version of Advanced Level template
improved the term for analyzing data in applications from "data analysis" to "analysis of application data" because "data analysis" is a established term
removed phrases from the learning goals that don't provide any additional value but disrupt the flow of reading
A more comprehensive and up-to-date literature would help participants gain a deeper understanding of the topic.
Here are some ideas:
The curriculum references the first edition of the refactoring book "Refactoring: Improving the Design of Existing Code". Update the reference to the second edition that was released in 2018.
Add the book “Object-Oriented Reengineering Patterns” to the list of references. It is now available for free at the following URL: https://oorp.github.io./
Add more recent literature to the references, e.g. Newman, S. (2020). Monolith to microservices: Evolutionary patterns to transform your monolith. O’Reilly Media, Inc. , ISBN: 9781492047841
There are different types of centers (organizational units) within an organization like cost center, profit center, revenue center, investment center. Each different center has other characteristics regarding its goals and competences. I find it very valuable to know how the IT department (or specific projects or even software systems that need modernization) are seen from the C-level to create a modernization plan that catches people that have the budget responsibility.
Thus, I conclude that using cost factors alone as motivation for modernization is insufficient if your goal is not merely cost savings but rather dominating an entire market / growth.
The curriculum has a focus on IT systems. Since databases are a substantial part of most systems, it is important to consider database topics in the curriculum.
Some of the subsequent topics could be part of the learning goal.
Split-up Database
Shared Database
Database View
Database Wrapping Service
Database-as-a-Service Interface
Aggregate Exposing Monolith
Change Data Ownership
Split Table
Move Foreign-key Relationship to Code
Data quality criteria
Credibility
Usefulness
Interpretability
Key integrity
Clean data:
Remove irrelevant data
Save data with the right data type
Drop or merge duplicates
Scale, transform, normalize
Deal with missing values: drop, impute, hot-deck, flag
The current use of the term "data analysis" is ambiguous. In general, data analysis refers to the analysis of data to gather new insights. The curriculum primarily refers to the analysis of data stored and processed by applications. The term should therefore be sharpened.
In the improvement section of the curriculum, there are plenty of phrases that could lead to the impression that this course is all about legacy code refactoring.
Examples:
In LG 5-2: Know and being able to apply typical technology/programming language-specific refactorings (semantics preserving simplification measures in source code). Training should conduct exercises if required.
In LG 5-3: now and being able to autonomously apply automated tests ...
This could lead to different expectations regarding attendees as well as different training approaches of trainers. To fix this, we need to sharpen what should be talked about in IMPROVE and what not. E.g., topics like using IDEs to refactor code are other training courses for software developers.
Add a reference for Run-the-Compoany (RTC) and Develop-theCompany (DTC). It's hard to find information about these two names on the Internet. Where thy come from? There should be a reference. Is RTC just another name for Operating Expense (dt. Betriebskosen) and DTC for Capital Expense (dt. Investitionskosten)?
as we are using common terms like "analyze" with our very specific semantics, these terms shall be defined/explained in a curriculum-specific glossary.
Such a glossary is NOT part of the advanced-template.
(we create a similar glossary within the new req4arc curriculum - and will happily share the appropriate adoc file(s).)