CPSC 3720 Quiz 1

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/53

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

54 Terms

1
New cards

Single Program

couple devs in a garage

used only by the devs

2
New cards

Programming System

dependencies/integration, performance testing

3x the development time as a single program

3
New cards

Programming Product

general usage, testing, documentation

3x the development time as a single program

4
New cards

Programming System Product

product + system needs

9x the development time as a single program

most complex software development programs

5
New cards

Program Diagram

6
New cards

Software Process

a way of breaking down the overall SW development work into manageable sub-tasks

systematic and somewhat formal

7
New cards

Software Development Life Cycle (SDLC)

how to manage the complexity of SW development

8
New cards

SDLC: Requirement Analysis

the WHAT and WHY - understanding what the customer wants and the important features to prioritize

documented in formal ways:

  • formal requirement specifications

  • wireframes

  • use case documentation

  • prototypes

9
New cards

SDLC: Requirement Analysis (Validation vs. Verification)

validation - are we producing the RIGHT product?

  • assurance that a product meets the needs of the customer

  • MORE IMPORTANT

verification - are we producing the product RIGHT?

  • evaluation of whether or not a product complies with requirements

10
New cards

Rule of Software Engineering

“Software engineering IS requirement discovery“

11
New cards

SDLC: Define and Design

the HOW - need to understand both the business and non-functional requirements

depending on the type/size of the product, there will be various layers of design:

  • system architecture

  • deployment architecture

  • object/class design

  • database design

  • UI design

can be documented in various ways depending on the product:

  • formal design specifications

  • UML/ERD diagrams

  • wiki documents

  • contract documentation (for APIs)

  • data flow diagrams (DFDs)

  • whiteboarding sessions

12
New cards

SDLC: Coding

the IMPLEMENTATION

different standard/methods depending on the organization:

  • language/tool requirement

  • code standards

  • code reviews

  • international/external frameworks

  • unit testing requirements

dev/coding tools:

  • version controls/ configuration management (git)

  • IDEs

  • 3rd party tools

  • API development tools

  • documentation tools

13
New cards

SDLC: Testing

the QUALITY ASSURANCE - validation and verification of the product

different approaches depending on the organization:

  • when to test:

    • unit testing

    • integration testing

    • system testing

    • performance testing

    • regression testing

  • how to test

    • test-driven development

    • continuous testing

    • automated/manual testing

14
New cards

SDLC: Testing (Regression Testing)

regression testing - testing new changes don’t break existing code

15
New cards

SDLC: Deployment

process of putting your SW into production for use by the customer

deployment will vary based on the type of SW being deployed:

  • commercial “on-premise“ - customer’s IT will deploy the SW

  • commercial SaaS - company’s dev/operations will deploy the SW

  • internal - company’s dev/operation will deploy the SW

16
New cards

SDLC: Maintenance

fixing bugs in production that are found by customers

deployment model will determine how the maintenance is delivered:

  • emergency patch fix

  • maintenance release

  • major releases

    • - OR -

  • continuous deployment (CD)

17
New cards

SDLC Process/Approach Models

classic models:

  • waterfall

  • v model

  • incremental model

  • spiral

  • rational unified process (RUP)

agile models

  • scrum

  • kanban

  • XP

  • lean

18
New cards

SDLC Model: Waterfall

completing the SDLC steps sequentially

  • not flexible, rigid model

problem: don’t recognize the Rule of SWE (“software engineering IS requirement discovery“)

19
New cards

Classic SDLC Model Disadvantages

process concerns:

  • huge effort during the planning phase

  • poor requirement conversion in rapidly changing environment

  • treatment of staff as a factor of production

20
New cards

Agile Manifesto

closest definition of the agile model:

  • individuals and interactions /over/ process and tools

  • working software /over/ comprehensive documentation

  • customer collaboration /over/ contract negotiation

  • responding to change /over/ following a plan

agile methods consider:

  • light-weight

  • people focused instead go plan-based

21
New cards

Agile 12 Principles

22
New cards

Agile Scrum in ~100 Words

  • process that allows the focus on delivering the highest business values in the shortest time

  • allows the focus on rapidly/repeatedly inspecting actual working SW

  • businesses set the priorities, and the team self-organizes to determine the best approach

  • at the end of each sprint, see real work and decide to release it “as is“ or continue working

23
New cards

Scrum Photo

24
New cards

Scrum Sprints

scrum projects make progress in serous if sprints/iterations

  • usually 2-4 weeks or a month (short the better)

product is designed, coded, and tested during the sprint

plan sprint duration around how long the team can commit to keeping change out of the sprint

25
New cards

Scrum Values (5): Courage

courage - to do the right thing and work on tough problems

26
New cards

Scrum Values (5): Focus

focus - everyone’s focused on the work/goal of the sprint

27
New cards

Scrum Values (5): Commitment

