Agile Software Development: Process & Life Cycle

Instructor: Lucinda Stanley

Lucinda has taught business and information technology and has a PhD in Education.

This lesson discusses the Agile framework for software development, shares a few of the most common methodologies, then looks at the life cycle of a typical Agile process.

Agile Software Development

Charlie just started working for AMD Software Company and realized that the company has been developing products for its clients using the waterfall method. This is a linear process, meaning the developers start with the beginning of the project and work straight through to the end. Charlie wants them to try a more cyclical method that saves time and allows for flexibility during the development process. Let's listen in as he explains it to his boss:

Well, George, Agile Software Development (ASD) is a framework for software development that is also used in project management. It differs from the waterfall method you are using because it's cyclical rather than linear. Basically that means that project completion is iterative: multiple parts of the project can be worked on at the same time. The Agile framework is all about collaboration with the owner and the teams who work on the segments. In terms of software development, the goal is to keep the coding simple, test the code often, fix any bugs, and deliver small pieces often to make sure the product is doing what is needed. This iterative process means we can change the project requirements quickly, making this a very flexible process.

George is interested and wants to know more about how Agile works and how it can be used on AMD Software's various projects. So Charlie goes on to explain the various types of methodologies that are used in Agile.

Methodologies

Charlie explains that the Agile framework includes methodologies that are all predicated on teamwork, flexibility, and frequent deliverables, but some of them have a particular focus in software development. He provides George with a short list of the most common methodologies:

  • Scrum: This is the one that is most often associated with Agile and is generally used for complex projects.
  • Lean: The Lean methodology streamlines the Agile process by going straight to the development. Analysis is very brief.
  • Dynamic Systems Development Method (DSDM): This method is used in time-crunch situations. Cost, quality, and time limits are set at the beginning of the process.

Life Cycle

Now George is really interested and wants to know what exactly the Agile process looks like in real terms, namely the life cycle for software development. Charlie explains the life cycle by using a simple example.

Life Cycle

Analysis and Design

Let's say AMD Software Company is going to develop a video game. First they're going to analyze what they want it to do and come up with a budget and a basic design. Then they'll decide on the specific requirements for the game. They'll flesh out these requirements into a list of features which are then broken into tasks. There may be tasks for many different departments at AMD, from art, to animation, and from programming to sound. The tasks are assigned to each team or department.

Now they are ready to get the show on the road, so to speak.

Development

In the development phase, the tasks associated with the features that will take the longest to complete, sometimes referred to as the critical path, are put on a high priority work team so they will get started first. Scheduling is extremely important here as it will be necessary to plan some tasks so that once they are completed, they can be fed to the next team. For example, if the company is developing a racing game the coding for the car features would have to be written before the code for tire specifications.

The ability of the teams to work independently on separate features or tasks makes the overall completion time generally shorter, and allows for more flexibility as the game is developed. While task teams work independently to complete their assigned tasks, they are not operating in a vacuum. Daily meetings are held to share the status of each task and to identify issues that come up. During all of this, as tasks are completed, the game is demonstrated to the originators of the game idea to make sure it is meeting their needs. If not, changes to the original specifications are made and the teams go through the development phase as often as necessary until the full product is ready to hit the ground.

To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support