METHODOLOGIES
FOR SYSTEMS ANALYSIS
QUESTIONS TO CONSIDER
What are the various approaches to developing Information Systems?
Is there one best way?
What is the difference between techniques, methodologies and tools?
What does the popular term “SDLC” actually mean?
SDLC
SDLC stands for
What does it mean?
SDLC: SYSTEMS DEVELOPMENT LIFE CYCLE �
METHODOLOGIES
METHODOLOGIES
A methodology is, a set of steps, guidelines, activities and/or principles to follow in a particular situation.
SDLC VS. METHODOLOGY
The term SDLC is frequently used synonymously
with the waterfall or traditional approach for
developing information systems.
WRONG !!!
“THE WATERFALL APPROACH”�
WATERFALL MODEL
Requirements – defines needed information, function, behavior, performance and interfaces.
Design – data structures, software architecture, interface representations, algorithmic details.
Implementation – source code, database, user documentation, testing.
WATERFALL STRENGTHS
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than cost or schedule
WATERFALL DEFICIENCIES
All requirements must be known upfront
Deliverables created for each phase are considered frozen – inhibits flexibility
Can give a false impression of progress
Does not reflect problem-solving nature of software development – iterations of phases
Integration is one big bang at the end
Little opportunity for customer to preview the system (until it may be too late)
WHEN TO USE THE WATERFALL MODEL
http://flic.kr/p/9ksxQa
Why doesn’t Waterfall work?
To find out, let’s�read a passage from�Schwaber and Beedle (2001*)
*Agile Software Development with Scrum
Why Waterfall doesn’t work
False assumption:�Specifications predictable and stable,�and can be correctly defined at the start,�with low change rates
25% change in
requirements
35% to 50% change�for large projects
Statistic:
Statistic:
Waterfall is a “defined” process control model
http://flic.kr/p/9xmccb
(think mass manufacturing)
http://flic.kr/p/4Xt7Xe
Software development needs an “empirical” model
(think new product development)
Prototyping Model
A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.”
Need for prototyping
RAPID PROTOTYPING MODEL
WHAT IS A PROTOTYPE?
In interaction design it can be (among other things):
21
SYSTEM PROTOTYPING
USES OF SYSTEM PROTOTYPES
PROTOTYPING BENEFITS
PROTOTYPING BENEFITS
PROTOTYPING IN THE SOFTWARE PROCESS
PROTOTYPING OBJECTIVES
APPROACHES TO PROTOTYPING
EVOLUTIONARY PROTOTYPING
EVOLUTIONARY PROTOTYPING
EVOLUTIONARY PROTOTYPING ADVANTAGES
EVOLUTIONARY PROTOTYPING
EVOLUTIONARY PROTOTYPING PROBLEMS
PROTOTYPES AS SPECIFICATIONS
INCREMENTAL DEVELOPMENT
INCREMENTAL DEVELOPMENT PROCESS
THROW-AWAY PROTOTYPING
THROW-AWAY PROTOTYPING
PROTOTYPE DELIVERY
RAPID PROTOTYPING MODEL (CONTD.)
SPIRAL MODEL
SPIRAL DEVELOPMENT
43
SPIRAL MODEL (BOEHM)
Barry Boehm, USC
44
ANOTHER VIEW OF THE SPIRAL
45
SPIRAL DETAILS
46
SPIRAL BENEFITS
47
SPIRAL PROBLEMS
- complicated
- relies on developers to have risk-assessment expertise
- possibly more management overhead to assess risk
- need for more elaboration of project steps �(clearer milestones)
- matching to contract software�(doesn't work well when you're bound to a fixed inflexible contract)
WHEN TO USE SPIRAL MODEL
AGILE Quality-driven
Cooperative Iterative
Adaptable
Rapid
Not a process, it's a philosophy or set of values
WHAT IS AGILE?
Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.
It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short two week cycles called iterations.
WHAT IS AGILE? (CONTD..)
Individuals and interactions over
processes and tools
Working software over comprehensive
documentation
Customer collaboration over
contract negotiation
Responding to change over
following a plan
AGILE MANIFESTO
SOME OF THE REAL LIFE EXAMPLES OF AGILE MODEL:
WHAT ARE THE 12 PRINCIPLES OF AGILE?�
EXAMPLES OF AGILE METHODOLOGY�
AGILE UMBRELLA
Agile
Scrum
Crystal
Kanban
XP
DSDM
FDD
RUP
And few more…
RUP (120+)
XP (13)
Scrum (9)
Kanban (3)
Do Whatever!! (0)
More Prescriptive
more rules to follow
More Adaptive
fewer rules to follow
* Check wikipedia for list of all Agile methods
RUP has over 30 roles, over 20 activities, and over 70 artifacts
Large Companies that use Scrum…and lots of local guys, too
Intro to Scrum
60
THE GAME OF RUGBY --- SIMILAR TO AMERICAN FOOTBALL
61
THE RUGBY SCRUM
62
THE RUGBY “SPRINT”
63
THREE MAJOR ROLES IN SCRUM
64
DAILY SCRUM (15 MINUTE MEETING)
65
SPRINT PLANNING MEETING
66
SPRINT REVIEW MEETING
67
SPRINT RETROSPECTIVE
68
SCRUM DIAGRAM
Definition of Scrum (n): A framework within which people can address
complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Scrum is
Scrum is
lightweight.
simple to
understand.
difficult to master.
SCRUM
Split your organization
into small, cross-functional, self- organizing teams.
A light-weight agile process tool
Scrum Team
Product/Project
Split your work into a list of small, concrete deliverables.
Sort the list by priority and estimate the relative effort of each item.
Scrum Master
Owner
SCRUM IN A NUTSHELL
So instead of a large group spending a long time building a
big thing, we have a small team spending a short time
building a small thing.
But integrating regularly to see the whole.
SCRUM PROCESS
CEREMONIES: THE MEETINGS
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Release Planning
(optional)
Create
regularity
Minimize the need for meetings not defined in Scrum
Are timeboxed
Designed to enable transparency and inspection
Scrum Roles
Product Owner
Scrum Master
The Team
ROLES: THE PEOPLE
Product Owner
PRODUCT OWNER
Works daily with the Scrum team
to clarify requirements
Member of the Scrum team
Decides what the project/product does and does not include
Bridges gaps between customer, stakeholders, and the Scrum Team
The single wringable neck, the PO is responsible for the project and driving product success.
Represents and speaks for the business needs of the project by creating and sharing the vision of the product.
Creates shared vision
PRODUCT OWNER’S RESPONSIBILITIES
Product
Backlog
Work with Team
Develops product vision, strategy, and direction
Sets short- and long-term goals for the product
Takes responsibility for the product’s budget and profitability
Provides or has access to product expertise
Decides on the release date for completed functionality
Gathers, prioritizes, and manages product requirements
Works with the team on a daily basis to answer questions and make decisions
Conveys product needs to the team
Accepts or rejects completed work during the sprint
Owns the product backlog
| |
| |
Product Backlog
Product Backlog
Our “to do” List
Backlog lists all of the work on a project
The Product Owner is responsible for the product backlog, including its content, availability, and priority ordering
A product backlog is never complete and evolves along with the product and the environment in which it will be used
Delete an item
Add an item
Product Backlog Items
The team determines how the backlog item will be achieved
The team determines the complexity of each product backlog item
As a team, we estimate the t-shirt size of this item as a small.
Here are the steps we will take to implement this item...
Product Backlog Item
Backlog EOsrtdimera:te
:
Description: As a hotel
guest, I
want to reserve
a room
1
Small
online.
Hotel Software System Product Backlog
Product Backlog Item | Complexity |
Allow a guest to reserve a room | Small |
Allow a guest to cancel a reservation | XS |
Allow a guest to change the date of a reservation | Medium |
Allow a hotel manager to run revenue reports | Medium |
Improve exception handling | Large |
Scrum Master
SCRUM MASTER
Servant leader
Works daily with the Scrum team
Enabling (not accountability) role
Member of the Scrum team
Change agent
The Scrum Master is responsible for ensuring Scrum is understood and enacted while supporting the Team. Scrum Masters do this by acting as a coach, ensuring that the Scrum Team adheres to Scrum theory, practices, and rules.
The Team
SCRUM TEAM KEY FEATURE #1�THE TEAM MODEL IN SCRUM IS DESIGNED TO OPTIMIZE FLEXIBILITY, CREATIVITY, AND PRODUCTIVITY
Self-Organizing
Traditional
Self-organizing teams choose how to best accomplish their work, rather than being directed by others outside the team
Team’s tasks and work being directed by a
manager
SCRUM TEAM KEY FEATURE #2�THE TEAM MODEL IN SCRUM IS DESIGNED TO OPTIMIZE FLEXIBILITY, CREATIVITY, AND PRODUCTIVITY
Cross Functional
Traditional
Cross functional teams have all the competencies needed to accomplish the work without depending on others not part of the team
Traditional teams are formed by function
The Sprint
SPRINT BASICS
At the heart of Scrum is the Sprint
Consistent iteration of time (timebox) where the team completes a specific group of tasks from start to finish.
Timebox duration is consistent from sprint to sprint.
Timeboxes vary from team to team between 2 to 4 weeks.
Each Sprint can be thought of as a project. Like projects, Sprints are used to accomplish something.
Each Sprint builds incrementally on the work of prior Sprints.
ELEMENTS OF A SPRINT
Sprint Planning
We plan the work.
01
The Work
We do the work.
02
Daily Scrum
We coordinate the work.
03
1
3
2
We coordinate the work.
We plan the work.
Sprint Review &
04 Retrospective
We review the work.
We review the work.
4
We do the work.
CHANGES DURING THE SPRINT
Quality goals do
not decrease
02
01
03
Scope may be clarified and renegotiated as more is learned
No changes are made that would endanger the sprint goal
Starting a Sprint
1
2
3
4
Choose the user stories that
support those goals
Establish the goals for your
sprint
Break user stories into
specific tasks
Create a Sprint Backlog
Overview: Starting a Sprint
When planning a Sprint, you will:
04 Steps
Sprint Backlog: Tasks
Tasks in agile projects should take a day or less to
complete for two reasons:
24
hours
1
People are motivated to get to the finish line. If you have a task that you know you can complete quickly, you are more likely to finish on time.
One-day tasks can provide early red flags that a project might be veering off course.
2
Working in a Sprint
60
DOING THE WORK THROUGH THE SPRINT BACKLOG
Scrum Master is responsible for the resolution of impediments
Once a story starts, work should continue until the story meets the sprint definition of done
The team wins and loses together
Additional work for the sprint can emerge from existing stories in the sprint
Any team member can add, delete, or change the sprint backlog
Daily Scrum
DAILY SCRUM MEETING�THE ANSWERS THREE QUESTIONS
What did you do yesterday?
What will you do today?
Is there anything in your way?
DAILY SCRUM MEETING�AKA “DAILY STANDUP” OR “DAILY HUDDLE”
Meeting must last 15 minutes or less
Anyone may attend but only the team & Scrum Master may talk
Focus on status of current work, priorities, and impediments
Daily Scrum Meetings are for coordination, not problem solving
Ending a Sprint
Sprint Review
SPRINT REVIEW
Entire team participates
Show off product like a demo
Maximum of one hour per week
per sprint duration
Informal, no slides
Team presents what they accomplished during the
sprint to the Product Owner
Invite anyone and everyone who may be interested in the product
Intended to elicit feedback and foster collaboration
Sprint Retrospective
SPRINT RETROSPECTIVE�THE ANSWERS THREE QUESTIONS
What actions do we need to take moving forward to fix #2?
What didn’t go
well?
What did we do well?
The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next sprint
02
All Scrum team members participate except for Product Owner (unless asked to participate)
04
Done at the end of every sprint
01
The results should be inputs (stories) into the backlog
03
SPRINT RETROSPECTIVE
Retrospective Item to Review: Team Rules
Team Rules |
|
These are the guidelines the team members agree to conduct themselves under in the Sprint as defined by the Scrum team. |
SPRINT RETROSPECTIVE
What should we continue to do in training?
What should we change or stop doing?
KEY FEATURES OF SCRUM METHODOLOGY�
WHO CAN BENEFIT FROM SCRUM?�
WHAT ARE THE BENEFITS OF AGILE SCRUM METHODOLOGY?�
BENEFITS OF SCRUM�
DISADVANTAGES OF SCRUM�
SCRUM BEST PRACTICES�
TOOLS
Program Management Tool
Unit Testing Tool
Automation Testing Tool
Code Quality Reporting Tool
Continuous Delivery Tool
JIRA
Go-Pipelines
Jasmine
Jbehave-Selenium
Sonar
AGILE METHODS
XP
WHY CAN XP BE BETTER?
EXTREME PROGRAMMING PROJECT
For more specific definitions of agile methodologies check out Agile’s Interview questions and Answers.
SCRUM (AGILE) METHODOLOGY
Material was borrowed from the “development that pays” site. Material is available at that site and is used with permission.
KANBAN (AGILE) METHODOLOGY
Material was borrowed from the “development that pays” site. Material is available at that site, and is used with permission.
RATIONAL UNIFIED PROCESS
RATIONAL UNIFIED PROCESS
JOINT APPLICATION DESIGN
RISKS OF AGILE AND PROTOTYPING
From John Cutler, Is Agile the Enemy (of Good Design)? Hackernoon, Available Online. Last viewed July 31, 2018.
ENTERPRISE SYSTEM PLANNING
STAGES OF THE SDLC
IS 421
Systems Analysis
IS 422
Systems Design
PHASES OF THE SYSTEMS DEVELOPMENT LIFE CYCLE
SYSTEMS DEVELOPMENT LIFE CYCLE
Analysis
SYSTEMS DEVELOPMENT LIFE CYCLE
Design
Implementation
Discussion about each methodology and its benefits is available at
http://www.technologyuk.net/software-development/sad/methodologies.shtml
This resource has recommendations about the various stages.
ROLES OF A METHODOLOGY
WHAT A REAL METHODOLOGY LOOKS LIKE
ROLE OF A METHODOLOGY
To identify and track necessary deliverables
ROLE OF A METHODOLOGY
Project Management Guidelines
ROLE OF A METHODOLOGY
Estimation Guidelines
ROLE OF A METHODOLOGY
ROLE OF A METHODOLOGY
ROLE OF A METHODOLOGY
ROLE OF A METHODOLOGY
ROLE OF A METHODOLOGY