This content originally appeared on DEV Community and was authored by DEV Community
Let's first understand SDLC (software development life cycle):-
Traditionally, the WATERFALL method was used:-
Understand it with an example Let's say a team has to develop Facebook from scratch:-
- They would first plan everything beforehand about how the app should work, features it should have, and make a list of features, pages, events, etc.
- Then Development Team would take the list of features, events, etc., and documentation of how the business team envisioned the app. this development team will develop one feature per time, & this will take some months as a team will code features, page, etc., and code complete app.
- It is then hand-over to Testing Department which would test every feature, app performance, load testing, etc. Testing will be done after everything has developed. They might find some bugs or compatibility issues and it will send it back to the developer team to fix it, then it will get tested again & this cycle would be done back & forth until everything is ready with no issues. This would take some months.
- After developing & testing, it would be passed on to the Operations Team. They will require some preparations to set the app on the server. Then they will resolve dependencies, or some things wouldn't run or breaks, they will again send it to the developer's team to fix it, then to the testing team to test again & this cycle again would take a couple of months.
- Maybe after a couple of years, the app is ready, deployed, and running.
This method sounds like TDS long ineffective process. Over time new requirements may arise, then they need to be resolved. There would be many places of failure & miscommunication. There is no fast feedback.
A very effective method alternative to the WATERFALL method was developed called Agile.
Agile is very popular among organizations & companies. Benefits of Agile:-
- It increases the speed of development, testing, and deployment cycles. Instead of waiting for the whole application to get developed.
- Here each feature gets tested, deployed.
- There is immediate feedback if there are bugs or deployment doesn't work & so on.
An Agile Methodology allows for a more dynamic, fast, & easily changeable development and deployment process. And Agile is just a methodology or framework that says what are the good practices and efficient ways to do things. It has specific implementations like Scrum & another one Kanban. Depending on company requirements it would use one of them.
The main takeaway is Agile at the core is the heart of the Continuous Integration & Continuous Delivery process which has become so popular that the company strives towards in order to make its software development & delivery processes much more efficient.
And the Agile methodology introduction or adoption by companies has supported the need for DevOps tasks. Because DevOps is actually implementing the best practices or most of the practices that the Agile framework introduces.
DevOps is an approach or practice that combines the development team and the IT team to collaborate throughout the entire software development cycle so that all the team will be on the same page. It helps in shortening the SDLC (software development Life cycle) and ensures the delivery of high-quality software.
In simple words, DevOps is just a way of working between Developers & Operations.
The main aim of DevOps is CI/CD(Continuous Integration & Continuous Delivery) to develop and deploy applications/features as fast as possible and automate tasks.🎉
Connect with me:- https://bio.link/dipanshutorawane
This content originally appeared on DEV Community and was authored by DEV Community
DEV Community | Sciencx (2022-03-09T16:45:26+00:00) What is DevOps?🤔. Retrieved from https://www.scien.cx/2022/03/09/what-is-devops%f0%9f%a4%94/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.