0% found this document useful (0 votes)
18 views5 pages

DevOps Unit 1

Devops

Uploaded by

laboco1270
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)
18 views5 pages

DevOps Unit 1

Devops

Uploaded by

laboco1270
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/ 5

1. What Is the Software Development Life Cycle?

SDLC, or Software Development Life Cycle, is a framework of defining tasks performed at


each step in the software development process. These steps divide the development process
into tasks that can then be assigned, completed, and measured.
SDLC has defined its phases as, Requirement gathering, Designing, Coding, Testing, and
Maintenance. It is important to adhere to the phases to provide the Product in a systematic
manner. The life cycle defines a methodology for improving the quality of the software and
the overall development process.

2. Explain the phases of SDLC?

Given below are the various phases:


• Requirement gathering and analysis
• Design
• Implementation or coding
• Testing
• Deployment
• Maintenance

DevOps Dr.Ch.Meher Babu,Ph.D 1|Page


a. Requirement Gathering and Analysis

During this phase, all the relevant information is collected from the customer to develop a
product as per their expectation. Any ambiguities must be resolved in this phase only.

Business analyst and Project Manager set up a meeting with the customer to gather all the
information like what the customer wants to build, who will be the end-user, what is the
purpose of the product. Before building a product a core understanding or knowledge of
the product is very important.

Once the requirement gathering is done, an analysis is done to check the feasibility of the
devlopment of a product. In case of any ambiguity, a call is set up for further discussion.

Once the requirement is clearly understood, the SRS (Software Requirement


Specification) document is created. This document should be thoroughly understood by
the developers and also should be reviewed by the customer for future reference.

b. Design

In this phase, the requirement gathered in the SRS document is used as an input and
software architecture that is used for implementing system development is derived.

c. Implementation or Coding

Implementation/Coding starts once the developer gets the Design document. The
Software design is translated into source code. All the components of the software are
implemented in this phase.

d. Testing

Testing starts once the coding is complete and the modules are released for testing. In this
phase, the developed software is tested thoroughly and any defects found are assigned to
developers to get them fixed.

e. Deployment

Once the product is tested, it is deployed in the production environment or first UAT
(User Acceptance testing) is done depending on the customer expectation.

DevOps Dr.Ch.Meher Babu,Ph.D 2|Page


In the case of UAT, a replica of the production environment is created and the customer
along with the developers does the testing. If the customer finds the application as
expected, then sign off is provided by the customer to go live.

f. Maintenance

After the deployment of a product on the production environment, maintenance of the


product i.e. if any issue comes up and needs to be fixed or any enhancement is to be done
is taken care by the developers.

3. What is Agile?
Agile is the ability to create and respond to change. It is a way of dealing with, and
ultimately succeeding inan uncertain environment.

4. What is Agile Software Development?


Agile software development is an umbrella term for a set of frameworks such
as Scrum, Extreme Programming, or Feature-Driven Development (FDD)and practices
based on the values and principles expressed in the Manifesto for Agile Software
Development and the 12 Principles behind it.
One thing that separates Agile from other approaches to software development is the
focus on the people doing the work and how they work together. Solutions evolve
through collaboration between self-organizing cross-functional teams utilizing the
appropriate practices for their context.

5. Explain about Agile values and principles.

The Four Values of The Agile Manifesto

The Agile Manifesto is comprised of four foundational values and 12 supporting


principles which lead the Agile approach to software development. Each Agile
methodology applies the four values in different ways, but all of them rely on them to
guide the development and delivery of high-quality, working software.

1. Individuals and Interactions Over Processes and Tools

The first value in the Agile Manifesto is “Individuals and interactions over processes and
tools.” Valuing people more highly than processes or tools is easy to understand because
it is the people who respond to business needs and drive the development process.

2. Working Software Over Comprehensive Documentation

Historically, enormous amounts of time were spent on documenting the product for

DevOps Dr.Ch.Meher Babu,Ph.D 3|Page


development and ultimate delivery. Technical specifications, technical requirements,
technical prospectus, interface design documents, test plans, documentation plans, and
approvals required for each. The list was extensive and was a cause for the long delays in
development. Agile does not eliminate documentation, but it streamlines it in a form that
gives the developer what is needed to do the work. The Agile Manifesto values
documentation, but it values working software more.

3. Customer Collaboration Over Contract Negotiation

Negotiation is the period when the customer and the product manager work out the details
of a delivery, with points along the way where the details may be renegotiated.
Collaboration is a different creature entirely. With development models such as Waterfall,
customers negotiate the requirements for the productand the customer was involved in
the process of development before development began and after it was completed, but not
during the process. The Agile Manifesto describes a customer who is engaged and
collaborates throughout the development process. This makes it far easier for
development to meet their needs of the customer. Agile methods may include the
customer at intervals for periodic demos, but a project could just as easily have an end-
user as a daily part of the team and attending all meetings, ensuring the product meets the
business needs of the customer.

4. Responding to Change Over Following a Plan

Traditional software development regarded change as an expense and the intention was to
develop detailed, elaborate plans, with a defined set of features or functionalities.

With Agile, the shortness of an iteration means priorities can be shifted from iteration to
iteration and new features can be added into the next iteration. Agile’s view is that
changes always improve a project; changes provide additional value.

The twelve principles of agile development include:

1. Customer satisfaction through early and continuous software delivery –


Customers are happier when they receive working software at regular intervals,
rather than waiting extended periods of time between releases.
2. Accommodate changing requirements throughout the development process –
The ability to avoid delays when a requirement or feature request changes.
3. Frequent delivery of working software – Scrum accommodates this principle
since the team operates in software sprints or iterations that ensure regular
delivery of working software.
4. Collaboration between the business stakeholders and developers throughout
the project – Better decisions are made when the business and technical team are
aligned.
5. Support, trust, and motivate the people involved – Motivated teams are more
likely to deliver their best work than unhappy teams.
6. Enable face-to-face interactions – Communication is more successful when
development teams are co-located.

DevOps Dr.Ch.Meher Babu,Ph.D 4|Page


7. Working software is the primary measure of progress – Delivering functional
software to the customer is the ultimate factor that measures progress.
8. Agile processes to support a consistent development pace – Teams establish a
repeatable and maintainable speed at which they can deliver working software,
and they repeat it with each release.
9. Attention to technical detail and design enhances agility – The right skills and
good design ensures the team can maintain the pace, constantly improve the
product, and sustain change.
10. Simplicity – Develop just enough to get the job done for right now.
11. Self-organizing teams encourage great architectures, requirements, and
designs – Skilled and motivated team members who have decision-making
power, take ownership, communicate regularly with other team members, and
share ideas that deliver quality products.
12. Regular reflections on how to become more effective – Self-improvement,
process improvement, advancing skills, and techniques help team members work
more efficiently.

The intention of Agile is to align development with business needs, and the success of
Agile is apparent. Agile projects are customer focused and encourage customer guidance
and participation. As a result, Agile has grown to be an overarching view of software
development throughout the software industry and an industry all by itself.

DevOps Dr.Ch.Meher Babu,Ph.D 5|Page

You might also like