Skip navigation

DevOps: Completing the Development Cycle

Get everyone involved in the process of developing an application

There was a time when software developers built an application and threw it over the wall to the quality assurance (QA) folks. However, developers have discovered that keeping QA distant from development hinders developers from building a high-quality application. Now, most organizations have developers and QA personnel working closely together so that problems are detected early and fed back into development while the code is still fresh in the developer's mind.

However, building great software involves more roles than just development and QA. Other roles include systems administrators, database administrators, network personnel, business analysts, release managers, and more. Sometimes these roles are represented by separate people and sometimes the roles are combined into one job description, but either way every role affects the success of your application. You're not actually managing your application lifecycle effectively if all the stakeholders aren't part of the lifecycle.

The DevOps movement focuses on getting everyone involved in the process of developing an application. No more walls. No more neglect. Everyone is involved, and the cycle of an application goes end-to-end, from analysis to development to QA to release management to operations and back again.

It's easy for developers to perceive that the systems administrators involved in operations are the enemy. After all, they're loath to ship a new version of an application. Why is that? This is because systems administrators measure the success of an application based on stability and reliability, not new features. As a developer, you're all about new features. See the conflict? Developers and systems administrators are on opposite ends of the spectrum.

You can play the finger-pointing game, or you can get on the DevOps bandwagon and work together. There's a solution, and you do have common goals. After all, nobody cares about operational stability if no one is using the application. And nobody is going to use the application if it doesn't have new features to help improve the user's productivity.

The challenge is to address stability and reliability concerns. The conversation focuses on questions such as "How do we provide evidence of stability and reliability before we deploy the new version?" This is another level of testing that becomes more and more important as your application matures and becomes more popular.

Beyond releasing a new version, systems administrators often have insight into how the application is being used that might not be visible in traditional evaluation models. There are great features waiting to be built if you know to ask the people who watch an app being used every day—the systems administrators.

DevOps is nothing more magical than simply talking to one another. Everyone who is involved in making an application a success needs to be included in the development process. If you're having a tough time talking to everyone, grab some pizza; it's a great conversational lubricant. Yes it's true, even systems administrators like pizza.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish