0% found this document useful (0 votes)
11 views52 pages

Session02 SDLC

Software Life Cycle

Uploaded by

hungnx2711
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views52 pages

Session02 SDLC

Software Life Cycle

Uploaded by

hungnx2711
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Session 02

Software Life Cycle

R2S Academy – Internal Use – Author: Tuan Ngo


Table of Content
Objectives

1 Business Analyst – Roles & Responsibility

2 Software Development Life Cycle (SDLC)

3 BA role in SDLC

R2S Academy – Internal Use – Author: TUAN NGO


Introduction

Business Analyst-
Roles & Responsibility
Introduction
BA – Roles & Responsibility

l Business Analyst is the one who:

l Analyzes their processes, products, services, and systems to improve current processes

l Makes profitable decisions through insights and data analysis

l Documents business processes by assessing the business model and its integration with technology

l Communicates with all stakeholders, and

l to elicit, analyze and validate the requirements for changes to business processes, information
systems, and policies
Introduction
BA – Roles & Responsibility
Introduction
BA – Roles & Responsibility
Career path?

CIO – Chief Information Officer


CTO – Chief Technology Officer
COO – Chief Operating Officer
Introduction
BA – Roles & Responsibility
Is BA study hard or easy?
o IT engineer background (Terms, Frameworks, Database, Infrastructure, etc)

o Domains knowledge

o Language

o Communications ability

o Time zones different management / Daylight saving time (DST)

o Special cases experiments (localization, culture, etc.)


Introduction

Business Analyst-
Skills
Introduction
Business Analyst - Skills
1. Analytical (Logical) Thinking and Critical Thinking

l A business Analyst must analyze and translate the client’s requirements distinctly

l Analytical thinking is about breaking down problems logically, into small bites based on information
and facts

l Analytical thinking is the ability to gather and analyze information in order to understand complex
situations and solve problems

l Critical thinking is about looking at a data set or rather situation from different angles.

l Critical thinking helps a BA in assessing multiple options before arriving at the aspired solution

Analytical thinking is the breaking down and examining data, while critical thinking is the interpreting
and explaining of data
Introduction
Business Analyst - Skills
Introduction
Business Analyst - Skills
Critical Thinking
There are six main skills to analyze facts and situations and
come up with logical conclusions
1. Analytical thinking
2. Good communication
3. Creative thinking
4. Open-mindedness

5. Ability to solve problems


6. Asking thoughtful questions
l Open-ended questions

l Outcome-based questions

l Reflective questions

l Structural questions. (Eg: build reports for multiple departments)


Introduction
Business Analyst - Skills
2. Communication and Interpersonal Skills

To communicate concisely with the stakeholders and clients with regard to the requirements, BA need to:

l use these skills at different phases

l use verbal and written communication to convey ideas, facts, and opinions to stakeholders.

l facilitate meetings

** Negotiation and Cost-Benefit Analysis

l to determine which requests turn into requirements and their priority levels.

l As the project progresses, negotiation skills play a significant role in deciding the functional design that fulfills the
requirements. Negotiation skills are also used to make technical decisions.
Introduction
Business Analyst - Skills
2. Communication and Interpersonal Skills

How to communicate efficiently?

l Communicate the Right Way

l Understand the Different Learning Styles → learners as visual (learns by seeing), auditory (learns best through
oral communication or by hearing) and kinesthetic (learns by doing)

l Be Clear on the Objectives of Your Communication

l Follow Up (conversation, email flow, etc.)

l Keep it Simple & Correct (grammar, style and vocabulary)

l Engage but Listen

l Provide the Right Level of Detail


Introduction
Business Analyst - Skills

3. Time management skill


l Planning
• Preparing task lists, building sequences of
work, calendar management, making
meeting agendas, even preparing project
plans

• Imagine what needs to be done and


prioritize the most important tasks

l Decision making and prioritization


• to decide which tasks to tackle first, and
which tasks you will say no to
Introduction
Business Analyst - Skills

3. Time management skill

l Delegating and outsourcing tasks

- Saying “no” is about protecting your time. Delegating tasks is about leveraging other’s people time

- How to do: find the right people whom you can trust and who will actually deliver → build a relationship
with them and properly communicate “the definition of work done” and “acceptance criteria” when
you delegate

Advantage: contributes to your leadership skills and personal development


Introduction
Business Analyst - Skills

4. Understanding the Business Objective

A business analyst should be able to comprehend an organization’s goals and problems.

l recognize business problems and come up with the most suited solution

l have domain knowledge


Introduction
Business Analyst - Skills

5. Decision-Making Skills

l The decisions made by a business analyst has a direct and indirect impact on the company's business.
Hence, they should think of all the aspects before presenting their decision.

l Interprets the problem and finds alternative business approaches before making a decision

l Test all the alternative approaches and make a decision based on their thoughts regarding these
approaches. They finally test and implement the solution.

l Business analysts also take the last call in ensuring that a particular technical design conforms to the
discussed business requirements or not.
Introduction
Business Analyst - Skills
6. IT background

l Software Engineering Methodologies like SDLC e.g. Waterfall, Iterative (Agile/Scrum)

l High Level Technology like OOP, Data base structure (MSSQL Server, MySQL database, Oracle, MongoDB)

l UML Modeling Tools (StartUML, Visio, Camunda, etc)

l Testing Tools (Postman, Jmeter, etc)

l Mind map

l Prototyping tools (draw.io, Balsamiq, etc)

l Interaction tools (InvisionApp, Axure, etc)

l MS Office

l Cloud services (AWS, Azure, Heroku, etc)


Software Development Life Cycle
(SDLC)
SDLC
Phases

6 Phases of the Software Development Lifecycle


SDLC
Business Analysis - Process

Business Analysis Process

SDLC
SDLC
Phases
Phase 1: Analysis / Strategy

• Most important phase in SDLC in which all the


information is gathered from customers, users and
stakeholders

• Gives the clear picture of the scope of the project and


all the minute details (Planning, risk factors)

• Helps to finalize the timeline boundary of the project

→ Output: Business Requirement Specification (BRS)


Document
Design SDLC
Phases
High-Level Low-Level
Design Design

Phase 2: Design
Output: Software design documents (SDD)
• High level design document (HLDD) – macro level:
list of modules, brief functionality of module,
database tables with key elements, architectural
diagrams (data flow, flowchart, data structure)
• Low level design document (LLDD) – micro level:
detailed functional logic of module, database tables
with their type and size, interface details, error
messages, complete input and outputs for a module
SDLC
Phases

Phase 3: Code/ Build/ Develop/ Implement

• The longest phase of SDLC

• Tasks are divided and assigned to developers

• Developers start to write code, also write unit


test, build and deploy to an environment.
SDLC
Phases
Phase 4: Testing
• After the software is completed, it is deployed in the
testing environment
• The testing team then checks the functionality of the
system.
• During this testing phase, testing team (QC) may find
some bugs/defects which they communicate to
developers.
• This process continues till the software tested is
defects-free, stable and working according to the
business needs of the system
SDLC
Phases
Phase 5: Install/ Deploy
• To put the solution in the production environment.
• The product must be tested in a real environment (User
Acceptance Testing - UAT).
• Testing Server à Staging Server à Production Server
SDLC
Phases

Phase 6: Maintain

• Bug fixing (if any)

• Upgradation and Enhancement of some new features are


done in the maintenance phase.
SDLC
5 Models

BA role in SDLC
BA Role in SDLC
Requirement Analysis

Who involve?

- Business Analyst (in appointments/ interviews with clients)

- Project Manager (optional)

Output

The information gathered is documented using MS Word or


any similar software to represent use cases, use case
diagram, activity diagram and data flow diagram etc.
BA Role in SDLC
Design and Development

Who involve?

- Development team

- Business Analyst (to explain/ clarify with team/ developer)

- Support to run demos


BA Role in SDLC
Testing

Who involve?

- Testing team

- Development team

- Business Analyst (to make appointment with client


and the client performs a sanity check)
SDLC
Models

Waterfall
SDLC
Waterfall
• A cascade SDLC model

• Is strictly documented and predefined with


features expected to every phase of this
SDLC model

Principles
• Sequential structure
• Strong focus on documentation

• Low customer involvement


The Waterfall model does not permit going
back to previous stages of development to
rectify or implement changes. The only way
to do that is to do it in the next Waterfall
iteration.
Pros Cons

Management simplicity: Potential lack of flexibility


SDLC
ü ü

every phase has a defined


result and process
review
Waterfall
ü Easy to classify and ü High risks and uncertainty
prioritize tasks

ü Perfect for the small or ü Inappropriate for the long-


mid-sized projects where term projects
requirements are clear

ü Good documentation ü Testing is done at the end of


