Solutions Architect specific Flashcards

1
Q

What is ”the stability trilemma”?

A

Kind of like a blockchain law of physics!

What that means is, given the same level of security, if you want to increase a blockchain’s scalability, you must sacrifice its decentralization.

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

Name the 6 steps of dApp design

A
Guiding principles
Personas
User stories
Functional requirements
Technical requirements
Tasks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a persona?

A

A person in a certain circumstance, particular environment doing something specific

One person can have multiple personas

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

What should you include when creating a persona?

A

About the persona and their problem they face (that your solution intends to solve)

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

What are user stories based on?

A

Personas

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

What do you include in user stories?

A

One or two sentences that capture:

WHO the user is
WHAT they want
WHY they want it

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

………….. are extracted from user stories.

A

Functional requirements

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

What is contained in a functional requirement?

A

1 or more functional requirement per user story

E.g.

  • View all submitted expenses from previous day
  • Approve or deny with one click
  • Approved expenses to be sent to accounting for payout
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Give an example of user story format

A

As a ____, I want to achieve ____ so that I realize the following benefit of ____.

Example:

As a user, I want to be able to reset my password so I can get back into the system if I forget it.

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

…………… describe how a user interacts with your solution in a particular use case

A

User stories

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

What are functional requirements

A

Tend to be very detailed and take a longer time to write.
These often go into specific detail on how the software should work.
Those details then guide the development team on how to build a new feature or functionality.

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

Give an example of a functional recruitment.

A

The user is allowed to reset their password once they have received a password reset email.

The email should contain a unique link for resetting the password and that link should expire after two hours.

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

Summarise the following:
Personas
User stories
Functional requirements

A

Personas - circumstance, desired interaction
User stories - WHAT the USER wants in a particular use case (step by step)
Functional requirement - WHAT the SOFTWARE should do (to allow the user to do what they want)

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

What are tasks?

A

Steps to be taken in sequence to fulfil each technical requirement

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

How should you format your tasks?

A
Title
Owner
Description
Time estimate
Resource req.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Who should write user stories?

A

Anyone close to the software — developers raising issues, a QA tester who discovers a flaw in the UX — as long as it represents the end user’s perspective.

17
Q

Who should maintain the backlog of user stories?

A

The product manager or owner

18
Q

Who should write the functional and technical requirements?

A
product manager (or)
product owner (or)
business analyst
19
Q

Aside from the usual people, who else might be involved in functional and technical requirements?

A

Technical leads as well as the engineers who will be responsible for working on the features or improvements.

20
Q

When are user stories written?

A

Throughout the building of a product

21
Q

Where are user stories kept until they are worked on?

A

In the product backlog

This serves as a prioritized list of the functionality that needs to be developed

22
Q

What is the top priority when writing user stories or requirements?

A

To describe the desired outcome for the customer

Giving development the information they need to build it successfully.

23
Q

Are user stories always needed?

A

No

24
Q

How do you decide if a user story is needed?

A

If what you are requesting to build has a direct benefit to your end users, write a user story.

If it is more central to the core of a product or infrastructure, jump to defining requirements.

25
Q

What are the two things that should be included in acceptance testing?

A

Does it meet:

Function requirements - does it work
Non-functional requirements - how well does it work

26
Q

In agile when is the best time to write requirements from user stories?

A

Just BEFORE development begins to define most (if not all) the acceptance criteria. This assures that the large majority of the higher-effort complete requirements (user story + acceptance criteria) are likely to be used and not wasted (which can happen if the user story changes/discarded as often happens in agile)

27
Q

What is the official definition of solution architecture?

A

The practice of defining and describing an architecture of a system delivered
in context of a specific solution and as such it
may encompass description of:
an entire system or only its specific parts

28
Q

How can you use Agile in blockchain development?

A

Pre-release to production environment (release cannot be part of the sprint process)

29
Q

What stages of an Agile sprint should be used when developing a dApp?

A

Plan
Develop
Test
[NOT release]

30
Q

What method is best to use after release?

A

Waterfall

31
Q

Why is it best not to include a release as part of a dApp Agile sprint?

A
  • expensive to continually release smart Contracts

- messy and even dangerous to have multiple versions

32
Q

How should you decide on a technology to build your dApp on?

A

Based on the platforms ability to provide the requirements for your solution

33
Q

Monolithic design is more …………

A

Secure

34
Q

Modular design is more ………..

A

Efficient

35
Q

What are the advantage of using pull payments?

A

Allows you to verify identity in 2 places
If the wallet connected to the payment is lost or compromised money is lost
User can choose which wallet to put the money into