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