Lecture 2 Flashcards

1
Q

Software Development Life Cycle (SDLC)

A

A process for planning, creating, testing, and deploying an information system (or product).

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

[SDLC] Waterfall (SDLC Waterfall)

A

A sequential design process in which progress is seen as flowing steadily downwards.

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

[SDLC Waterfall] Phases <5 phases>

A

(1) Requirements/Analysis
(2) Design
(3) Construction/Coding
(4) Testing
(5) Maintenance

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

[SDLC Waterfall] Features <4>

A
  • Prev. phase completed before next phase begins
  • Gate at end of each phase, determines if project moves forward
  • Change Control Board (CCB) must approve major changes
  • Product only ‘finished’ after last phase
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

[SDLC Waterfall] Pros <4>

A
  • easy to understand/use
  • easy to manage due to model’s rigidity (each phase has specific deliverables and a review process)
  • phases processed 1 at a time, no phase overlap
  • works well for smaller projects where requirements are well understood
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

[SDLC Waterfall] Cons <5>

A
  • Once in testing stage, it’s difficult to go back and change something
  • No working software produced until late during life cycle
  • High risk/uncertainty
  • Not good for complex and object oriented projects, or for long/ongoing projects
  • Not suitable for projects with risk of change
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

[SDLC] Prototyping (SDLC Prototyping)

A

Emphasis on developing prototypes early, allows early feedback and analysis, supportive of development process.

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

[SDLC Prototyping] Pros

A
  • users are actively involved in development
  • users have a better idea of the system being developed
  • earlier detection of errors
  • quicker user feedback is available, leading to better solutions
  • missing functionality easily identified
  • confusing/difficult functions can be identified
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

[SDLC Prototyping] Cons

A
  • leads to an “implement THEN repair” method of systems building
  • may increase complexity of the system as the scope of the system expands beyond original plans
  • incomplete application may lead to application not being used as the full system was designed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

[SDLC] Agile (SDLC Agile)

A

Umbrella term for the iterative, incremental development process. Small teams (5-7 people) deliver SMALL INCREMENTS OF WORKING SOFTWARE in great frequency, while working in close collaboration with customers, and adapting to changing requirements.

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

[SDLC Agile] Pros

A
  • rapid, continuous delivery of useful software leads to customer satisfaction
  • emphasis on people and interactions over process and tools
  • communication by face to face conversations between business people and developers, etc
  • continuous attention to technical excellence and good design
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

[SDLC Agile] Cons

A
  • difficult to assess required effort at the beginning of the SDLC (especially for larger projects)
  • lack of emphasis on necessary designing and documentation
  • easy for project to lose track if customer is not clear on desired outcome
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

[SDLC 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

[SDLC Agile] Principles <12>

A
  • Satisfy customer with early and continuous delivery
  • Welcome changing requirements (even late in dev)
  • Deliver working software frequently
  • Biz & devs work together daily
  • Build projects around motivated individuals
  • Convey info via face to face conversation
  • Working software = the primary measure of progress
  • Indefinite maintenence of a constant pace
  • Give continuous attention to technical excellence
  • Simplify: maximize the amount of work NOT done
  • Teams self-organize
  • Teams retrospect and tune behavior
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

[SDLC Agile] Frameworks

A
  • Scrum
  • Lean
  • Crystal
  • Extreme Programming (XP)
  • Kanban
  • DSDM
  • RUP
  • FDD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

[SDLC Agile Terms] Backlog

A

An ever-evolving, customer prioritized list of product requirements, that tell an Agile team which features to implement first.

17
Q

[SDLC Agile Terms] Burn Down Chart

A

Y-axis: Units of work that remain

X-axis: Time

18
Q

[SDLC Agile Terms] Done

A

A Team’s universally agreed-upon criteria for what makes a unit of work “potentially shippable”.

19
Q

[SDLC Agile Terms] Iteration/Sprint

A
  • The uninterrupted period of time during which an Angile team performs work.
  • 1 week - 1 month in length
  • At the end, Team delivers “potentially shippable” product
20
Q

[SDLC Agile Terms] Product Owner

A

Non-coding real customer or end user (or stand-in) on the Agile Team, who has a complete grasp of the requirements and business value of the product.
Is responsible for Team’s work prioritization.

21
Q

[SDLC Agile Terms] Persona

A

Fictional character with individual needs, goals and habits, created by Agile Team as a representative user, to serve as a reference-point for usability during product development.

22
Q

[SDLC Agile Terms] Retrospective

A

A time boxed meeting held at the end of an iteration/sprint, or at the end of a release, in which the team examines its processes to determine what succeeded and what could be improved.

23
Q

[SDLC Agile Terms] Scrum Master

A

NOT a product manager. Sits between project and customer. SUPPORTS the product owner, COACHES the team, and ensures Scrum processes are adhered to.

24
Q

[SDLC Agile Terms] Sprint Review/Demo

A

Meeting held at the end of an iteration, at which the development team demonstrates working software and solicits feedback from the product owner, the customer, management, other development teams, and other project stakeholders.

25
Q

[SDLC Agile Terms] Stand-Up

A

Short, daily all-hands meeting in which members of an Agile team address 3 key questions:

  • What’s been done since the last Stand-Up?
  • What will you do before the next Stand-Up?
  • What impediments stand in your way?
26
Q

[SDLC Agile Terms] User Story

A

An Agile requirement, stated as a sentence or two of plain English. Often expressed from user’s point of view, and describes a unit of desired functionality.

27
Q

[SDLC Agile Terms] Velocity

A

Rate at which an Agile Team completes work. NOT measuring progress, but instead estimates Team’s capacity for future iterations for future planning.

28
Q

[SDLC Agile Terms] Minimum Viable Product (MVP)

A

Product with just enough features to satisfy early customers and provide feedback for future development.

29
Q

[SDLC Agile] Process

A

1: Gather and write requirements
2: Create user stories with acceptance criteria
3: Write Acceptance Tests
4: Code
5: Write Unit Tests
6: Execute tests and report results
7: Report a Defect
8: Fix Defect and rerun Tests