mytechyogi.com DevOps What is DevOps?

What is DevOps?

What is Software Development?

Software Development is a process in which we get our requirements, we collect those requirements and create a software product that cater to the requirements.

In broader terms Software development involves the following stages:

  1. – Requirements
  2. Design
  3. Implementation
  4. Verification
  5. Maintenance

 

SDLC Model

Since the time software development started, various software development models have been curated which implement SDLC. Each of these models solve problems that existed before these models were invented.

Traditionally, there have been 3 major software development models that most companies follow:

Waterfall model

Agile Model

Lean Model

Waterfall Model

Waterfall Model was among the first development models which followed SDLC.

The waterfall follows a linear sequential model of development i.e until the first stage is not finished, the next stage will not start.

 

Feasibility Check –>

Analysis–>

Design –>

Coding & Unit Testing –>

Integration & System Testing –>

Maintenance of Software –>

 

Advantage of waterfall model

  • Clear Objectives
  • Specific Deadlines
  • No ambiguous requirements
  • Well understood milestones
  • Process and results are well documented

Disadvantage of waterfall model

  • working Product is not available until the later stage in lifecycle
  • Poor model for large and complex projects
  • Cannot accommodate changing requirements
  • High risk and uncertainty

 Agile Model

Priority request –>Design—>Coding–>Test&Debugging–>Release&Deployment

 

To overcome the challenges faced in the waterfall Model, we came up with the agile Methodology

Agile method-believes in creating shorter development lifecycles

Shorter Development Lifecycle are achieved by not releasing all the features at once by following an incremental model of development

Advantage of Agile model

  • Customer satisfaction is high
  • Less planning required
  • Requirements can be dynamic in nature
  • Functionality can be created and tested quickly

Disadvantage of agile model

  • Not suitable for handling complex dependencies in projects
  • Knowledge transfer to colleagues can be difficult since there is little documentation
  • Success of project depends heavily on customer interaction

Lean Model

7 Principles of Lean Methodology

  • Eliminate waste
  • Amplify Learning
  • Decide as late as possible
  • Deliver as fast as possible
  • Empower the team
  • Build Integrity
  • See the whole

Lean development is a philosophy of increasing quality in software delivery by making use of agile methods

Ignore the clutter for later and focus on what is required now

Lean Methodology has it’s primary focus on two things – Respect for frontline workers and continuous Improvement

Summary

Problem with waterfall model was, the development lifecycle took a lot of time to complete. therefore, by the time finished product was delivered, the customer requirements were no longer the same.

Customers —-> Software Company

This problem was fixed by Lean and Agile methodologies. These methodologies strictly focussed on customer feedback and improving the software quality that too in a shorter development lifecycle

Customer —> software company

Why do we need DevOps?

Although, the software quality was improved. We still had a lack of efficiency among the development team. A typical software development team consists of Developers and Operations employees. Let us understand their job roles.

 

Developers—————->

Operations—————–>

Why DevOps?

A developer’s job is to develop applications and pass his code to the operations team

The Operation team job is to test the code, and provide feedback to developers in case of bugs. If all goes well, the operations team uploads the code to the build servers.

This led to a lot of back and forth between the developer and the operations team, hence impacted efficiency.

This was solved using DevOps!

Traditional IT                                                                                        DevOps

Less Productive                                                                                   More Productive

Skill centric Team                                                                              Team is divided into specialized silos

More time invested in planning                                                      Smaller and Frequent releases lead to easy

scheduling and less time in planning

Difficult to achieve target or goal                                                  Frequent releases, with continuous feedback

makes achieving target easy

What is DevOps?

DevOps is a software development methodology which improves collaboration between developers and operations team using various automation tools. These automation tools are implemented using various stages which are a part of the devops lifecycle.

How DevOps works?

The DevOps LifeCycle divides the SDLC Lifecycle into the following stages

continuous integration

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *