System Development Methods: SDLC, Agile, and SCRUM

Systems Development Method – SDM

A standard process used in an organization to conduct all the steps necessary to analyze, design, implement, and maintain an information system.

Systems Development Life Cycle – SDLC (Circular Process)

A life cycle model for system development and the traditional model used to develop, maintain, and replace information systems. It consists of phases/steps, often with sub-steps, and recommends/assumes the use of techniques and tools. The steps have expected results – output to the next step.

System Conception

Conception follows on from IS planning. Conception is the phase in which we develop the key business case, analyze risk, and assess the feasibility of an information system.

Any business case or strategic evaluation of an information system should consider IS costs and IS benefits.

It is useful to distinguish between two types of costs/benefits: tangible or visible costs/benefits and intangible or invisible costs/benefits.

Investment in IS can be justified in terms of efficiency, effectiveness, such as better customer relations, and strategic advantage.

Risk analysis is the process of identifying risks, estimating the likelihood of risks, and planning to avoid risks.

Analysis – Requirements Work

a) System Requirements

Understanding the business needs, then gathering requirements through interviews or workshops. (i.e., booking interviews with the company)

b) Process Requirements

Graphically representing functions or processes that capture, manipulate, store, and distribute data between a system and its environment, for example, using a Data Flow Diagram (DFD).

c) Data Requirements

Capturing and applying business rules (relationships between data/objects) by, for example, creating a Conceptual Data Model/ER Modeling.

Design

– Databases

Relational databases, normalization, logical design (at what level, what do we need). Physical design – exactly how it should be implemented in the specific database we have chosen (practical implementation).

– Forms and Reports (usability, what is “appropriate”)

– Interfaces and Dialogs (interaction and dialog design [designing interaction between two or more systems])

(Distribution and internet)

– Functionality – which function the system can deliver, determines whether it is

Implementation

System Implementation – The system is created and integrated into its organizational context.

  • Coding
  • Testing (a specialized area)
  • Installation
  • Documentation
  • Training and Support

Maintenance

The Process for Maintenance:

  • Receive maintenance requests
  • Transform requests into changes
  • Design changes
  • Implement changes

There are different types of maintenance:

  • Corrective (not value-adding)
  • Adaptive
  • Perfective
  • Preventive

Advantages of a Traditional System Development Model – SDLC

  • A linear model that is easy to understand and implement.
  • Works well on mature products.
  • Provides structure to inexperienced teams.
  • Minimizes planning overhead.
  • Phases are processed and completed one at a time.

Since No Model Can Do “Everything”, Many System Development Models Emerged

Examples of early ones:

  • Structured Analysis, Design, and Implementation of Information Systems (STRADIS)
  • Yourdon System Method (YSM)
  • Information Engineering (IE)
  • Object-Oriented Analysis (OOA)
  • Rapid Application Development (RAD)
  • Rational Unified Process (RUP)
  • Jackson Structured Programming/Design (JSP/JSD)

Agile Manifesto Values

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

hnp://www.agilemanifesto.org

What is SCRUM in 100 Words?

Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software every two weeks to one month.

The business sets the priorities. Our teams self-manage to determine the best way to deliver the highest priority features. Every two weeks to a month, anyone can see real working software and decide to release it as is or continue to enhance it for another iteration.

SCRUM’s Characteristics

  • One of the Agile processes
  • Self-organizing/managing Scrum teams
  • Requirements (as in things that need to be done within a scrum project) are considered as “product backlog”
  • No specific engineering practices are required
  • Scrum projects make progress in a series of month-long “sprints”
  • Product is designed, coded, and tested during the sprint
  • Target duration is one month

SCRUM Framework

Roles: Product Owner, Scrum Master, Scrum Team

Ceremonies: Sprint Planning Meeting (2 parts), Sprint Retrospective, Daily Scrum Meeting & Sprint Review Meeting

Artifacts: Product Backlog, Sprint Backlog, and Burndown Chart

Roles:

Product Owner

  • Defines the features of the product and prioritizes them according to market value.
  • Adjusts features and prioritizes every iteration, as needed.
  • Accepts or rejects work results.
  • Decides on release date and content.

