Software Engineering- Chapter 04: Process Models

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

A design review must establish what two things?

(1) that the proposed solutions are correct and (2) which design alternative accomplishes the best tradeoff of quality attributes

List four advantages of the waterfall model

1. Adapts to Shifting Teams 2. Forces Structured Organization 3. Allows for Early Design Changes 4. Suited for Milestone-Focused Development

List 3 pitfalls of the burndown chart.

1. Assign blame 2. Make the chart "look good" 3. Big jumps in actual

XP has 12 practices, grouped into four areas, derived from the best practices of software engineering. What are the four areas ?

1. Fine scaled feedback 2. Continuous process 3. Shared understanding 4. Program welfare

List the four benefits of a minimum viable product?

1. Test product hypothesis / assumptions with minimal resources 2. Accelerate learning 3. Reduce wasted engineering hours 4. Get the product to early customers as soon as possible

What the maximum number of days you should spend on a SCRUM board task ?

3; Explanation: Tasks should be small enough to be accomplished in around 1-3 days. That ensures that there is constant activity on the board and illustrates the progress the team is making.

What is a minimal marketable release?

A fully functional release of a product that represents the smallest possible feature set that address the current needs of your customers.

What are some basic observations made in a burndown chart?

Actual above expected; Actual line reaches 0 before sprint ends; Sudden drop at the end

List an advantage of using Kanban and (ii) give an example

Allows for adapting to constantly changing requirements; (ii) system administration or DevOps tasks

Schedule and budget risks are considered what type of risks?

Business risks

A _______ ___ _________ , also referred to as "CONOPS", describes the proposed system in terms of the user needs it will fulfill, its relationship to existing systems or procedures, and the ways it will be used.

CONcept of OPerationS

What are some things that everyone should have a shared understanding of in extreme programming practices?

Coding standard; Collective code ownership; Simple design; System metaphor

In pair programming, two programmers work together on the same task. Every programmer has either the role of the ______ or the _______

Driver; navigator

What describes concrete programming practices to support specified values

Extreme Programming (XP)

True or False: In continuous integration, team members retain a local version of their code for long periods of time.

False; Explanation: team members do not retain a local version of their code for very long. They submit their changes to version control frequently. The code is then automatically tested for integration issues

True or False: Scrum boards are managed by the scrum master.

False; Scrum boards are not managed by a specific person but every developer is responsible for picking the ticket that they can accomplish

True or False: Tasks in Kanban are estimated and broken down so that they can be finished in the current increment

False; This is true for SCRUM. . Kanban does not require estimation of effort and does not have a limit on how large a task can be

Pair programming falls under which area of extreme programming practices?

Fine scale feedback

Once the sprint starts in the scrum board process, each member of the development team takes a task from the "ToDo" column and moves it into the "__ _______" column.

In-Progress

What is the purpose of frequent small releases of software in XP?

It creates concrete value. The small releases help the customer to gain confidence in the progress of the project.

Why does the spiral model impose such a burdensome process?

It does not provide the close relationship and partnership with the customer whose lack led to unsuccessful systems that were late, overpriced, and didn't meet customer's expectations

What is a drawback of Kanban

Kanban gives little guidance about roles, means of communicating amongst team members

When is the spiral model used for?

Large projects where requirements are not fully defined and where flexibility is needed to control the final outcome.

What is a disadvantage of the V-mode?

More complex than the waterfall model

What fine scale feedback technique is a consensus-based effort estimation?

Planning poker

Give some examples of throw away prototypes

PowerPoint mockups, paper wireframes, simulations

The ________ Design Review focuses on the conceptual (architecture) design while the ________ Design Review aims to evaluate the detailed design

Preliminary; Critical

What is the responsibility of the navigator/observer in pair programming?

Reviews each line of code as it is typed in and also considers the "strategic" direction of the work, coming up with ideas for improvements and likely future problems to address

(Scrum or XP) teams and meetings are fairly set in stone whereas the question of how work actually gets done is left to the teams to decide themselves.

Scrum

What type of agile software development method uses time boxes and feedback loops?

Scrum

Why would a programmer want to apply XP techniques in a Scrum driven project?

Since Scrum does specify any specific techniques, XP techniques are often applied in a Scrum driven project as practices which improve quality and speed up the release process.

The _______ Model allows for dividing the software development process into multiple phases

Spiral

What is the goal of a Kanban?

The goal is to find the right balance of throughput and cycle time

True or False: SCRUM is the most popular of the Agile methods

True

True or False: The priorities of requirements in a Kanban can be changed at any time

True

True or False: The spiral model is very explicit in what activities are to occur at what point in the process.

True

True or False: XP specifies a set of values that define the philosophy of the team.

True

True or False: There is no priority among the tasks on the Scrum board.

True; . A developer can take on any tasks in any order. Of course, dependencies between tasks have to be considered

What are wireframes?

Wireframes are low fidelity mockups of an application. They model the composition of the user interface

What is a product backlog?

Wishlist with input from all stakeholders

What approach is intended to stimulate the programmer to think about conditions in which his or her code could fail?

Within XP, unit tests are written before the eventual code is coded

_____ teams work on items in a strict priority order whereas a _______ team might not necessarily tackle each item in priority order once in sprint

XP; Scrum

Define system metaphor

a naming concept for classes and methods that should make it easy for a team member to guess the functionality of a particular class/method

Kanban is well suited for work where there is no big _______ of features to go through.

backlog

______ that are found during testing and cannot be completed are also tracked as tasks to be implemented in a future sprint

bugs

What type of chart represents how many story points have been accomplished at any point during the sprint overlaid on top of the expected progress?

burndown chart

How does the agile movement focus on providing value to customers?

by emphasizing the value of customer relationship building, which includes constant re-evaluation of priorities and frequent releases

__________ _____________ is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.

code refactoring

In comparison to Scrum, Kanban uses a _______ rather than breaking down the process into increments (sprints)

continuous

If the Work in Progress (WIP) limit is increased, the ______ _____ suffers, which means it takes longer for each item to get completed

cycle time

A(n) ______ is a requirement that cannot be delivered as defined within a single iteration or is large enough that it can be split into smaller user stories.

epic

Process enables capturing of knowledge and ________.

experience

What role does the driver play in pair programming?

has his/her hands on the keyboard and writes the code.

What are some advantage of code refactoring?

improved code readability and reduced complexity;

Kanban is particularly useful when an agile process is needed but __________ cannot be identified

increments

Most subsequent models tackle the drawback infrequent releases and rigid requirements by introducing iterations and _______ .

increments

The V model makes _____ activities that are hidden in the waterfall model, more explicit

iterative

A ________________ is a product with just enough features to satisfy early customers, and to provide feedback for future product development

minimum (or minimal) viable product (MVP)

Who chairs the meeting in the planning poker technique?

moderator

The ______ of a task serves as a gateway to assess whether one is ready to move into the next phase

output

The outcome of _______ ________ are effort estimates for each of the user stories.

planning poker

Any software development project follows a ________

process

__________ ____________ are templates for implementing a process. They should be tailored to fit the specific development process, domain, customer and team

process models

To address architecture deterioration in XP; the system should be _______ to reduce effort of implementing new changes in the future.

refactored

XP advocates for short _____ cycles to improve software quality and responsiveness to changing customer requirements.

release

A _______ __________ is a manual process that involves people from both client and contractor organizations where the members check the requirements document for anomalies and omissions

requirements review

Inputs are used identify ______ and _______.

resources, constraints

Kanban does not define specific _____ or a ______ schedule.

roles; meeting

What visualizes the status of tasks and provides an indication of the progress made so far. (i.e., "To Do", "In Progress", "Done") ?

scrum board

What 3 things does a network evaluation focus on?

speed; reliability; recoverability

Define cycle time

the amount of time it takes for one task to be completed.

Define throughput

the number of tasks that are completed for each increment (e.g., week, month, etc.)

Define Desired Process.

the process that one envisioned

Define actual process

the process that was actually applied

Define official process

the process that was documented

Define perceived process

the process that was understood by the actor

The basic unit of work defined in Scrum is the _______ ________

user story

The Agile movement focused strictly on providing ________ to the _______ .

value; customer

Which model identifies the high-level software development activities and organizes them in a strictly sequential order

waterfall model

The _______ model works well in systems where the ________ are well defined and are not changing throughout the development lifecycle

waterfall; requirements

Programmer ______ is a team practice that aims for work pace that they would be able to sustain indefinitely.

welfare

Kanban limits the amount of _____ allowed in any one condition

work; Explanation: only so many tasks can be ongoing, only so many can be on the to-do list

List some example categories of refactoring techniques

● Composing methods ● Moving features between objects ● Organizing data ● Simplifying conditional expressions ● Simplifying method calls ● Dealing with generalization

What are some drawbacks of SCRUM?

● Few techniques ● Limitations for larger teams ● Little focus on the future ● Little focus on final product.

What are some benefits of pair programming?

● Increased code quality ● Better diffusion of knowledge ● Better transfer of skills

Scrum is suitable for systems where:

● Requirements change often ● The customer needs to be able to share in which direction the system grows. ● The customer and the product benefits from frequent customer input. ● The team is comfortable in that process and has the experience to function effectively.

