From the course: Software Project Management Foundations

Software development life cycle

From the course: Software Project Management Foundations

Start my 1-month free trial

Software development life cycle

- When I first started in project management, I worked in infrastructure and operations. I had no exposure to software development at the time. So when I shifted into software project management, my learning curve was huge. The first thing I learned is that beyond the project life cycle, software development projects have their own set of process steps. These need to be followed along with your established project processes. The software processes are known as the software development life cycle, or SDLC for short. Many organizations define their own SDLC, so find out what the best practices are in your business. While companies require steps specific to their organization, in most cases, the essentials are the same across industries and companies. Let's take a look at each step in a typical SDLC. First, there's the initial step: plan or requirements. In this step, users are solicited for input on what they want. Equally important is what they don't want. The goal is not to define how the software team will deliver, it's really to know what it is that we must deliver. Second, the software team tackles analysis and design. The design step is where the team translates the what into details of how the objectives will be reached. The team defines the way they'll deliver what's been requested. Third is the build or development step. This phase of the SDLC does exactly what you'd think. The team takes their designs and begins generating code. The fourth step is test. The tests executed against the code validate the build is stable, performed to requirements, and meet the functional needs of the users. In this phase, when defects are found, they're usually categorized by severity and sent back to the development team to be fixed, and then of course, retested. Next is the deploy step. This can be a process in itself depending on feedback from users. In many cases there's a limited release, so users experience the new software in a limited environment before a broader release. Finally, the last step is to maintain the software. Usually this includes transitioning the support for software to a maintenance team. In this case, the defects found after deployment are handled not by original development teams, but by the team that specializes in maintenance. As you can see, understanding the project life cycle isn't enough by itself to support a software development project. You'll need knowledge of both life cycles to bring your software projects to successful conclusion. As you learn, you'll help your teams succeed with their software development.

Contents