0% found this document useful (0 votes)
10 views

SDLC - Agile - Process For Dev

The document discusses different software development life cycle (SDLC) models including waterfall, spiral, prototype, V-model, agile, and hybrid models. It provides details on the waterfall model phases including requirement collection, design, coding, testing, deployment, and maintenance. It also describes the spiral model phases and when each model is suitable.

Uploaded by

kadalipavithra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

SDLC - Agile - Process For Dev

The document discusses different software development life cycle (SDLC) models including waterfall, spiral, prototype, V-model, agile, and hybrid models. It provides details on the waterfall model phases including requirement collection, design, coding, testing, deployment, and maintenance. It also describes the spiral model phases and when each model is suitable.

Uploaded by

kadalipavithra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

SDLC: Software Development Life Cycle.

--------------------------------------------------------------
It is a systematic approach to develop any software application OR products. It starts
from requirement collection & ends with quality deliverables.

Models in the SDLC:


- Waterfall model
- Spiral Model
- Prototype Model
- V & V Model (Verification & validation Model)
- Hybrid Model
- Agile Model ***
- Derived Model

Waterfall Model:
-------------------------
- It is a traditional model.
- It is also known as Sequential model OR Linear model

When to go for waterfall model:


- It is suitable for simple software
- It is suitable for static software (No change in the requirements)
- It is suitable when requirements are very clearly understood by the software company.

BA Requirement Collection
Requirement freezing
Architect HLD
Design LLD

Dev Coding

Dev/QA
Testing

Dev/Build Engineer Deployment

Dev/QA
Maintenance

Different Phases in Waterfall model:


- Requirement Collection
- Design
- Coding
- Testing
- Deployment/Installation
- Maintenance

Requirement collection:
The BA (Business Analyst) from different company will go to customer location to
gather the requirements after proper feasibility study.
Feasibility study includes:
- Resource availability
- Infrastructure OR Lab
- Profit

The BA will bid & get the project. Initially the Requirements are in the form of CRS/BRS. After
collecting the requirements, they make an agreement with the customer to freeze the Requirements.

Note:
Requirement freezing: means no more new Requirements will be considered for development apart
from the collected ones.

- Requirements freezing is the typical feature of waterfall model.


- After collecting the Requirements, the BA will convert CRS into SRS (Software Requirement
Specification)

Design Phase:
- Once the SRS is created, it will be shared with Architect.
- The Architect/ Sr. Dev (senior Dev) will go through the SRS & creates a Design Document.

It has 2 types:

1) HLD: High Level Design Doc


It contains a plan for Modules, Sub-modules, interfaces, front end and back-end technologies.

2) LLD: Low Level Design Doc


It consists of controls to all the components inside the HLD

Coding Phase:
The Dev will start converting the design into actual software by writing the programing
languages. Once all the design is converted into software, we will move to a testing phase.

Testing Phase:
As waterfall model is a traditional model, the testing was done by developer. Sometimes QA
can also perform testing. During testing if you find any defects it should be informed to Dev.
Once testing is completed & the s/w is defect free, then it will be released to customer.

Deployment Phase:
- It is a process of deploying/Installing the software in the customer location is known as
deployment. The deliverables will be kept in FTP machine.

Note: Deliverables: It means any artifacts which are shared with the customer.

The common deliverable includes:


- Software (appServer, WebServer, DB server)
- Release Note doc
- Installation Guide Doc
- Consolidated Test Execution Report
- Consolidated Defect Report

Once the deliverables are placed in FTP machine, we send out a release mail to customer. which
includes following details:
- FTP machine name OR IP address
- Credentials (UN/PWD)
- Location
- Contents

Note: The customer will have 2 types of environments:

- Stagging OR pre-Production environment


- Production OR Prod environment.

Customer will go through the release mail & install the s/w in staging environment by following
Installation Guide doc. After installing the s/w customer will perform one round of testing which is
known as User Acceptance Testing (UAT). If UAT goes fine the same software will be moved to
PROD or production environment.

Maintenance:
As per the agreement the company will provide support to the customer for a given period of time.

Advantages of waterfall model:


- As the Requirements are freezed it is very easy to develop the software.
- Less time is required
- Less resource is required.
- Less cost is required.

Dis-Advantages of waterfall model:


