64
SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS Saulius Ragaišis [email protected]

SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

SOFTWARE ENGINEERING

SOFTWARE-LIFE CYCLE AND PROCESS

MODELS

Saulius Ragaišis

[email protected]

Page 2: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

CSC2008 SE “Software Processes”

Learning Objectives:

• Explain the concept of a software life cycle and provide an example, illustrating its phases including the deliverables that are produced.

• Select, with justification the software development models and process elements most appropriate for the development and maintenance of a diverse range of software products.

• Explain the role of process maturity models.

• Compare the traditional waterfall model to the incremental model, the agile model, and other appropriate models.

• For each of various software project scenarios, describe the project’s place in the software life cycle, identify the particular tasks that should be performed next, and identify measurements appropriate to those tasks.

Page 3: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

SOFTWARE LIFE CYCLE

Page 4: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Definitions from Google

• The phases a software product goes through between when it is conceived and when it is no longer available for use.

The Free On-line Dictionary of Computing, Denis Howe 2010

• A series of stages in the development of an application and is often used in Software Engineering.David Bolton, About.com

Page 5: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Standards of Life cycle processes

• ISO/IEC 12207:2008. Systems and software engineering — Software life cycle processes

• ISO/IEC 15288:2008. Systems and software engineering — System life cycle processes

Page 6: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Definitions in standards

• Life cycle - evolution of a system, product, service, project or other human-made entity from conception through retirement.

• Life cycle model - framework of processes and activities concerned with the life cycle that may be organized into stages, which also acts as a common reference for communication and understanding.

[ISO/IEC 12207:2008]

Page 7: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Software life cycle processes (ISO/IEC 12207-2008)

Page 8: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

LIFE CYCLE MODELS

Page 9: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Life cycle models and stages

The life of a system/software can be modeled by a life cycle model consisting of stages. Models may be used to represent the entire life from concept to disposal or to represent the portion of the life corresponding to the current project. The life cycle model is comprised of a sequence of stages that may overlap and/or iterate, as appropriate for the project's scope, magnitude, complexity, changing needs and opportunities. [ISO/IEC 12207:2008]

Page 10: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

1970

Page 11: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Development according W. W. Royce

Page 12: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

1968... “Iterative development”

“Rocket science!”

Page 13: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Generic process framework activities

• Communication

• Planning

• Modeling

• Construction

• Deployment

Page 14: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Waterfall model

Page 15: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Incremental model

Page 16: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Spiral model

Page 17: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

RAD model

Page 18: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Prototyping

Page 19: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Unified Process

• An extensible framework which should be customized for specific organizations or projects.

• Proposed by Ivar Jacobson, Grady Booch and James Rumbaugh. The first book “The Unified Software Development Process” (ISBN 0-201-57169-2) published in 1999.

Page 20: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP refinements and variations

• Rational Unified Process (RUP), the IBM / Rational Software development process

• Oracle Unified Method (OUM), the Oracle development and implementation process

• Agile Unified Process (AUP), a lightweight variation developed by Scott W. Ambler

• Essential Unified Process (EssUP), a lightweight variation developed by Ivar Jacobson

• Enterprise Unified Process (EUP), an extension of the Rational Unified Process

Page 21: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP characteristics

• Iterative and Incremental

• Use Case Driven

• Architecture Centric

• Risk Focused

Page 22: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP project life-cycle

Page 23: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP major work products: Inception

• Vision document

• Initial use-case model

• Initial project glossary

• Initial business case

• Initial risk assessment

• Project plan (phases and iterations)

• Business model (if necessary)

• One or more prototypes

Page 24: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP major work products: Elaboration

• Use-case model

• Supplementary requirements including non-functional

• Analysis model

• Software architecture description

• Executable architectural prototype

• Preliminary design model

• Revised risk list

• Project plan including iteration plan, adapted workflows, milestones, technical work products

• Preliminary user manual

Page 25: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP major work products: Construction

• Design model

• Software components

• Integrated software increment

• Test plan and procedure

• Test cases

• Support documentation (user manuals, installation

manuals, description of current increment)

Page 26: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

UP major work products: Transition

• Delivered software increment

• Beta test reports

• General user feedback

Page 27: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

AN AGILE VIEW OF PROCESS

Page 28: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified
Page 29: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Principles behind the Agile Manifesto• Our highest priority is to satisfy the customer

