Develop a new System Architecture

Get Started. It's Free
or sign up with your email address
Develop a new System Architecture by Mind Map: Develop a new System Architecture

1. Workshop

1.1. What is the expected outcome?

1.2. Setup time boxes

1.3. Setup rules

1.3.1. Mobiles Laptop off

1.3.2. Mails only 5 minutes per hour

1.4. Walkthrough

1.4.1. Create Solution Idea

1.4.2. Collect Influencing Factors

1.4.3. Collect Risks

1.4.4. Register Quality Criteria

1.4.5. Start to create Solution Design

1.4.5.1. System Context View

1.4.5.2. Building Block View

2. ITERATIVE PROCESS

2.1. Solution Idea

2.1.1. What is the core function of the system?

2.1.1.1. Problem Statement

2.1.1.2. Key Business Questions

2.1.1.3. Write down at least 2 to 3 sentences?

2.1.1.4. Required features and constraints

2.1.2. Have we solved a similar problem in the past? Do we have a system which performs a similar task?

2.1.2.1. Copy successful approaches, patterns, ...!

2.1.2.2. Excerpt learnings and experiences!

2.1.3. How is the system used?

2.1.3.1. Interactive and online

2.1.3.2. Real-time

2.1.3.3. Decision-support system

2.1.3.4. Batch/Offline

2.1.3.5. Embedded

2.1.3.6. ...?

2.1.4. Who uses the system in which way?

2.1.4.1. Personas

2.1.4.1.1. User

2.1.4.1.2. Operator

2.1.4.1.3. Administrator

2.1.4.1.4. Special User

2.1.4.1.5. ...?

2.1.4.2. Stakeholder

2.1.4.2.1. ... especially those who have a negative view on the project

2.1.5. What are interfaces to other systems?

2.1.5.1. External systems in and outside your organization

2.1.5.2. Data interfaces

2.1.5.3. Functional interfaces

2.1.5.4. Possibility to change interfaces

2.1.6. Does the system need an UI?

2.1.7. How will the data related to the system be managed?

2.1.7.1. Persistence

2.1.7.2. Volume

2.1.7.3. Performance

2.1.7.4. Scalability

2.1.7.5. Access

2.1.7.6. Integrity

2.1.7.7. Licenses

2.1.7.8. Transactions needed?

2.1.7.9. Crash recovery?

2.1.7.10. ...

2.1.8. How is the system controlled?

2.1.8.1. Event driven

2.1.8.2. Parallel

2.1.8.3. Declarative (based on rules)

2.1.8.4. Procedural

2.1.8.5. ...

2.1.9. IF YOU ARE NOT ABLE TO ANSWER SINGLE QUESTIONS, THERE MIGHT BE RISK!

2.2. Influencing Factors

2.2.1. Organisational Factors

2.2.1.1. Project Team

2.2.1.2. Decision-Makers

2.2.1.3. Partners and cooperations

2.2.1.4. ...

2.2.2. Iterations

2.2.2.1. When are first results needed?

2.2.2.2. What is a meaningful first iteration or MVP?

2.2.3. Resources

2.2.3.1. Schedule?

2.2.3.2. Budget?

2.2.3.3. Team?

2.2.3.4. Develop in-house?

2.2.4. Technical Factors

2.2.4.1. ... which are not part of the system design.

2.2.4.2. Infrastructure

2.2.4.3. Runtime Environment

2.2.4.4. Programming Languages

2.2.4.5. Libraries, Frameworks, ...

2.2.4.6. ...

2.3. Quality Characteristics

2.3.1. Create scenarios!

2.3.1.1. Application Scenarios

2.3.1.1.1. How does your system react during runtime on a specific trigger?

2.3.1.2. Change Scenarios

2.3.1.3. Stress and Edge Scenarios

2.3.2. Functionality

2.3.3. Reliability

2.3.4. Usability

2.3.5. Efficiency

2.3.6. Flexibility

2.3.7. Portability

2.4. Risks

2.4.1. What are unknown issues and critical paths out of the solution idea, influencing factors and quality characterics?

2.5. System Design

2.5.1. Follow the ARC42 template!

2.5.2. Clean Architecture, Robert C. Martin

2.5.3. Effektive Software-Architekturen, Gernot Starke, Chapter 4 to the end

2.5.4. Basiswissen Softwarearchitektur, Posch/Birken/Gerdom

2.5.5. The Twelve-Factor App

2.5.6. AWS Well-Architected - Build secure, efficient, cloud enabled applications