- As the Requirements are freezed customer will not be satisfied.
- Not all the phases are tested. Testing starts only after coding phase. Hence downward flow of
defects will be higher.
- The cost of fixing the defect will be much higher If the defect is found in the root system
- Only one/few rounds of testing take place; hence quality may not much better compare to
other models.
- It is not suitable for dynamic applications
- It is not suitable for long term applications

Assignments:

1) Why waterfall model not used in nowadays?


2) The phase in waterfall model where BA is involved?
3) what is the role of BA in waterfall Model?
4) what is the one biggest drawback of waterfall model?
5) what is FTP?
6) who will do UAT testing?
7) in which environment UAT is performed?
8) Difference b/w stagging and PROD environment?
9) why customer need stagging environment?
10) what is environment?

Spiral model:
-------------------
It is also known as Iterative & incremental model.

When to go for Spiral model:


- It is suitable for long term applications
- It is suitable for inter-dependency applications
Different Phases in Spiral model:
- Requirement Phase
- Design Phase
- Coding phase
- Testing phase

CRS: Customer Requirement Specification


BRS: Business Requirement Specification
SRS: Software Requirement Specification
FS: Functional Specification

1. Requirement Phase:
BA (Business Analyst) from different companies goes to customer location to collect the
requirements after proper feasibility study. They bid and get the requirements. Initially
requirements are in the form of CRS/BRS. BA will convert the CRS into SRS. If required FS
also.

