DevOps Unit - 1 Nagababu
DevOps Unit - 1 Nagababu
UNIT – I
In this phase, work is divided into small units, and coding starts by the team
of developers according to the design discussed in the previous phase and
according to the requirements of the client discussed in requirement phase
to produce the desired result.
Front-end developers develop easy and attractive GUI and necessary
interfaces to interact with back-end operations.
Back-end developers do back-end coding according to the required
operations.
Phase 4: Testing
In this phase, after getting the developed GUI and back-end combination, it
is tested against the requirements stated in the requirement phase.
Testing determines whether the software is giving the result as per the
requirements addressed in the requirement phase or not.
The Development team makes a test plan to start the test.
This test plan includes all types of essential testing such as integration
testing, unit testing, acceptance testing, and system testing.
Non-functional testing is also done in this phase.
If there are any defects in the s/w or not working as per expectations, then
the testing team gives information to the development team about the issue.
Phase 5: Deployment
When software testing is completed with a satisfying result, and there are no
remaining issues in the working of the software, it is delivered to the
customer for their use.
As soon as customers receive the product, they are recommended first to do
the beta testing.
If any type of defect is encountered while a customer using the software; it
will be informed to the development team of that software to sort out the
problem.
If it is a severe issue, then the development team solves it in a short time;
otherwise, if it is less severe, then it will wait for the next version.
Phase 6: Maintenance
Once the system is deployed, and customers start using the developed
system, following 3 activities occur
Bug fixing – bugs are reported because of some scenarios which are
not tested at all.
Upgrade – Upgrading the application to the newer versions of the
Software.
Enhancement – Adding some new features into the existing software.
SDLC: Advantages
Ample documentation
Comprehensive steps
Easy maintenance
Effective development and design standards
Sets reliable evaluation costs and completion targets.
Can monitor full-scale projects.
Strong control
Precise user input
SDLC: Disadvantages
1. Waterfall Model
2. Iterative/Incremental Model
3. Spiral Model
4. V Model
5. Prototype Model
6. Lean Model
7. Agile Model
SDLC Models: Waterfall Model
SDLC Models: Advantages of Waterfall Model
• An iterative life cycle model does not attempt to start with a full
specification of requirements.
• Instead, development begins by specifying and implementing just part of
the software, which is then reviewed to identify further requirements.
• This process is then repeated, producing a new version of the software at
the end of each iteration of the model.
• At each iteration, design modifications are made, and new functional
capabilities are added.
• The basic idea behind this method is to develop a system through
repeated cycles (iterative) and in smaller portions at a time (incremental).
SDLC Models: Iterative Model
SDLC Models: Advantages of Iterative Model
• Risk Handling
• Good for large projects
• Flexibility in Requirements
• Customer Satisfaction
• Iterative and Incremental Approach
• Emphasis on Risk Management
• Improved Communication
• Improved Quality
SDLC Models: Disadvantages of Spiral Model
• This Spiral Model is much more complex than other SDLC models.
• Expensive
• Difficulty in time management
• The Spiral Model can be complex, as it involves multiple iterations of
the software development process.
• The Spiral Model can be time-consuming, as it requires multiple
evaluations and reviews.
• The Spiral Model can be resource-intensive, as it requires a significant
investment in planning, risk analysis, and evaluations.
SDLC Models: V Model
• Easy to Understand.
• Testing Methods like planning, test designing happens well before coding.
• This saves a lot of time. Hence a higher chance of success over the
waterfall model.
• Avoids the downward flow of the defects.
• Works well for small plans where requirements are easily understood.
V-model: Disadvantages
Requirements gathering
Design the requirements
Construction/ iteration
Testing
Deployment
Feedback
SDLC Models: Advantages of Agile Model
Frequent Delivery
Face-to-Face Communication with clients.
Efficient design and fulfils the business requirement.
Anytime changes are acceptable.
It reduces total development time.
Easy to manage.
SDLC Models: Disadvantages of Agile Model
The Agile Manifesto, created in 2001, sets out the key values and principles.
The Agile Manifesto is a guide that consists of four foundational values
along with twelve supporting principles that establish the groundwork for
the Agile approach for software or any product development.
The following are list of four values of Agile Manifesto:
o Individuals and Interactions Over Processes and Tools
o Working Software Over Comprehensive Documentation
o Customer Collaboration Over Contract Negotiation
o Responding to Change Over Following a Plan
Agile Manifesto: 4 Values
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.
• If the process or the tools drive development, the team is less responsive to
change and less likely to meet customer needs.
• In the case of individuals, communication is fluid and happens when a need
arises.
• In the case of process, communication is scheduled and requires specific
content.
Agile Manifesto: 4 Values
Working Software Over Comprehensive Documentation
• In traditional methodologies, priority was always given to documentation of
the product that was about to be developed and delivered.
• Agile does not eliminate documentation, but it streamlines it in a form that
gives the developer what is needed to do the work.
• The requirements in Agile are documented in the form of user stories and
epics.
• The Agile Manifesto values documentation, but it values working software
more.
Agile Manifesto: 4 Values
Customer Collaboration Over Contract Negotiation
• In the waterfall methodology, the customer negotiates the requirements of
the product with the Project Manager before starting the product.
• The Agile Manifesto explains that the customer is engaged throughout the
process of the development and can easily track the progress of the project.
• Agile Methodology uses an iterative and incremental approach that helps the
customers to give feedback to Product Increments and satisfy their needs
from the products.
• Flexibility in Agile is also a benefit for the customers as changes can be
easily accommodated in the product and the customer need not wait till the
whole product is completed.
Agile Manifesto: 4 Values
Responding to Change Over Following a Plan
• Traditional software development regarded change as an expense, so it was
to be avoided.
• 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.
Agile Manifesto: 12 Principles
Phase 2: Design
The team discusses the product functionality, programming language,
essential tools, etc.
In the design stage, the team remains engaged in things like:
o The layout of the mobile, desktop, and various devices for the website
o Color schemes fix according to the project.
o What programming languages should use?
o Backend frameworks designs
o System server designs
The Phases of Agile SDLC:
Phase 3: Development
In this phase,
o The development team initiates the building code.
o Sets up the hardware.
o Configures the servers.
o The designers are working on improving the user interface & user
experience.
o The testers analyze the requirements.
o Start designing test plans.
The Phases of Agile SDLC:
From start to the final completion of software development, the Agile iteration
workflow consists of five steps
Agile SDLC workflow:
Planning: In the planning stage, the developer team imagined the whole
project & made the sprint backlog, calculated the average time of release
product, & determined about the required agile technologies.
Testing: In this step, the whole system is tested before the final production
approach. The quality assurance team works to find bugs and analyze the
user flow diagram to fix and enhance the user acceptance of the application.
Agile SDLC workflow:
Feedback: Client & user feedback is taken in this step to see the outcomes
& whether the software works and is functional or not.
All in all, this is the step of application retirement, a continuous flow of
review & up-gradation of the software.
Benefits of Agile Methodology in S/W Dev’t:
Benefits of Agile Methodology in S/W Dev’t:
Increase the Software Quality: In the Agile method, every project can break
down into multiple units that serve an easily manageable process. Enables
the team on proper development and testing that reaches a high-quality
assurance level.
Opportunity for Changes: Agile method gives teams a chance to time-to-
time flexible change process and refines the complete product life cycle.
Progress Transparency: Clients or product owners can have enough
involvement with their project by going an agile approach. They participate
in the process, from planning software iterations, prioritizing functionalities,
and reviewing sessions to regular software releases.
Benefits of Agile Methodology in S/W Dev’t:
Predictable Schedule and Costs: Cost and schedule are fixed on the agile
software development methodologies. This means every cost is predictable
that can be executed within a specified time frame by the team. In this way,
the client gets the cost of each feature and sprint plan.
Early Delivery Through Sprints: An Agile sprint cycle lasts about 1 to 4
weeks, using schedule permits teams to serve additional features rapidly
with a high level of unity. In addition, it gives them a chance to execute a
software release or testing on the required software earlier than planned as
there's sufficient business value.
Benefits of Agile Methodology in S/W Dev’t:
Priority on Business Value: The client is free to figure out the priority of
features. Then the project manager & the team determines the most
important thing, such as prioritizing the client's business goals. Therefore,
they can provide features that create the most business value in clients'
minds.