ASE questions Flashcards

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
Q

Can you mention some typical errors or mistakes in the use of Scrum?

A

(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

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

Can you say something about eXtreme Programming (XP) and what techniques in particular fit Scrum?

A

e.g., Customer on-site, user stories, planning game, etc.

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

How do Böhm and Turner define the primary factors to balance plan-driven and agile?

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
28
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
29
Q

How can you manage requirements and requirements change?

A

Change process, analysis of impact

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

What is eXtreme Programming (XP)?

A

An agile (Iterative and incremental development method with a focus on collaboration, early software creation and skillful development practices)

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

What values are XP based on, according to Larman?

A

Communication, Simplicity, Feedback, Courage

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

How is eXtreme Programming (XP) extreme?

A

E.g., if testing is good do it all the time

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

Name some of the key practices in XP?

A

unit test, pair review, Customer on-site, continuous integration, testing including Early test, Unit Test, and TDD

34
Q

What is a user story?

A

Brief feature request, a promise for a conversation. Written on a card and criteria for confirmation written on the back

35
Q

What is the format of a user story?

A

As a <user> I want <feature> so that <why></why></feature></user>

36
Q

How does XP describe the Lifecycle of a System?

A

Exploration, Planning, Iterations to first release, production, maintenance

37
Q

What is the iteration called in XP?

38
Q

What is Test Driven Development?

A

A work cycle: write test first, then simplest code to pass test, then refactor code

39
Q

Why is Test Driven Development good?

A

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
Q

What main requirement activities are there?

A

Elicitation and analyses of needs, specification of requirements, validation of requirements

41
Q

What are the steps in requirements elicitation?

A

(a) Discovery & Classification, b) Categorization, c) Prioritization & Negotiation, d) Documentation

42
Q

Why is it difficult to elicit requirements?

A

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
Q

What techniques can be used to elicit requirements?

A

Interview, Ethnography, Prototypes

44
Q

What is a recognized way to communicate requirements?

A

Stories / scenarios

45
Q

How are requirements documented?

A

(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
Q

How are requirements negotiated with stakeholders?

A

(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
Q

What is agile planning?

A

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
Q

How can we estimate work?

A

(a) Using experience-based estimation (Planning poker), b) Algorithmic-based use of models, c) Velocity-based for the team measured in story points

49
Q

What is a risk?

A

Something that may happen and causes a loss

50
Q

Provide examples of risks and their categories.

A

categories: project, technical, business / risks: Keyperson from team leaves, a supplier is not delivering as promised

51
Q

How do you do risk analysis?

A

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
Q

How are risk management part of project management?

A

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
Q

What is the spiral model and how is it related to risk management?

A

uses prototypes iteratively to assess risks

54
Q

What are Boehm’s primary risks?

A

Personnel shortcomings, unrealistic schedule, wrong function, ..

55
Q

How can quality be defined?

A

Correspondence between experience and expectation of a product

56
Q

How is quality assured?

A

We plan how and when to do verification and validation

57
Q

What is Verification and Validation?

A

VER = compliant to spec, VAL = fit for use

58
Q

What techniques do we typically use for verification and validation?

A

Test is often used for verification, and review or evaluation are used for validation

59
Q

What are inspections and tests good for?

A

code coverage, regression test, simplified debugging, documentation

60
Q

Why can’t we have all quality attributes?

A

tradeoffs are necessary, e.g., reusability vs efficiency

61
Q

What is the V-model?

A

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
Q

What should be considered when writing unit tests?

A

Show the component works, reveal defects, possible inputs and outputs – to partition test data

63
Q

What agile practices support V&V?

A

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
Q

How does Pair-programming help ensure quality?

A

ongoing peer-review

65
Q

What is test?

A

a set of practices supporting Verification and Validation

66
Q

What is the purpose of testing?

A

To ensure a program does what it is intended to do, and discover bugs before it is put to use

67
Q

What is an example of a test supporting verification and validation?

A

VER: Unit test, component test | VAL: Prototype test, user acceptance test

68
Q

What is peer review?

A

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
Q

What is the difference between review and test?

A

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
Q

When is either review or test good?

A

Review: For documents, designs, architectures, plans | Test: For functionality and dynamic use of the program

71
Q

What is the test focus of a unit test, integration test, and acceptance test?

A

Unit: Verify valid and invalid inputs | Integration: Verify interfaces are compatible and work as expected | Validation: Fit for use, exploratory test

72
Q

When is test done?

A

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
Q

What is the agile testing quadrant?

A

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
Q

What is best, from an agile perspective, many manual tests, or many automated tests?

A

Many automated, few manual is best. Why? Otherwise, tests take too long, are error-prone, and feedback from tests is too slow

75
Q

What is CM concerned with?

A

Policies, processes & tools for managing changing software systems

76
Q

What are the key activities in CM?

A

Version management, System building, Change management and release management

77
Q

What is CM, branching, merging?

A

Techniques to support release, builds, baselines

78
Q

What is a baseline?

A

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
Q

What goes into a release?

A

All code, data, configuration files, documentation

80
Q

What is DevOps, and how can you define it?

A

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
Q

What is the purpose of Continuous Integration?

A

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
Q

What is the purpose of Continuous Delivery and Deployment?

A

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