ASE questions Flashcards

(82 cards)

1
Q

What is Software Engineering (SE) a response to?

A

(complexity, failure)

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

What are the SE process activities?

A

(specification, design, development, validation, evolution)

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

What is a software process model?

A

(Set of related activities that lead to a software product)

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

Describe the characteristics of the waterfall model.

A

(Activities in sequence, handover of work products between phases, milestones, and related work products are used to monitor progress)

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

Describe the incremental/iterative model.

A

(You slice the big plan into smaller slices)

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

When should you consider to use waterfall?

A

(On projects using embedded systems; are life critical; or very large)

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

How can I determine if incremental/iterative or waterfall fits me?

A

(Boehm: Analyze the home ground)

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

Describe how the incremental model works, can it be plan-driven, can it be iterative?

A

(You can iterate within increments; you can have increments planned)

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

What are the advantages of the incremental/iterative model?

A

(a) price on requirements changes are less, b) easier to get feedback, c) customer gets earlier an opportunity to use part of the product and obtain the related value where use and value comes at the very end when using waterfall)

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

–Waterfall / Incrementiel / Iterativ: What disadvantages are there?

A

(a) The process is invisible – management support for measurable progress can increase documentation cost, b) a software systems infrastructure tends to deteriorate as new increments are added)

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

What is the difference between plan-driven and agile?

A

plan-driven aim to predict desired results, agile expects change and uses frequent inspection and adapt to create the best value

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

How do Böhm and Turner define primary factors?

A

(a) Application (small, rapid change, turbulent environment), b) Management (onsite, qualitative control, tacit knowledge), c) Technical (Prioritized informal requirements, simple design), d) People (Cockburn L2 and L3 developers)

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

What is the meaning of the 5 axes in the Home Ground Decision Tool?

A

Criticality, Personnel, Dynamism, Culture, Size

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

Why do requirements change?

A

Business, technology, learning from use

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

What is continuous integration in agile, and how does it differ from prototype development?

A

A shippable product is maintained while prototypes should be discarded

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

XP practices

A

Customer on site, pair programming, planning game, TDD, continues integration, sustainable pace

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

Scrum vs. plan-driven roles

A

PO+SM+Team versus Lots of roles incl. Managers and specialists

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

Scrum practices

A

Sprint Planning+Daily Scrum+Sprint Review+Sprint Retrospective+Backlog refinement

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

Agile vs. plan-driven Artifacts

A

Product Burndown+Sprint Burndown+Scrum board versus Project Plan, Gant chart, Requirement specification, etc.

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

Plan-driven counterparts

A

predict what to deliver, plan the work, work the plan, knowledge sharing through documentation

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

What is Scrum?

A

Iterative agile method

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

Describe essential elements from Scrum.

A

(a) Scrum roles, (Product Owner, Scrum Master, Team), b) Scrum practices (Sprint Planning+Daily Scrum+Sprint Review+Sprint Retrospective+Backlog refinement), c) Scrum artifacts (e.g., Product Burndown+Sprint Burndown+Scrum board)

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

What is the focus of Scrum in the development process?

A

Focus on an empirical instead of defined process, and therefore the three pillars of Scrum are Transparency, Inspect and Adapt

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

Can you mention one or more Core values in Scrum?

A