commitment - people personally commit to achieving the goals of the scrum team

28
New cards

Scrum Values (5): Respect

respect - scrum team members respect each other to be capable/independent

29
New cards

Scrum Values (5): Openness

openness - the team/stakeholders agree to be open about the work, and it challenges

30
New cards

Scrum Role (3): Product Owner/Manager

product owner/manager

  • define the features of the product (iteration scope)

  • works with stakeholders/customers and shares the vision to scum team

  • accepts/rejects work results and decides release date/content

  • responsible for the profitability of the product (ROI)

31
New cards

Scrum Role (3): Scrum Master

scrum master

  • responsible for enacting scrum values/practices as a coach

  • project management focus

  • removes impediments/interferences

  • ensures the team is fully functional/productive

  • servant leadership

32
New cards

Scrum Role (3): Scrum Team Member/Developer

scrum team member/developer

  • responsible for developing the product

  • cross-functional: programmer, tester, UX designers, etc

  • full-time for the team

  • self-organizing

  • membership should only change between sprints, but consistency is best

33
New cards

Scrum Artifacts/Frameworks (4): Product Backlog

product backlog

  • requirements represented as epics/stories desired for the project

  • each item has value to the user/customer

  • prioritized by the product owner/manager

  • reprioritized at the start of each sprint and used to create the next sprint backlog

34
New cards

Scrum Artifacts/Frameworks (4): Sprint Backlog

sprint backlog

  • stories that are chosen to be delivered for that sprint

  • stories for a sprint should be “developer ready“

  • task breakdown for each story done in the sprint planning ceremony

  • sprints are in story points, and tasks are estimated in days/hours

  • scrum team will commit to the sprint backlog to be completed in that sprint

35
New cards

Scrum Artifacts/Frameworks (4): Burndown Chart

  • tracks the progress of work within a sprint

36
New cards

Scrum Artifacts/Frameworks (4): Impediment Log

impediment log

  • scrum master is managing all impediments to the team that is impacting their ability to get work done

  • ex.: build server crashes, busy Sr. dev, team member not showing up to standup

37
New cards

Scrum Ceremonies (4): Sprint Planning

sprite planning

  • scrum team select items from the product backlog to commit to for the next sprint

  • next sprint backlog is created

  • high level design is considered

    • tasks are identified/estimated (1-16 hours)

  • collaborative, not done alone by scrum master

38
New cards

Scrum Ceremonies (4): Daily Scrum/Stand-up

daily scrum/stand-up

  • parameters

    • daily

    • 15-30 mins

    • stand-up

  • 3 questions (not a status for the scrum master)

    • what did you do yesterday?

    • what will you do today?

    • is anything blocking you?

  • not for problem-solving but to help avoid unnecessary meetings

  • anyone can be invited, but only scrum team members/developers, scrum master, and product owners/managers can talk

39
New cards

Scrum Ceremonies (4): Sprint Review (Meraki Weekly Team Meeting)

sprint review

  • the team presents what’s accomplished during the sprint

  • showing demos of new features

  • informal

    • 2 hour prep time rule

    • no slides

  • the whole team participates, but anyone can join

40
New cards

Scrum Ceremonies (4): Sprint Retro

sprint retro

  • periodically take a look at what is/isn’t working after each sprint

  • 15-30 mins

  • whole team joins

  • discussion

    • start, stop, and keep doing

      • - OR -

    • things the team loved, loathed, learned

41
New cards

Scrum Management

scrum process is usually managed using agile project management tools:

  • atlassian products (jira, confluence)

  • microsoft azure DevOps

  • monday.com

42
New cards

Scrum Scalability

scrum teams usually 7 ± 2 people

factors in scaling:

  • type fo application

  • team size

  • team dispersion

  • project duration

43
New cards

The primary measure of progress in Agile is ____

working software

44
New cards

____ is a formal description of the state of the sprint to define when it meets the quality measures required for the prodcut

definition of done

45
New cards

Scrum master if responsible for:

  • removing impediments

  • coaching the team

46
New cards

Key to agile is that it harness ____ for the customer’s competitive advantage

change

47
New cards

The main roles in scrum are:

  • scrum master

  • team members/developers

  • product owner

48
New cards

What is the most expensive software to create?

programming systems product

49
New cards

Individual developers usually estimate their work as if they were building a:

program

50
New cards

What are some reasons that building software is like a tar pit?

  • getting entangled in the complexity

  • stickiness of the problems

  • the more factors the slower progress becomes

51
New cards

What are some of the coding gaps identified in the article regarding using AI coding copilots?

  • corner code cases

  • reliability

52
New cards

Example of AI coding assistants:

  • copilot

  • devin AI

  • tabbing

53
New cards

What was identified as a key element in the software creation process when using AI coding assistants?

human collaboratio

54
New cards

T/F: Devin is able to resolve a majority of software issues in Github code repos?

False