Uploaded by prasad sanjaya

6 - Architectural roadmap

advertisement
CT30A8912 Software and Systems Architectures
Spring 2024
LUT University
Architectural roadmap
This activity helps you communicate the technical strategy for the implementation of your proposed
software architecture, by clarifying the interdependencies and value of your ASRs over time, as well
as the significant risks that may hinder the implementation.
Part 1: Reviewing and organizing the backlog
Go through your list of ASRs and determine to which one(s) of the following categories they belong:
-
-
New features: Added functionality that delivers “visible” and positive business value to
stakeholders
Architectural or structural improvements: The “architecture runway” that should be
maintained behind the scenes to keep the system functional, scalable, or sustainable in the
long term
Bugs or defects: Problems that have a “visible” negative impact for the stakeholders or
might hinder the business
Technical debt: Sub-optimal or quick solutions that may bring as a trade-off some cost or
negative repercussions in the future
Keep in mind that these categories are not mutually exclusive but rather often overlap. After you have
identified each type of ASR, find out whether they have any dependencies to one another (e.g., ASR2 depends on the completion of ASR-1, or ASR-X must be delivered before our competitors implement
a similar feature, etc.). Provide a justification for the priorities that depend on the business context
and document the reasoning behind such decisions.
Use this newly gained and deeper understanding about the dependencies and impact of each ASR to
sort them out chronologically in a release timeline, proposing an “architectural roadmap” like the one
shown in the figure below. The timeline does not necessarily have to be bound to specific dates, but
can be organized on sprints, iterations, or product releases.
1(3)
CT30A8912 Software and Systems Architectures
Spring 2024
LUT University
Part 2: Risk assessment
The roadmap you have prepared is not set in stone but will be rather iteratively updated as the
software implementation progresses. However, under some circumstances this timeline might change
significantly.
Such probability of things not going as planned is often called a risk. In most cases, a risk can be
mitigated but still not fully avoided (i.e., reducing its probability to 0%). Thus, it is a good practice to
create a contingency plan and establish actions that allow to reduce the impact in case the risk occurs.
Discuss with your team, identify, and describe the top 3 risks that could significantly prevent you from
delivering your software solution as planned in your roadmap. You can use a probability vs. impact
matrix to quantify the level of risk. Include in the description any mitigation and contingency actions
you would take for each risk.
Deliverables
Your written deliverable should describe at least the following aspects (but not necessarily in the
same order):
-
-
Material from the previous tasks, possibly updated
Architectural roadmap
Top 3 risks for the roadmap implementation, explaining how the risk level was quantified,
the mitigation and contingency actions for each risk
Work hour estimations for each group member, including this task and any previous tasks.
Please also indicate how many hours were used for group meetings, how many hours for
individual work
Change log, indicating any significant updates made to the document since the last revision
The written deliverable is returned as a single PDF document. If necessary, your models can be
uploaded as separate image files.
2(3)
CT30A8912 Software and Systems Architectures
Spring 2024
LUT University
Tips
-
-
The architectural roadmap is an important element in the release plan of your software
project. If the ASRs were prioritized using the “MoSCoW” method, then the “Must do” ASRs
will be listed at the beginning of the timeline, likely followed by the “Should do”, and by the
“Could do” ASRs in the same order of priorities, respectively
Risks make you re-evaluate the importance of your ASRs and their implementation timing. An
ASR with high risk and high priority should be addressed sooner in the roadmap, because it
will add business value to the software product. On the other hand, an ASR with high risk and
low priority should be postponed or avoided until it becomes essential, since it does not
deliver enough value to justify running risks too early in the project.
References
Kruchten, P., Nord, R.L. and Ozkaya, I., 2012. Technical debt: From metaphor to theory and
practice. IEEE Software, 29(6), pp.18-21.
Poort, E., 2016. Just enough anticipation: Architect your time dimension. IEEE Software, 33(6), pp.1115.
3(3)
Download