Agile architecture Flashcards

1
Q

What are the values of the Agile Manifesto?

A

Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.

That is, while there is value in the items on the right, we value the items on the left more.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is scrum?

A

Development methodology that splits development to iterations (called sprints):
* Having a pre-agreed development scope
* Having a standard duration
* Finishes with a demonstration of the end-user functionality developed in the sprint
* The customer and end-user approve the sprint demo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is DevOps?

A
  • Methodology, toolset and culture that combines development & operations.
  • Requires by definition infrastructure as code and scripts are managed like code in SCM
  • High focus on availability
  • No more development and operations as separate departments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is SAFE?

A
  • Scrum for large systems and/or organizations (> 3 Scrum teams)
  • Teams are grouped together in Agile Release Trains (ART)
  • Sprints are grouped in program increments (PIs): Each PI contains x sprints
    • Sprint planning & demo: internally in the team
    • PI planning & demo with the whole ART
  • Organized in 3 abstraction layers (Enterprise, solution, train)

Enterprise architecture. Focus: the overall strategic architecture.
Solution architecture. Focus: Apply EA and set the frame for train architecture.
Train architecture. Focus: Apply EA and set the frame for train architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some other relevant methods of agile?

A
  • ScrumBan
    Combination of Scrum & Kanban
  • Scrum-but
    Tailoring Scrum by taking parts of the framework
  • Spotify model
    An attempt to frame agile culture in a scaled manner
  • Extreme programing
    Early approach to quality-focused software development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are some relevant focus areas of agile architecture and qualities?

A

Modifiability:
Facilitates the constant change in requirements.

Interoperability:
Focus on the integration among the development of independent teams (especially in large systems)

Time-to-market:
Architect the system in such a way to allow for rapid release.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What two types of architecture exists in agile?

A

Up-front or Intentional architecture:
The architecture that is planed and designed before the development.

Emerging or evolving architecture:
The architecture of the system as it evolves through the development

Too much intentional architecture does not leave space for innovation and modifiability according to changes the environment around the system e.g. requirements or users being more knowledgeable.
Too little intentional architecture risks the commitment to the overall qualities of the system or introducing to much technical debt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is architecturtal runway?

A

Slide: “In the architectural runway we match the features with their required enablers. We then plan what enablers should be developed when and possibly by which team.”

The Scaled Agile Framework, SAFe, describes Architectural Runway as:
“The existing code, components, and technical infrastructure needed to implement near-term features without excessive redesign and delay”

Architectural Runway is the result of just enough upfront design. By doing some conscious upfront design you not only identify the changes you need but also roughly how big those changes are. This helps with your own team’s planning.
You also identify where you need other teams to deliver change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Who builds the enablers in the architectural runway? (Describe horizontal decomposition, enhanced horizontal decomposition, and vertical decomposition)

A

Three stages of maturity in an agile development project:

Horizontal decomposition:
Each team builds their own enablers to support their features

Enhanced horizontal decomposition:
Each team builds their own enablers but there exists a set of specs, documentation, standards etc. on how to build them

Vertical decomposition:
Each team builds their functionality utilizing the existing enablers. The enablers are either build as generic from each individual team or are provided by an infrastructure team that only builds enablers (applicable to large projects)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly