Software Process

Опубликовано: 24 Июль 2026
на канале: UVA CS 3240
10,161
123

One of the main differences in "writing code" and "engineering software" is following a specified process. By process, we mean a series of steps or phases that a team goes through every time to ensure that they are building the software correctly.

Broadly, we are looking at:

Requirements
Design
Implementation
Testing
Maintenance

Yes... the phases of development again. But the question you have to ask when looking at these phases is "how much time/effort do I put into each phase?" Depending on your answer to that question, it will lead your team to choose potentially substantially different methods for building the software.

Can you constantly communicate with your customer and make changes while building? Or do you have to get all of your requirements exactly right before moving on? One of these would be considered more "agile," while the other is "plan-driven."

It's important to know that "agile" doesn't equate with "good," nor "plan-driven" with "bad." Different types of software projects and teams need to use a variety of methods to work effectively together. So, how do you choose?