Software Development Life Cycle (SDLC)

Ace your homework & exams now with Quizwiz!

What are some key characteristics of Waterfall?

1. All planning is done up front with detailed planning documentation. 2. The scope of work is generally fixed. 3. There are 5 phases: Requirements, Design, Development, Testing, Deployment and Maintenance. 4. The output of a phase becomes the input of the next phase.

The number of iterations and duration of iterations in a RUP cycle may vary. What are the iterations each phase may go through in RUP?

1. Business Modeling 2. Requirements 3. Analysis and Design 4. Implementation 5. Test and Deployment 6. Configuration and Change Management 7. Project Management 8. Environment

What does DSDM stand for?

Dynamic System Development Model.

What are the three key practices of DevOps?

- Continuous Integration - Continuous Delivery - Continuous Deployment

Building software involves close cooperation between two types of teams, which are?

- Development: This is the part that writes and validates software. - Operations: Good software is useful only if it can be deployed and released to your customers. The release part of software involves knowledge of servers, middlewear, network, storage configurations, and monitoring techniques that most developers are not comfortable with. This is the Ops of DevOps. Combined both makeup DevOps. DevOps is the culture and practices of close cooperation between Dev and Ops.

What are Lean Principles?

- Eliminate Waste - Amplify Learning - Decided as late as possible - Deliver as fast as possible: - Empower the team - Build integrity - See the whole

What are the three phases of DSDM?

1. Pre-project 2. Project life cycle: This phase consists of several sub-phases where the system is built in an iterative and incremental manner. 3. Post-project

What are RUP pinciples?

1. Develop iteratively 2. Manage requirements 3. Manage change 4. Continuously verify quality 5. Visual modeling of software 6. Use of component-based architecture which facilitates the creation of software on smaller and more manageable components.

What are the 5 steps of the FDD Life Cycle?

1. Develop overall model: In this phase a high level domain model is built based on the team's understanding of the problem domain. 2. Build feature list: In this phase, the domain is divided into subject areas and each subject area contains business activities or work flows. A guideline in FDD is to keep features fine grained, so they can be implemented in just a short iteration of two weeks or less. 3. Plan by feature: In this phase each feature is prioritized and a feature implementation plan is developed. 4. Design by feature: In this phase more details are added to the classes in the domain model. The goal here is to have a design model that can be used to implement the features. 5. Build by feature: This phase implements features, tested, inspected, and deployed.

What are the eight key principles found in DSDM?

1. Focus on business need 2. Deliver on time 3. Collaborate 4. Never compromise quality 5. Develop incrementally from firm foundations 6. Develop iteratively 7. Communicate continuously and clearly 8. Demonstrate control

What are the four phases of RUP?

1. Inception 2. Elaboration 3. Construction 4. Transition

What are some reasons Waterfall does not work in the software industry?

1. Late delivery of business value: The customer does not get to see the product until late in the Waterfall cycle. 2. You could realize that the product being built is no longer viable due to change in market conditions or organizational landscape. 3. You could realize the product has a major flaw that prevents it from being deployed. In other words, your product development initiative could completely fail after a lot of money and time had been spent on it. The software industry is an iterative process and does not work like a Waterfall cycle. In the software industry, everything changes i.e. requirements, skills, people, environment, business rules, etc.

Each RUP phase ends with a milestone which are?

1. Lifecycle Objectives Milestone for Inception. This is where you'll have stakeholders agree to what you are going to build. 2. Lifecycle Architecture Milestone for Elaboration. This is where you line the architecture of your software. 3. Initial Operational Capability Milestone for Construction. This is where your software is ready to be used by end users. 4. Production Release Milestone for Transition. This is where you fine tune the application to make it fully usable at production scale.

What are the four phases of the Spiral Development Model?

1. Planning: This phase includes requirements identification and analysis, identification of stakeholders, and lifecycle objectives of the system being built. 2. Risk Analysis: This phase includes risk-related activities, such as risk identification, risk prioritization and mitigation. This is the phase when you build prototypes to mitigate risks. 3. Engineering: This phase is where you perform software implementation activities, such as design, coding, unit and acceptance testing and deployment. 4. Evaluation: This phase is where you get your stakeholder review and feedback and plan the next iteration.

What are the three SCRUM artifacts, or deliverables in SCRUM?

1. Product Backlog: The Product Backlog is the master list of what needs to be built. 2. Sprint Backlog: The Sprint Backlog includes a subset of Product Backlog items selected to be implemented in the current Sprint. 3. Product Increment: The Product Increment is a slice of functionality produced in the current Sprint, combined with the functionality produced by all previous Sprints.

What are the three roles which make up SCRUM?

1. Product Owner 2. SCRUM Master 3. Development Team

What are the 5 steps of Waterfall?

1. Requirements: This is where you capture requirements. 2. Analysis: This is where you produce high-level design and test specifications. 3. Development: This is where you develop software. 4. Test: This is where you match the output of the system with the expected outputs defined in the test specifications. 5. Deployment and Maintenance: This is where the application is deployed to production and ongoing maintenance continues.

What are some key characteristics of Spiral?

1. Similar to Waterfall, each iteration builds upon the output of the previous iteration. 2. The Spiral methodology can be visualized by a graph with four quadrants which represent the four phases of the Spiral Modal, starting with the top left quadrant and going clockwise. - The top left quadrant is Planning. - The top right quadrant is Risk Analysis. - The bottom right quadrant is Engineering. - The bottom left quadrant is Evaluation. The X-Axis represents the volume of approval by review. The Y-Axis represents cumulative cost of the product being built.

What is the SCRUM development process?

1. Sprint Planning 2. Sprint 3. Review / Demo 4. Retrospective

What two factors determine the methodology used in Crystal?

1. Team Size 2. Criticality of the product being built: This represents the severity of the damage caused by the malfunction of the system being built.

What are key takeaways found in DSDM?

1. Timeboxing: Each activity is assigned a maximum time limit, which cannot be extended. 2. MoSCoW prioritization: DSDM uses MoSCoW prioritization on requirements which categorizes requirements into must have, should have, could have and won't have. 3. Iterative and incremental approach

What is a Chapter in the Spotify Engineering Model?

A Chapter represents a group of team members with specific area of expertise. Chapter leads are similar to line managers. This type of organization allows someone with a specific expertise to switch between Squads without a change in Chapter lead.

What is a Guild in the Spotify Engineering Model?

A Guild is defined as a group of people with common interests.

What is a Release Train in the Spotify Engineering Model?

A Release Train is a metaphor for a chain of frequent releases, where each release includes a set of features. If a release does not make it to a train, there is another one going out soon. And unfinished features are part of release trains, but they are hidden from users using a technique called Feature Toggle.

What is a Sprint Retrospective?

A Sprint Retrospective is the last event of the Sprint, when the SCRUM Team inspects every aspect of their work other than the Product Increment itself. The SCRUM Team comes up with an Action Plan on how they can do better with their processes, team communication, tools, skills, etc. The Sprint Retrospective is timeboxed to three hours for a 30-day Sprint and must be adjusted for shorter Sprints.

What is a Tribe in the Spotify Engineering Model?

A Tribe represents a group of Squads that work on a related area of work.

In FDD what is a feature?

A feature is a small piece of functionality, typically expressed as action, result, object. For example: Calculate monthly interest on the account balance. - Calculate is the action - Monthly interest is the result - Account balance is the object on which an action is performed

What is Sprint Planning?

At the beginning of the Sprint, the SCRUM team comes together for an event called Sprint Planning. In this event, the Development Team works with the Product Owner to select which items to work on. The SCRUM Team also crafts a Sprint Goal, which is just a few sentences that describe the high-level business goal of the Sprint. Then the Development Team builds an initial plan on how they will implement those Product Backlog items. The Product Backlog is the list of all to-do items, such as tasks, issues, user stories, epics, features, etc.

How does CMMI apply to Software Development and Agile approaches?

CMMI version 2 includes guidance on how Agile methods can be used to optimize their processes. Many Agile approaches are simple and very effective but have scaling problems. CMMI version 2 has practices to move iteratively and incrementally towards optimal performance, something which is perfectly aligned with Agile.

What is CMMI?

Capability Maturity Model Integration, which is a process improvement model applicable to a wide range of industries.