Commitment (to iteration goal), Focus (on iteration goals), Openness (to work and progress), Respect (or team responsibility), and Courage (for management to trust the team, for the team to take responsibility)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Can you mention some typical errors or mistakes in the use of Scrum?
(a) Scrum master implemented as a manager who tells the team what to do (right way: Facilitator for the team), b) Customers are not involved in each iteration, c) New requirements or tasks are added to the team during iteration
26
Can you say something about eXtreme Programming (XP) and what techniques in particular fit Scrum?
e.g., Customer on-site, user stories, planning game, etc.
27
How do Böhm and Turner define the primary factors to balance plan-driven and agile?
(a) Application (small, rapid change, turbulent environment), b) Management (onsite, qualitative control, tacit knowledge), c) Technical (Prioritized informal requirements, simple design), d) People (Cockburn L2 and L3 developers)
28
Why do requirements change?
Business, technology, learning from use
29
How can you manage requirements and requirements change?
Change process, analysis of impact
30
What is eXtreme Programming (XP)?
An agile (Iterative and incremental development method with a focus on collaboration, early software creation and skillful development practices)
31
What values are XP based on, according to Larman?
Communication, Simplicity, Feedback, Courage
32
How is eXtreme Programming (XP) extreme?
E.g., if testing is good do it all the time
33
Name some of the key practices in XP?
unit test, pair review, Customer on-site, continuous integration, testing including Early test, Unit Test, and TDD
34
What is a user story?
Brief feature request, a promise for a conversation. Written on a card and criteria for confirmation written on the back
35
What is the format of a user story?
As a I want so that
36
How does XP describe the Lifecycle of a System?
Exploration, Planning, Iterations to first release, production, maintenance
37
What is the iteration called in XP?
Iteration
38
What is Test Driven Development?
A work cycle: write test first, then simplest code to pass test, then refactor code
39
Why is Test Driven Development good?
You have a safety net, a low cost of defect, always doing small steps, less fear to change code, and better code quality (readable, maintainable, less bugs)
40
What main requirement activities are there?
Elicitation and analyses of needs, specification of requirements, validation of requirements
41
What are the steps in requirements elicitation?
(a) Discovery & Classification, b) Categorization, c) Prioritization & Negotiation, d) Documentation
42
Why is it difficult to elicit requirements?
Many stakeholders with conflicting needs, stakeholders talk their own language, tacit knowledge and unconscious actions are not communicated, stakeholder and requirements engineer talk two different languages
43
What techniques can be used to elicit requirements?
Interview, Ethnography, Prototypes
44
What is a recognized way to communicate requirements?
Stories / scenarios
45
How are requirements documented?
(a) Waterfall: Approved requirements document with strict change management, b) Scrum: Product vision and product backlog, reviewed and updated every sprint, c) Product Planning: Product vision, Release plans and/or product roadmaps, c) XP: User stories
46
How are requirements negotiated with stakeholders?
(a) Waterfall: Up front in the requirements phase – state it now or it will be difficult later to get it, b) Scrum: Ongoing refinement of product backlog with stakeholders, say what is most important now, we will continue, c) XP: Customer on site
47
What is agile planning?
Welcomes changes, works from a prioritized product backlog, where content is constantly refined from the top and adjusted to learning. This is called sprint planning in Scrum and the planning game in XP
48
How can we estimate work?
(a) Using experience-based estimation (Planning poker), b) Algorithmic-based use of models, c) Velocity-based for the team measured in story points
49
What is a risk?
Something that may happen and causes a loss
50
Provide examples of risks and their categories.
categories: project, technical, business / risks: Keyperson from team leaves, a supplier is not delivering as promised
51
How do you do risk analysis?
a) Identify risks and calculate risk exposure (RE = probability * loss) and describe consequence b) Prioritize according to risk exposure (RE), establish cut-line c) Establish for each risk above the cut-line (RMMM: mitigation (prevention) plan — how can we prevent risk to happen, contingency plan (management) plan - if it happens anyway, what to then do, how to monitor development of the risk - called RMMM plan)
52
How are risk management part of project management?
a) Waterfall / plan-driven: Risk and risk plans are part of the plans in project management, Development of other plans contribute to identification of risk, It is planned how. b) Agile - inspect and adapt to produce the right product: Daily Scrum: Do you have any impediments, Sprint review: Inspects risk related to product and stakeholder, Sprint retrospective: Addresses risks related to how the team works.
53
What is the spiral model and how is it related to risk management?
uses prototypes iteratively to assess risks
54
What are Boehm’s primary risks?
Personnel shortcomings, unrealistic schedule, wrong function, ..
55
How can quality be defined?
Correspondence between experience and expectation of a product
56
How is quality assured?
We plan how and when to do verification and validation
57
What is Verification and Validation?
VER = compliant to spec, VAL = fit for use
58
What techniques do we typically use for verification and validation?
Test is often used for verification, and review or evaluation are used for validation
59
What are inspections and tests good for?
code coverage, regression test, simplified debugging, documentation
60
Why can't we have all quality attributes?
tradeoffs are necessary, e.g., reusability vs efficiency
61
What is the V-model?
A model showing the relationship between test at different levels and primary activities driving the test: a) acceptance testing, b) system testing, c) system integration testing, d) sub-system integration testing, e) unit testing
62
What should be considered when writing unit tests?
Show the component works, reveal defects, possible inputs and outputs – to partition test data
63
What agile practices support V&V?
a) Definition of Done, b) Sprint Review, c) Check before check-in, d) Never break the build, e) Fix problems when you see them, f) Culture where team members assume responsibility for ensuring high quality, g) XP: Customer on site, h) XP: Pair programming
64
How does Pair-programming help ensure quality?
ongoing peer-review
65
What is test?
a set of practices supporting Verification and Validation
66
What is the purpose of testing?
To ensure a program does what it is intended to do, and discover bugs before it is put to use
67
What is an example of a test supporting verification and validation?
VER: Unit test, component test | VAL: Prototype test, user acceptance test
68
What is peer review?
Evaluation of work by one or more people with similar competences as the producers of the work (peers). Work is mostly documents but can also be static analysis of code
69
What is the difference between review and test?
Review is static, and there are no interactions between errors found in review. Test is dynamic, and after the first bug, other bugs may be a side effect
70
When is either review or test good?
Review: For documents, designs, architectures, plans | Test: For functionality and dynamic use of the program
71
What is the test focus of a unit test, integration test, and acceptance test?
Unit: Verify valid and invalid inputs | Integration: Verify interfaces are compatible and work as expected | Validation: Fit for use, exploratory test
72
When is test done?
Plan-driven: In the end (Often a dedicated test team as part of QA) Agile: All the time (Test competence in the team, accept criteria on story, automated test, TDD)
73
What is the agile testing quadrant?
An agile categorization of different types of test (can be considered an alternative to the V-model) along two axes: Technology facing ↔ Business Facing and Support the team ↔ Critique the product
74
What is best, from an agile perspective, many manual tests, or many automated tests?
Many automated, few manual is best. Why? Otherwise, tests take too long, are error-prone, and feedback from tests is too slow
75
What is CM concerned with?
Policies, processes & tools for managing changing software systems
76
What are the key activities in CM?
Version management, System building, Change management and release management
77
What is CM, branching, merging?
Techniques to support release, builds, baselines
78
What is a baseline?
A description of a release that allows us to build the release again in the future. It includes a description of the version of code files that go into the release and any documentation and external libraries as they were when the release was created
79
What goes into a release?
All code, data, configuration files, documentation
80
What is DevOps, and how can you define it?
DevOps is a practice of both the development and the operations and a development method for the IT systems that connect the different activities in the project. It is also defined from The Three Ways: Flow, Feedback, continuous learning
81
What is the purpose of Continuous Integration?
When the code is checked in, it will then automatically be integrated with a tool. CI will integrate the developers' work as early/often and get them constantly tested
82
What is the purpose of Continuous Delivery and Deployment?
Continuous Delivery works with ensuring that the code can be safely deployed (production), to ensure that the business and service application work as expected and delivers every change to production. Continuous Deployment works with the automated test and ensures that every change is deployed to production automatically while making the development and release process faster and more robust