Here we collect set of requirements OR module wise requirements. (Unlike waterfall


model we don't collect complete requirements here)

2. Design Phase:
Once SRS is ready it will share with Architect. The architect will start converting SRS into
design document.

There are 2 types of design doc's:


- HLD (High Level Design Doc): It consist of a plan for modules, sub-modules, interfaces,
front end and backend technologies.
- LLD (Low Level Design Doc): It consists of controls to all the components inside the HLD.

3. Coding phase:
The developer will start converting the design into actual software by writing the
programming languages. Once all the design is converted into software, it is given to tester
for testing purpose.

4. Testing phase:
Once the build (software) is ready it will be given to tester/Dev for testing purpose.

Tester will perform following testing’s:


- Functional Testing
- Integration Testing
- System Testing
- Regression Testing

Once the testing is over & the software is defect free, it will give to the customer through
deployment process.

Note:
- The duration of each iteration in spiral model ranges from 6 months to 2 years.
- They collect the new set of requirements hence second Iteration OR subsequent iterations will
start.
- Any Production OR PROD issues will be addressed through patch/hot fixes OR Updates

Note:
(a) What is patch/hot fix?
Ans: It is a piece of code which can fix the existing issues in the software.

(b) Do we accept the requirement changes in spiral model?


Ans: Yes, we can accept the requirement changes in every new iteration.

(c) When testing iteration 2, do we need to test the iteration 1 features as well?
Ans: Yes, it is done through regression (testing the old features of an application) testing.

(d) What if the problem is too big that the patch/hot fix is not enough to address the issue?
Ans: It is a rare OR never happening scenario. If in case it takes place then we need to stop the new
iteration & redo the current iteration only & then release to the market.
OR
They stop the current version and immediately come up with new updated version to the market.
Ex: VISTA OS---> Window8 and later window 10

Advantages of Spiral model:


- Suitable for long term applications
- Requirement changes are accepted in every iteration
- Inter-dependencies can be easily overcome.
- Compare to waterfall model more testing cycle takes place in spiral model. Hence quality of
the software will be good.

Dis-Advantages of Spiral model:


- Not all the phases are tested. Testing starts only after coding phase. Hence downward flow of
defects will be higher.
- The cost of fixing the defect will be higher If the issue is found in the root system.
- Not all the inter-dependencies can be overcome.
Agile model:
---------------
The name “Agile” means: -
"Able to move quickly and easily”
OR
"A method of project management, used especially for software development that is
characterized by the division of tasks into short phases of work and frequent reassessment and
adaptation of plans."
Definition:
It is a customized model. It is a combination of Waterfall + Spiral model.

Different Agile Methodologies:


- Scrum
- Crystal Methodologies
- Dynamic Software Development Method (DSDM)
- Feature Driven Development (FDD)
- Lean Software Development
- Extreme Programming
- Kanban

Note: In Agile model we use SCRUM methodology.

Agile process
- User stories collection (Requirements)
- Agile team formation
- Sprint planning
- Product backlog review
- Sprint kick-off meeting
- Sprint
(a) Daily Scrum meeting OR Daily Standup meeting
(b) Implementations OR Coding
(c) Unit Testing OR White Box Testing
(d) Review
(e) Testing
(f) Release
- Sprint Review OR Sprint Retrospect meeting
- Next Sprint

1. User stories (US) collection:


In Agile, requirements are also k.a., User Stories. The Product owner will collect the US from
the customer. He is a SPOC (Single Point Of Contact) between company and Customer.
Product owner goes to customer location, explains about the agile process and collects the US
from the customer. Once the US are collected it will be handed over to the SM.

2. Agile team formation:


• A scrum Master (SM) will play a vital role in the Agile Team Formation
• A typical Agile/Scrum Team consist of min 5-7 Dev & at-least 1 QA put together. The no. of
Agile/Scrum teams depends on:
(a) Project Responsibilities
(b) Complexity of the project
(c) Team Size/Head count
• All the team members should have mindset of owning complete product responsibilities
(Holistic Approach).
• The team members should be a motivated individual & having required skill set.
3. Sprint planning:
Once US are given to Scrum Master (SM) he will perform the Sprint Planning.
Which includes?
(a) No. of sprints required to develop the s/w
(b) Sprint Window will be defined
(c) Segregation of US in each sprint.

Sprint: It is a total duration period of time in which all the selected user stories (US) are developed is
known as Sprint.

Sprint Window: A fixed duration for the sprints. Usually, it will be 3 weeks.

Scrum Master Responsibilities:


- Agile team formation
- Defining sprint window
- Defining # of sprints
- Defining daily standup meetings, status meetings, kick-off meetings etc.
- Prioritization & Allocation of the tasks to the individuals.
- Solving OR resolving the challenges/impediments/Crux among the scrum team members.
- Sharing the work status with the stake holders (Anyone who is directly OR indirectly
involved with your project. Ex: Sales, Marketing, Customer, Dev, QA, Product Owner etc).

Note: He acts as a facilitator.

4. Product backlog review:

• It is a process of identifying the feature/User stories/fixes which are part of the current sprint.
• It may include new user stories, Defects from the previous sprint, the user stories pending
from the last sprint etc.

What are the activities takes place in Product backlog review:


- Task prioritization and allocation to the individuals.
- All the team members will go through the US & understands them. During the process of
understanding of US, we can talk/discuss with BA, Product Owner, Dev, PEER etc.
- Both Dev & QA must chalk out/Write down risk assessments.
- All the team members have to provide the estimation to the tasks allocated to them by -
including both Dev & QA efforts put together.
- SM will collect the estimations from all the team members and create a Story Point (A unit of
estimation measuring complexity and size is k.a., Story Point)
- Once the given estimation is sustainable, then the same thing will be communicated to the
stake holders & then the current sprint US will be freezed. (No more new US will be added to
the current sprint after freezing the requirements.)
Scrum Framework:

5. Sprint kick-off meeting:


In sprint kick-off meeting we will show the preparation checklist

QA checklist:
- Documentation is ready (Test case & Test plan)
- Risk outlined and understood
- Preparation for the QA activities

Dev checklist:
- Design understood
- Ready with plan and documentation etc

Note: ScrumMaster will share the meeting details with all the stake holders

6. Sprint:
• All the scrum team members will attend the Daily scrum meeting OR Daily standup meeting.
• This meeting should be completed within 15-20 min.

The following things will be discussed by the individuals during the Daily Scrum meeting:
- What we have done yesterday
- What we are going to do today
- Any challenges OR impediments OR Crux

After the meeting QA goes to their desk, write/update the test cases as per the discussion.
Once the test cases are written, it should undergo review process. In Agile BA, Dev will
involve in the review meetings along with the QA.
QA has to talk to BA & Dev, get their availability & setup a review meeting with them. After
the review, the QA has to fix all the review comments, Baseline the test cases and store them
in test case repository. (It is a centralized place in which the test cases are stored is k.a., Test
case repository).
Once Dev completes the coding for the discussed features, they will create a build & give to
QA for testing purpose along with Release Note (RN) doc.

Once QA gets the build + RN:


- QA should go through the RN & understand the build scope (What are the features are
implemented/developed in the current build is k.a., Build scope).
- Select the test cases as per the current build scope
- Execute/Run all the selected test cases against the build. During execution If QA find any
defects it should be logged against the dev in a defect tracking tool.
- Finally prepare the consolidated Test execution report. (It is a collective or combined report
of all the test cases which are executed in that which are passed, failed and any blockers is k.a
consolidated Test execution report)

The same process will be repeated for the next subsequent days until all the sprint features are
developed and tested. (Usually 3 weeks)

Note: consolidated Test execution report: it is the collective or set of all the test cases which are
executed, in that how many will passed, failed and any blockers etc is k.a consolidated Test execution
report

SCRUM: It is a development activity.


"It is an iterative & incremental way of developing all the selected user stories which are part
of the current sprint is k.a., SCRUM"

7. Sprint Review OR Sprint Retrospect meeting OR Post Marton meeting:

• Once the sprint is completely developed and tested, we will perform deployment process OR
release the s/w to the customer.
• After the release of the software, all the agile team members will perform a Sprint Review OR
Sprint retrospect meeting.

During Sprint review meeting all the individuals should talk about following things:
- what are the best practices we have followed
- Any process which requires improvement.
- Any challenges faced and how did you overcome.
- Any suggestions

The SM will document the retrospect discussions. So that the documentation will act as a base for
the next upcoming sprints.

After completion of Sprint 1 we may perform product backlog review & Sprint kick-off meetings for
Sprint2. So that the moment Sprint1 completes we are ready for the sprint2 activities.
In Sprint2/subsequent sprints we can have new features, defects from previous sprint, backlog from
previous sprint etc.

Recommended Practices:
Development:
- TDD - Test Driven Development
- Weekly Code Reviews for critical fixes with the Agile team (including QA).

QA:
- Review of Risk analysis with the Agile team.
- Review of test coverage/plan with the Agile team.
- Discuss all critical defects found, at the earliest, with the Agile team, and with stake holders

Note:
a) It is highly desirable to have automated test cases both at unit level (Dev) and at system level (QA).
This helps in becoming agile.
Advantages OR Principles of Agile:

