The 7 Phases of Software Development

Categories: AI and ML Developer Tools
The 7 Phases of Software Development

More than two decades ago, the software development team and the operations team were separated by a wall, where developers “developed” the product from scratch and then tossed it over the wall for the operations team to test and implement. Naturally, this process lasted weeks, if not months, as each team sat with folded arms waiting for the other team to toss the software back to them for rework and fixing. The process was not only costly, but it also risked the company's survival, as competitors raced ahead with their own innovations.

In 2008, a frustrated Belgian consultant, Patrick DeBois, bulldozed that wall with his DevOps concept, where the development team and the operation team sit down at the same tables and collaborate to unroll innovations. Each makes certain accommodations such as splitting work into minute segments, learning the other team’s “language,” and veering towards open information.

The results are faster, more agile, more correct, and cheaper performance—among other benefits.

The DevOps Life Cycle

For DevOps to work, its life cycle is split into seven phases. The development team executes the first four stages:

  1. Planning: The team outlines the process, milestones, and goals.

  2. Coding/Version Control: The team uses tools like Git for coding before storing projects in a repository.

  3. Building: The code is made executable through tools like Maven and Gradle.

  4. Testing: Selenium is one of the most popular options used when testing for bugs or errors. 

Once the code has passed several manual and automated tests, it’s tossed over to the operations team for the subsequent phases:

  1. Deployment: This is where code is placed on the web server. Upgrades or new features could be added.

  2. Operation: Operations automates the code through tools like Docker, Ansible, and Kubernetes.

  3. Monitoring: Nagios is one of the top tools used to assess that the product works.

Feedback is tossed back to the developers—and so the system loops round in one so-called continuous delivery (CD) cycle, until developers and operations are satisfied.

 

DevOps in Practice

Major companies that use DevOps include Amazon, Netflix, Target, NASA, and Hertz. These and other organizations make the system work by extracting a few individuals from both groups and sitting them in adjacent cubicles or around one table.

For Jeff Bezos, groups should be small enough that two pizzas should be enough to feed the entire party. 

 

The DevOps Personnel

For this rather complex structure to work, you need at least four main personnel to run it:

  1. The release manager, who coordinates the product from development through production

  2. The software developer/tester

  3. The security engineer

  4. The automation architect, also called the “integration specialist”

Needless today, the fast-paced DevOps environment requires a special breed of people who can keep up with the sprint and work well together, as they know their technology.

 

Bottom Line

Companies that want to survive in today’s hyper-innovative world need to produce software not every three months, as in the past—but every hour. To do this, they have to be nimble, accurate, and frictionless. 

And that’s where the revolutionary concept of DevOps comes in, where the development and operations team look over each other's shoulders as each performs its own task. The results? A 45% increase in workplace productivity, according to a CA Technologies study.

 

Let’s Connect!

Leah Zitter, Ph.D., has a masters in philosophy, epistemology, and logic and a Ph.D. in research psychology.

There is so much more to discuss, so connect with us and share your Google Cloud story. You might get featured in the next installment! Get in touch with Content Manager Sabina Bhasin at sabina.bhasin@c2cgobal.com if you’re interested.

Be the first to reply!