the Waterfall project, and
the final QA phase takes
significant time
ü The project scope, cost, ü Integration is done at the
and timeline are clearly very end, which does not
outlined, so clients know give the option of identifying
exactly what will be the problem in advance
delivered
SDLC
Waterfall
Use case
• Simple small or mid-sized projects with clearly
defined and unchanging requirements (ex:
small company website development)
• With the need for predictable budget and
timelines (ex: governmental projects)
• Must adhere to multiple rules and regulations
(ex: healthcare projects)
• Where a well-known technology stack and
tools are used
SDLC
Models

V-shaped
SDLC
V-shaped

• Known as the validation model, a further


extension of the waterfall model

• The V-model is a linear model with each


stage having a corresponding testing
activity

• Early test planning


SDLC
V-shaped
Pros Cons

ü Mistakes in requirements û Most expensive and time-


specifications, code and consuming models
architecture errors can be
detected early

ü Smooth and efficient bug û Changes during


fixing development are still
expensive and difficult to
implement

ü Good for the small projects, ü Lack of the flexibility


where requirements are
static and clear
SDLC
V-shaped
Use case

• Projects where failures and downtimes are


unacceptable (e.g., medical software, aviation
fleet management, trading software).

• The V-Model is good for similar types of projects


as Waterfall.

• For the projects where an accurate product


testing is required

• For the small and mid-sized projects, where


requirements are strictly predefined
SDLC
Models

Spiral
SDLC
Spiral
• combines architecture and prototyping by
stages

• The plan is introduced basing on the statistic


data, received during the previous projects or
the personal developer’s experience.

• The shift to the next stage is done according to


the plan, even if the work on the previous
stage isn’t done yet
Pros Cons

ü Lifecycle is divided into small


parts, and if the risk
ü Can be quite expensive
SDLC
concentration is higher, the Spiral
phase can be finished earlier to
address the treats

ü The development process is ü The risk control demands


precisely documented yet involvement of the highly-
scalable to the changes skilled professionals

ü The scalability allows to make ü Can be ineffective for the small


changes and add new projects
functionality even at the
relatively late stages

ü The earlier working prototype ü Big number of the


is done - sooner users can intermediate stages requires
point out the flaws excessive documentation
SDLC
Spiral
Use case
• Customer isn’t sure about the requirements
• Major edits are expected during the
development cycle
• The projects with mid or high-level risk, where
it is important to prevent these risks
• The new product that should be released in a
few stages to have enough of clients
feedback
SDLC
5 Models

Agile
SDLC
Agile
• More than 70% of organizations employ Agile
approach in their IT projects

• Subtypes: Scrum, Extreme Programming and


Kanban

Use case

• The users’ needs change dynamically

• Most of mid-sized projects

• Custom software development where business


requirements cannot be confidently translated
to detailed requirements
Pros Cons
ü Agile approaches in an adaptive way that û Focuses on working with software and lacks
responds to changes favorably documentation efficiency SDLC
ü Daily communication among the customer Agile
and developers

ü Corrections of functional requirements are û Difficulties with measuring the final cost
implemented into the development process because of permanent changes
to provide the competitiveness

ü Project is divided by short and transparent û The team should be highly professional and
iterations. client-oriented (and with estimation skills,
negotiation skills and communication skills)

ü Risks are minimized thanks to the flexible û New requirements may conflict with the
change process existing architecture because the chances of
getting off-track as the outcome are not
clear

ü Early and frequent releases û With all the corrections and changes there is
possibility that the project will exceed
expected time
SDLC
5 Models

Brainstorming Practices
Brainstorming Practice
Problem 1 – Estimate the building height?
Brainstorming Practice
Problem 2 – Dog and his owner’s moving?

• Distance: 7 kilometers

• Dog velocity: 15 km/h

• Boss’s velocity: 5 km/h


Session 2 - Review
SDLC
1. Software Development Life Cycle
ü Main activities in Testing phase of SDLC?
ü BA roles in Testing Phase of SDLC?

2. BA Skills:
ü Why communication skills are required from Business Analyst?
ü What is critical thinking?

3. SDLC models:
ü Which SDLC model (Waterfall, V-Sharp, Spiral, Agile Scrum) is applied for a software that downtime and
failure are not acceptable? Why?
Teams
TEAM #1:
ü Hồ Đắc Thiên Ân
ü Ngô Thùy Dung

TEAM #2:
ü Hà Anh Kiệt
ü Nguyễn Thị Minh Huệ

TEAM #3:
ü Nguyễn Sỹ Tú
ü Nguyễn Minh Hiếu

You might also like