The SCRUM Master

  • Responsible for enacting Scrum values and practices.
  • Represents management to the project.
  • Removes hindrances.
  • Shields the Scrum Team from external interferences.
  • Ensures that the Scrum team is fully functional and productive.
  • Enables close cooperation across all roles and functions.

The SCRUM Team

  • Typically 5-10 people.
  • Self-organizing and cross-functional team (QA, Programmers, UI Designers, etc.).
  • Members should work full-time.
  • Membership can change only between sprints.

Ceremonies

  • Sprint Planning Meeting
  • Sprint
  • Daily Scrum
  • Sprint Review Meeting

Systems Analysis involves two primary and inter-related activities: requirements elicitation and requirements representation.

Requirements Elicitation

Requirements elicitation is the process of gathering a list of requirements of a system from users, customers, clients, regulators, and other stakeholders. It involves attempting to achieve some intersubjective agreement amongst stakeholder groups about requirements.

The Requirement Elicitation Techniques Are

  • Interviews
  • Observation
  • Ethnography
  • Prototyping
  • Workshops

Requirements Specification

Requirements specification is the process concerned with the representation of requirements.

The requirements specification techniques:

  • Structural Modeling
  • Behavioral Modeling
  • Object Modeling
  • + Plain text

MoSCOW: Technique used to prioritize requirements.

(Note: if there are requirements that are not possible to prioritize – that will make the system useless if omitted)

DFD as a Method

(Belongs to the category of behavioral modeling)

Notation DFD

Modeling with DFD involves engaging in functional decomposition (top-down). Initially (in the basic version), a physical current state and a physical new state were modeled. I am unsure of the scope and how DFD is used today – but the knowledge is in demand. It could be to study information flows or to model DFD as part of requirements management.

Three Types of Data Model

  • Conceptual data model: a detailed model that captures the overall structure of data in an organization. Example: ER model
  • Logical data model: an implementable model, which describes data using notation that corresponds to a data organization (relational database model) used by a database management system
  • Physical data model: a description of the implementation of the database

Conceptual Data Model

The primary deliverable is an (E-R) diagram or class diagram (OOAD).

The second deliverable is a set of entries about data objects to be stored in a repository or project dictionary.

Gathering Information for Conceptual Data Model

Two perspectives on data modeling:

  • Top-down approach for a data model is starting with understanding the business question.
  • Bottom-up approach for a data model is starting with the data and working up to insights.

Bottom-Up Approach

e.g., Customer order

Introduction to Entity-Relationship Modeling

Entity-relationship diagram (E-R diagram):

0dmEkVyuDJ4yYZXOLHZDnPqG0FaE63tEWAFROERV

A graphical representation of an E-R model.

Entity-Relationship data model (E-R model): a detailed, logical representation of the entities, associations, and data elements for an organization or business area.

ISO Definition

ISO 9241-11 defines usability as:

The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use.

Identification of Inputs and Outputs

Identify the outputs from the system

By listing the data flows that cross the system boundary as they leave the system.

Identify the inputs into the system

By listing the data flows that cross the system boundary on their way in.

Determine the content by inspecting the data dictionary.

Three Kinds of Design

Interaction design

To do and to act,

Forms, buttons, shopping cart, radio buttons

Graphic design

To see and to like

Color, shape, style, feel, speed

Information design

To find and to understand

Screen titles, titles, labels, disposition, links, search

Maintenance – (BS glossary for terms used in terotechnology)

The combination of all technical and administrative actions, including

supervision actions, intended to retain an item in, or restore it to, a

state in which it can perform a required function

Software – (ISO standard for quality management systems)

Software product undergoes modification to code and associated

documentation due to a problem or the need for improvement. The

objective is to modify an existing software product while preserving its

integrity.

OOAD Summary

Jjm_KIvjM3QqsAZ4s9mv9AqFVaz8K0bajTf-L55j

The Sapir-Whorf hypothesis is a controversial linguistic hypothesis named after Edward Sapir and Benjamin Lee Whorf. It states that a person’s thoughts cannot be understood by another person who uses a different language because the way of thinking is strongly influenced by one’s native language.