through early and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

Page 30: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Principles behind the Agile Manifesto (2)• Build projects around motivated individuals. Give

them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Page 31: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Principles behind the Agile Manifesto (3)• Continuous attention to technical excellence and

good design enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 32: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Most popular Agile methodologies

• XP (eXtreme Programming)

• SCRUM

• DSDM (Dynamic System Development Method)

Page 33: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Key issues stressed by Agile

• The importance of self-organizing teams that control over the work they perform.

• Communication and collaboration between team members and between practitioners and their customers.

• A recognition that change represents an opportunity.

• An emphasis on rapid delivery of software that satisfies the customer.

Page 34: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

What we have learned?

• Concept of software life cycle

• Understanding of software life cycle processes

• Software life cycle models

Page 35: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

QUESTIONS?

Page 36: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

APPENDIX

Page 37: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Life cycle process groups (ISO/IEC 12207-2008)

System Life Cycle Processes

• Agreement Processes (2 processes)

• Organizational Project-Enabling Processes (5 p.)

• Project Processes (7 p.)

• Technical Processes (11 p.)

Software Life Cycle Processes

• Software Implementation Processes (7 p.)

• Software Support Processes (8 p.)

• Software Reuse Processes (3 p.)

Page 38: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Agreement Processes

• Acquisition Process

• Supply Process

Page 39: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Organizational Project-Enabling Processes

• Life Cycle Model Management Process

• Infrastructure Management Process

• Project Portfolio Management Process

• Human Resource Management Process

• Quality Management Process

Page 40: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Project Processes

• Project Planning Process

• Project Assessment and Control Process

• Decision Management Process

• Risk Management Process

• Configuration Management Process

• Information Management Process

• Measurement Process

Page 41: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Technical Processes

• Stakeholder Requirements Definition Process

• System Requirements Analysis

• System Architectural Design

• Implementation Process

• System Integration Process

• System Qualification Testing Process

• Software Installation

• Software Acceptance Support

• Software Operation Process

• Software Maintenance Process

• Software Disposal Process

Page 42: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Software Implementation Processes

• Software Implementation Process

• Software Requirements Analysis Process

• Software Architectural Design Process

• Software Detailed Design Process

• Software Construction Process

• Software Integration Process

• Software Qualification Testing Process

Page 43: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Software Support Processes

• Software Documentation Management Process

• Software Configuration Management Process

• Software Quality Assurance Process

• Software Verification Process

• Software Validation Process

• Software Review Process

• Software Audit Process

• Software Problem Resolution Process

Page 44: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Software Reuse Processes

• Domain Engineering Process

• Reuse Asset Management Process

• Reuse Program Management Process

Page 45: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified
Page 46: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

XP project

Page 47: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

XP planning/feedback loops

Page 48: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

XP main values

• Communication

• Simplicity

• Feedback

• Courage

• Respect

Page 49: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

XP practices• Planning game

• Small releases

• System metaphor

• Simple design

• Refactoring

• Test driven development

• Pair programming

• Collective code ownership

• Continuous integration

• 40 hour week (sustainable pace)

• On-site customer (whole team)

• Coding standard

Page 50: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

XP practices

Page 51: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

DSDM project phases

Page 52: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Prerequisites for using DSDM

• Acceptance of the DSDM Atern philosophy before starting work.

• Appropriate empowerment of the Solution Development Team.

• Commitment of senior business management to provide the necessary Business Ambassador (and Business Advisor) involvement.

• Incremental delivery• Access by the Solution Development Team to business

roles• Solution Development Team stability.• Solution Development Team skills.• Solution Development Team size.• A supportive commercial relationship.

Page 53: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

DSDM principles

• Focus on the business need

• Deliver on time

• Collaborate

• Never compromise quality

• Build incrementally from firm foundations

• Develop iteratively

• Communicate continuously and clearly

• Demonstrate control

Page 54: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Core techniques of DSDM

• Timeboxing

• MoSCoW method for requirements prioritizing

• Prototyping

• Testing

• Workshop

• Modeling

• Configuration Management

Page 55: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

MoSCoW method

• MUST have this requirement to meet the business needs.

• SHOULD have this requirement if at all possible, but the project success does not rely on this.

• COULD have this requirement if it does not affect the fitness of business needs of the project.

• WOULD have this requirement at later date if there is some time left (or in the future development of the system).

Page 56: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

SCRUM project

Page 57: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum Framework in 30 Seconds

• A product owner creates a prioritized wish list called a product backlog.

• During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.

• The team has a certain amount of time, a sprint, to complete its work - usually two to four weeks - but meets each day to assess its progress (daily scrum).

• Along the way, the Scrum Master keeps the team focused on its goal.

• At the end of the sprint, the work should be potentially shippable, as in ready to hand to a customer, put on a store shelf, or show to a stakeholder.

• The sprint ends with a sprint review and retrospective.• As the next sprint begins, the team chooses another chunk of the

product backlog and begins working again.

Page 58: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology

• Scrum Team: Product Owner, Scrum Master and Development Team

• Product Owner: The person responsible for maintaining the Product Backlog by representing the interests of the stakeholders, and ensuring the value of the work the Development Team does.

• Scrum Master: The person responsible for the Scrum process, making sure it is used correctly and maximizing its benefits.

• Development Team: A cross-functional group of people responsible for delivering potentially shippable increments of Product at the end of every Sprint.

Page 59: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (2)

• Sprint burn down chart: Daily progress for a Sprint over the sprint’s length.

• Product backlog: A prioritized list of high-level requirements.

• Sprint backlog: A prioritized list of tasks to be completed during the sprint.

• Sprint: A time period (typically 1–4 weeks) in which development occurs on a set of backlog items that the team has committed to. Also commonly referred to as a Time-box or iteration.

Page 60: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (3)

• (User) Story: A feature that is added to the backlog. A story is an independent, negotiable, valuable, estimable, small, testable requirement ("INVEST Acronym").

• Theme: A theme is a top-level objective that may span projects and products. Themes may be broken down into sub-themes, which are more likely to be product-specific.

Epic: An epic is a group of related stories, mainly used in product roadmaps and the backlog for features that have not yet been analyzed enough to break it down into it's component stories, which should be done before bringing it into a sprint so to reduce uncertainty.

Page 61: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (4)

• Spike: A time boxed period used to research a concept and/or create a simple prototype. Spikes can either be planned to take place in between sprints or, for larger teams, a spike might be accepted as one of many sprint delivery objectives. For example, the objective of a spike might be to successfully reach a decision on a course of action. The spike is over when the time is up, not necessarily when the objective has been delivered.

• Tracer Bullet: The tracer bullet is a spike with the current architecture, current technology set, current set of best practices which results in production quality code. It might just be a very narrow implementation of the functionality but is not throw away code.

Page 62: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (5)

• Point Scale/Effort/Story points: Relates to an abstract point system, used to discuss the difficulty of the story, without assigning actual hours. The most common scale used is a rounded Fibonacci sequence (1,2,3,5,8,13,20,40,100), although some teams use linear scale (1,2,3,4...), powers of two (1,2,4,8...), and clothes size (XS, S, M, L, XL).

• Tasks: Added to the story at the beginning of a sprint and broken down into hours. Each task should not exceed 12 hours, but it's common for teams to insist that a task take no more than a day to finish.

Page 63: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (6)

• Definition of Done (DoD): The exit-criteria to determine whether a product backlog item is complete. In many cases the DoD requires that all regression tests should be successful.

• Velocity: The total effort a team is capable of in a sprint. The number is derived by adding all the story points from the last sprint's stories/features. This is a guideline for the team and assists them in understanding how many stories they can do in a sprint.

• Impediment: Anything that prevents a team member from performing work as efficiently as possible.

Page 64: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2017/SE-02-Life_cycle.pdf•Oracle Unified Method (OUM), the Oracle development and implementation process •Agile Unified

Scrum terminology (7)

• Sashimi: A report that something is "done". The definition of "done" may vary from one Scrum team to another, but must be consistent within one team.

• Abnormal Termination: The Product Owner can cancel a Sprint if necessary. If a sprint is abnormally terminated, the next step is to conduct a new Sprint planning meeting, where the reason for the termination is reviewed.

• Planning Poker: In the Sprint Planning Meeting, the team sits down to estimate its effort for the stories in the backlog. The Product Owner needs these estimates, so that he or she is empowered to effectively prioritize items in the backlog and, as a result, forecast releases based on the team's velocity.