- Customer satisfaction by rapid delivery of useful software


- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Self-organizing teams
- Regular adaptation to changing circumstances

Dis-Advantages:
- it is not useful for small development projects.
- There is a lack of intensity on necessary designing and documentation.
- It requires an expert project member to take crucial decisions in the meeting.
- cost of agile development methodology is slightly more as compared to other development
methodology.
- The project can quickly go out off track if the project manager is not clear about requirements
and what outcome he/she wants.

Agile Scrum Methodology:

Q&A

1. What is Daily scrum meeting? What you do in Daily stand-up meeting?

2. How the user stories will be assigned to you?


Ans: The user stories will be assigned to each individual in a JIRA tools. Once done all team
members will get notification.
3. What is Sprint?

4. What is SCRUM?
Ans: Scrum is a development phase. It defines "It is an iterative and incremental approach of
developing a s/w product"

5. How many sprints you have completed in current project?


Ans: around 4-5 in the current project.

6. What is your role in Agile? OR Explain Agile process in your organization?


Ans: As we are practicing agile our day starts with Daily standup meeting (DSM). Here we discuss
following things:
- What we have done yesterday
- What we are going to do today
- Any blocker OR challenges OR impediments

2. After the DSM, QA goes to his desk update/write the test cases. Once done it should under go
review process. In agile review should be done F2F. Hence QA will setup a meeting with Dev & BA.
3. After review, fix all the review comments, baseline the test cases and store them in Test case
repository
4. When build comes select and execute the test cases against the build based on the Build scope.
During execution we perform Manual execution (wherever required) and automation execution as
well.
5. If you find any defects, log the defect against dev in a defect tracking tool
6. Finally prepare a consolidated test execution report.

Similarly multiple builds can happen in every sprint until all the sprint features are implemented.

Q: How do you project the work status?


Ans: Through the daily status report & as well as through "Burndown chart".
Note: Burndown charts are graphs that give an overview of progress over time while completing a
project. As tasks are completed, the graph “burns down” to zero.
A burn down chart is a graphical representation of work left to do versus time. The outstanding work
is often on the vertical axis, with time along the horizontal. Burn down charts are a run chart of
outstanding work. It is useful for predicting when all of the work will be completed

Q: Who will assign the task to you in Agile?


Ans: Scrum Master

Q: Why do you do standup OR Scrum meeting?


Ans:
1. It establishes a proper sync between dev & QA with respect to project requirements OR task.
2. We can understand with move rapidly.
3. Mis-understandings with respect to requirements will be reduced drastically.

You might also like