What are some aspects to be controlled in process models?

● Requirements elicitation, analysis and management ● Architecture and detailed design ● Unit, integration and system testing ● Deployment ● Risk analysis

List the advantages of SCRUM

● responsiveness to changing requirements ● focus on the customer, and frequent deliveries ● Explicitly specifies roles, meetings, rules and constraints ● Easy to Follow

Organize the following XP planning and feedback loops by the amount of time spent on each (ie. monthly, weekly, daily,etc): Release plan, iteration plan, acceptance test, stand up meeting, pair negotation, unit test, & pair programming

●Release plan (monthly) ● Iteration plan [weekly] ● Acceptance test [every several days] ● Stand up meeting [daily]● Pair negotiation [every several hours] ● Unit test [every several minutes] ● Pair programming [seconds]

What type of review entail the development team 'walking' the client through the system requirements explaining the implications of each requirement?

Formal Reviews

True or False: The waterfall model does not work well in safety critical systems

False

True or False: There is a standard format to represent epics.

False; There is no standard format to represent epics. Some teams use the familiar user story formats while other teams represent the epics with a short phrase.

True or False: Wireframes are tedious to create and difficult to change.

False; They are quick to create and easy to change.

True or False: Descriptive models provide a guideline or framework to organize and structure how software development should be performed.

False; prescriptive models

What are the spiral model phases?

Plan next phase; Determine objectives, alternatives, constraints; Evaluate alternatives, identify, resolve risks; Develop, verify next level product

Describe a sprint planning meeting

Team and product owner negotiate what to put into the sprint backlog, breaks it into smaller tasks, validate that they are clear about what to do and if it's the right amount of work (requirements validation).

What is the goal of a sprint?

The goal of the sprint is to close all tasks in a sprint. In other words, the goal is to accomplish the total sum of all effort estimated for the sprint's tasks.

True or False: Every user story has assigned an effort estimate (e.g., story points).

True

True or False: Evolutionary prototype serves as the basis for building the product

True

True or False: The V-Model supports large projects particularly well as it introduces additional levels of verification that help to detect defects early.

True

True or False: User stories are described on a high level, other important pieces of information (e.g., design constraints or acceptance criteria) are often tracked along with the user story

True

A software development process can be a well-planned and executed process, or it can be an __-___ process that is not documented and doesn't follow any specific rules.

ad-hoc

Tasks are tracked in the _______ alongside user stories

backlog

What are some process types?

desired, official, perceived, actual, observed

How does one know when a design is correct?

if it meets the set of functional requirements and satisfies a set of acceptance criteria outlined in a checklist

The only process that is tangible is the _____ process

official

A ________ is a partially developed product that enables customers and developers to examine some aspect of the proposed system and decide if it is suitable or appropriate for the finished product

prototype

Give an example of an evolutionary prototype

prototyping web application using static HTML markup

A ______ ________ is the facilitator for an agile development team and the Scrum development process.

scrum master

_______ may be composed of sub processes with hierarchy or links.

structure

During sprint planning and before a user a story is to be implemented, it is decomposed into technical ______ by the development team

tasks

What are the two types of prototypes?

throw away; evolutionary

What are some requirements that can be found a review checklist? (List at least 5)

● Completeness ● Clarity ● Consistency ● External Interfaces ● Testability ● Design-Neutrality● Readability ● Level of Detail ● Singularity ● Inputs and Outputs ● Scope ● Traceability

What are some design risks throughout the spiral model?

● Response time is too slow ● Accuracy of algorithms is not sufficient ● System does not meet availability requirements

Give two disadvantages of the spiral model

● Risk management activities can be costly and burdensome ● Enforcing adherence to complex model is difficult

What are some benefits of epics?

● Track vaguely defined stories ● Organization ● Explainability

What are some implementation risks in the spiral model?

● Unclear design guidance for parts of the system. ● Insufficient resources for testing the system. ● Test environment not available.

What are the key responsibilities for a scrum master?

● backlog ● Coaching the development team if Scrum is not yet fully understood ● Helping the team to reach consensus throughout the development process ● Removing obstacles that are impeding the team's progress. ● Protecting the team from outside distractions.

What are some requirement risks in the spiral model?

● missing stakeholders ● ambiguous, conflicting, unverifiable, etc. requirements

What are some characteristics of a process?

● process activities ● inputs and outputs ● structure ● product-driven ● cycles ● many people ● control flow implicit

What are the two main characteristics of the waterfall model?

1. Sequential: a phase can only be started if the previous phase has been completed and verified 2. No backtracking: once the development team enters a phase, it cannot step into a previous phase to make changes

List three drawbacks of the waterfall model

1. Non-adaptive design constraints 2. Ignores mid- process customer feedback 3. Delayed delivery of the product

List four agile software development methods.

1. Rapid application development (RAD) 2. Unified process (UP) 3. Dynamic systems development method (DSDM) 4. Scrum 5. Crystal Clear 6. Extreme programming (XP) 7. Feature-driven development

True or False: Product imposes consistency and structure on a set of activities

False; Process

True or False: The Spiral Model was designed to be code driven

False; the spiral model is risk-driven. It makes the identification, assessment and mitigation of risks a central part of the process

Define release backlog

Features from the product backlog that go into the respective release.

How is risk analysis carried out in the spiral model?

In the beginning of a spiral, risks that threaten the project are identified and classified. Each of these risks is then evaluated to decide on the mitigation strategy

____________, or sprints, are short time frames (timeboxes) that typically last from one to four weeks.

Iterations

The __________ ________ Review is a formal inspection conducted to determine if the final solution is ready for release into the production environment for sustained operations and maintenance.

Operational Readiness (ORR(

The first steps involved identifying what basic phases make up a software development process. _______ _________ than described how these phases are to be executed

Process models

What is the main tool in the spiral model used for addressing risks?

Prototypes

A ______ ________ Review is conducted to determine if the system under review is ready to proceed into formal testing by deciding whether the test procedures are complete and verify their compliance with test plans and descriptions.

Test Readiness

What does the Test Readiness Review (TRR) assess?

Test objectives; methods & procedures; resources; traceability; completeness; consistency; development maturity

What is the main responsibility of the scrum master?

The main responsibility of the Scrum master is to be an expert of the process and to communicate.

Who writes user stories for the features requested by the customer?

The product owner

What is a spring backlog?

User stories taken from the release backlog

The ___ model is a variation of the waterfall model that demonstrates how the testing activities are related to analysis and design.

V

Any ________ risks that are identified can be communicated to the customer and decisions can be made to adjust the development project to these risks

business

User stories follow are described in semi-structured format and expressed in terms of the _________ need

business

The principle of __-__________ is that co-workers on the same team should be situated together to better establish the identity as a team and to improve communication.

co-location

No matter which development method is followed, every team should include a _______________ _________________.

customer representative

A _______ model is used as the basis for understanding and improving software development process

descriptive

What two major changes did the spiral model introduce to the paradigm of the waterfall model?

iterative development; revisiting phases

A _________ may be built as a ring in one prototype and star in another, performance characteristics evaluated to see which structure is better at meeting performance goals or constraints

network

Software developers aim to follow some _________ process with the goal to produce high ______ products consistently.

prescribed, quality

Process helps ensures _________ and _________ with the assumption that good process yields good product.

repeatability, controllability

Informal reviews involve contractors discussing requirements with as many system _________ as possible

stakeholders

What are some aspects covered in an ORR?

tests completed; failure documents; training provided; operational support

What are the key responsibilities of the product owner?

● Creates and manages the product backlog (i.e., requirements) ● Prioritizes user stories in the backlog to match the priorities and expectations of the customer ● Answers requirements questions and is the final arbiter of any questions

List at least 6 agile principles

● Customer satisfaction ● changing requirements ● delivered frequently ● cooperation b/n business people and developers ● motivated team ● conversation (face-t-face) ● Working software ● Sustainable development ● attention to technical excellence and good design ● Simplicity

Give four advantages of the spiral model

● Manages risk explicitly ● Constant monitoring and product evaluation ● Supports documentation explicitly ● Delivers product to customer earlier

Give 3 advantages of the V- model

● Testing activities like planning, test designing happens well before coding. Hence higher chance of success over the waterfall model ● Proactive defect tracking: that is defects are found at early stage. ● Avoids the downward flow of the defects.

What are some system risks in a spiral model?

● The boundaries of the system are unclear ● Mechanisms for quality monitoring and control are insufficient. ● Funding has not yet been secured.

What are some factors that can be influenced and trade-off once a process model is chosen?

● Time to market ● Product quality ● Project visibility ● Risk Exposure ● Customer Relations

As software development progresses, we're able to find value and better ways to develop agile systems. Give at least 3 examples of things that we have come to value as developers.

●Individuals and interactions over processes and tools ●Working software over comprehensive documentation ●Customer collaboration over contract negotiation ●Responding to change over following a plan

What lists intermediate and final products?

outputs


Ensembles d'études connexes

15. Two siblings: 4 year-old male and 8 week-old male with vomiting

View Set

Becker: EXAM #1, REG 1, MODULES 1-6

View Set

Riboswitches and Gene Regulation in Development (Lect. 19)

View Set