What is the Amplify Learning Lean Principle?

Constantly learn by getting regular and frequent feedback from stakeholders.

What is Continuous Delivery?

Continuous Delivery is an extension of Continuous Integration and is the capability to always keep a product in a stable state after every change, so the product is potentially deployable.

What is Continuous Deployment?

Continuous Deployment means automatically deploying the product increment to production or production-like environment.

What is Continuous Integration?

Continuous Integration is the practice where developers frequently commit changes to a centralized repository to trigger an automated build. The build process does multiple things. It validates the code base for various things such as compilation errors, code quality metrics, automated tests, static code analysis, missing dependencies, etc.

What is Cycle Time?

Cycle Time is a subset of the Lead Time, and that is the duration of time where some work is performed on the product.

What is DMAIC?

DMAIC is an acronym where each letter stands for the name of a phase in this data-driven, five-phase process. 1. Define: Define a problem or opportunity for improvement. 2. Measure: You define performance improvement. 3. Analyze: What is the root cause analysis for variation or defects? 4. Improve: In this phase you reduce or eliminate variation or defects. 5. Control: An improved process needs monitoring to stay at an optimal level.

What is a Daily Stand Up?

During the Sprint, the Development Team meets each day in an event called the Daily SCRUM, which is timeboxed to 15-minutes. The SCRUM Master and Product Owner can participate in this event but are not required attendees. Many SCRUM Teams follow the three question format that means each Development Team member answers three questions: 1. What did you do since the last Daily SCRUM Stand Up? 2. What are you planning to do today? 3. Are there any impediments to what you are trying to accomplish?

What is the Empower the team Lean Principle?

Empowering a team fosters creativity and motivates the team to do more.

What is Extreme Programming or XP?

Extreme Programming or XP, is a fine-grained implementation-centric approach that can be viewed as a collection of software engineering practices. XP has nearly a dozen code practices i.e. Pair Programming and Test-Driven Development or TDD.

What does FDD stand for?

Feature-Driven Development. FDD is a lightweight and agile process where each team tries to deliver working software, which is composed of working features.

What is most important to the Spotify Engineering Model?

For Spotify, agility is more important than any specific framework or methodology.

What are the 4 levels of team size in the Crystal Modal?

From low to high: - 1-6 - 7-10 - 21-40 - 41-80 - 81-200

What are the 4 levels of criticality in the Crystal Modal?

From low to high: - Comfort - Discretionary Money - Essential Money - Life

What is Kanban?

Kanban is a work process management methodology based on Lean Principles, which can be summarized in two key concepts: 1. Visualize your work Work items such as tasks, user stories, features are pulled into the board and processed through the board from left to right. 2. Limit work in progress Each lane can be viewed as a work queue and has a work in progress limit. The limit indicates the maximum number of work items that should be added to that lane. Limiting count of items in a queue is required to work at optimal efficiency.

What is Lead Time?

Lead Time is defined as the total elapsed time from the time a request for a product or service is made to the time the product or service is made available.

What is Lean Software Development?

Lean Software Development is a collection of principles centered on the key tenant, to minimize waste. This is achieved through processes that visualize production pipeline. Various techniques are used to highlight bottlenecks and reveal efficiencies or inefficiencies within the system. A common technique that can be used to identify waste is called Value Steam Mapping.

What is the Build integrity Lean Principle?

Lean teams focus on making sure the customer has good overall experience of the system.

What is the See the whole Lean Principle?

Lean teams focus on understanding the entire workflow and work on optimizing the entire process, rather than improving a subset of the entire workflow.

What is the Eliminate Waste Lean Principle?

Lean thinking teaches to think from the perspective of value addition for the customer. Any process or work that does not add value is considered waste. Adding more software features that the customer has not asked for is called Gold Plating and is considered waste.

What does RUP stand for?

Rational Unified Process.

What is SCRUM?

SCRUM is an Agile framework, where a small cross-functional team comprised of Development, Product Owner and a SCRUM Master works in short iterations, typically 2-weeks, called Sprints, to create working software.

What is Six Sigma?

Six Sigma along with Lean focuses on minimizing waste and maximizing customer value. Six Sigma uses a scientific and statistical approach to reduce the quality of a process by tracking the number of defects. The goal of Six Sigma is to reduce defects and keep the output of a process within certain limits of a baseline. Statistical methods calculate the Six Sigma numbers and percentages. The sigma in Six Sigma indicates variation from a desired reference point. Higher sigma levels is better because it means lesser number of defects.

How do you use Six Sigma in software development?

Six Sigma includes a process improvement cycle called the DMAIC cycle, which may be useful for all software and non-software initiatives.

What is the Spotify Engineering Model?

Spotify does not claim to have any methodology, but define their approach as a culture of principles and values. Spotify decided to not rely completely on one framework, but apply a combination of different frameworks, methodologies, and practices to find their own way. Spotify loosely defines their approach towards agility as the Spotify Engineering Culture. Spotify does small, frequent releases with maximum automation. The Spotify release approach uses what is called Release Trains and Feature Toggles. The Spotify Model is aimed at organizing people together, so they benefit from each other and work together towards the shared vision of the product, not create organizational hierarchies. Spotify is a failure-friendly culture. This is because creative teams have to experiment, and experiments are bound to fail.

What are teams called in the Spotify Engineering Model?

Spotify teams are organized into autonomous and small teams called Squads. A Squad is usually comprised of one to seven persons. A Squad is similar to a SCRUM Team in the sense it is self-organizing and cross-functional. A Squad alone cannot build all features on their own, so they are organized into Tribes.

What is the theme of the Spiral Model?

That building software iteratively leads to identification and easier management of risks.

What is a Sprint?

The Development Team spends the time in the Sprint developing the features listed in the Sprint Backlog, which is a subset of work items from the Product Backlog, testing to ensure that they meet specifications, and compiling for a workable software deliverable. During the Sprint, the Development Team meets each day in an event called the Daily SCRUM, which is timeboxed to 15-minutes. The Development Team produces a Product Increment at the end of each Sprint, which is reviewed in an event called a Sprint Review or Demo.

What is the Product Owner?

The Product Owner owns the Product Backlog. The Product Backlog is the list of all to-do items, such as tasks, issues, user stories, epics, features, etc. The Product Owner has the final call on what needs to be built and in what order.

What is the SCRUM Master?

The SCRUM Master is the agile coach. The SCRUM Master acts as a guide or mentor, who teaches the SCRUM team, SCRUM rules. The SCRUM Master helps the team optimize performance with those Agile practices. SCRUM Masters do not manage the Development Team, they coach and convince the team to work on an optimal path.

What is one of the earliest models to propose iterative development including a mix of Waterfall and iterative approaches?

The Spiral Model.

What is the Decide as late as possible Learning Lean Principle?

The principle appears counterintuitive, but is a good practice and applicable to software development. Making early decisions is fraught with risks because everything changes in software development. Last Responsible Moment means to wait till you know all the facts and then make a decision at the last responsible moment.

What is a Review / Demo?

This is when the SCRUM Team and a group of stakeholders get together to inspect the Product Increment. This is an informal event, and the feedback here is used to plan future Sprints, and not seek formal acceptance. This event is timeboxed for four hours for a 30-day Sprint and must be adjusted for shorter Sprints.

What is Value Stream Mapping?

Value Stream Mapping is a workflow or a sequence of steps to produce a product or service with business value with little if any waste. It's used to identify areas of improvement in a value stream. A value stream includes both Lead and Cycle Time.

What is the Deliver as fast as possible Lean Principle?

When you deliver working features to customers quickly and often, you are bringing value to the customer. Longer iterations have bigger risks of large number of unidentified issues, changes in market conditions, and technology changes. Smaller iterations are easier to manage.


Related study sets

csuf art 101 (david plouffe) - final exam, art final, csuf art 101 (david plouffe) - final exam, ART101 Final: David Plouffe, csuf art 101 (david plouffe) - final exam

View Set

Directional Terms, Cavities, Planes, and Body Systems

View Set

Derm - Peds Primary Care 1 - Exam 2

View Set

Nursing Care of Children Post-study quiz

View Set

Chapter 9: Health Promotion of the Infant and Family

View Set