Login

Agile Functional Specifications

Instructor: Lyna Griffin

Lyna has tutored undergraduate Information Management Systems and Database Development. She has a Bachelor's degree in Electrical Engineering and a Masters degree in Information Technology.

In this lesson, we will define functional specifications. We will compare different functional specifications while focusing on the characteristics of the Agile functional specification model.

What Are Functional Specifications?

A functional specification is basically a formal document stipulating the steps and procedures software developers must adhere to, from idea inception to product delivery. It can be compared to an instruction manual or reference point in which certain steps have to be followed, depending on which methodology is at play. There are a few models of functional specifications. The well-known, traditional model is called the Waterfall model. It has been around for many years and is still in use today. There is also the more modern Agile functional model, which is our topic of discussion.

In order to fully understand the Agile model, let's first discuss the traditional Waterfall model, so we compare the two.

The Waterfall Model

In this model, the design processes have been mapped out in a series of rigid, logical steps. Each step has to be addressed, completed, and documented within the stipulated period before the next step commences. This trail continues right through to product delivery.

Logical Steps of the Waterfall Model:

trad

Have you ever bought a flat packed storage unit? If you have, you know that it comes with an instruction booklet. This guides you through each stage of the assembly process (functional specification) in putting the unit together.

So, imagine we have a storage unit to assemble. The wonderful thing about our storage unit project is that because we (the client) know and have decided that we want a white six-cubed storage unit, all the necessary panels, screws, brackets and tools for it (complete system requirements) are provided in the packaging. It's just a matter of following the sequential, logical steps of assembly stipulated in the instructions (Waterfall model), and we have our completely assembled storage unit.

With functional specifications, however, we are dealing with clients to develop some sort of software solution. Unlike our storage unit project, clients rarely know at the commencement of the project the complete system requirements they need. System requirements are often ambiguous or incomplete.

Using the Waterfall model can pose a number of problems. With this model, once the system requirements have been agreed upon and finalized (white six-cubed storage unit), that stage of the functional specification is deemed complete and the next stage of the process, design, commences. This cycle of stage completion - next stage commencement, continues until the project is completed and delivered to the client. Because of the rigidity of the Waterfall model, if the client requests additional system requirements be incorporated (an eight-cubed unit with an additional two-door enclosed shelving unit and an oak wood finish), it is extremely difficult to go back and adjust the system requirements. This rigidity is translated throughout all the subsequent stages of the process.

Issues with late delivery, less customer involvement, and general system rigidity make the Waterfall model less favorable to the client, the most important stakeholder.

Agile Functional Specification

Agile functional specification is a methodology of software development in which the product is delivered through a logical and iterative series of steps and not a one-time delivery. No one step is complete in itself before the next step commences, or before the project is completed and delivered. This iterative process involves the breaking down of the functionalities into smaller workable bits called user stories and re-prioritizing them continually within short two week cycles. All stakeholders at each process level collaborate with each other during each iterative cycle.

Agile Processes:

agile

Characteristics

The continuous iteration and short delivery cycle features give the Agile functional specification its characteristics, which are quite different from the traditional Waterfall model.

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

Register for a free trial

Are you a student or a teacher?
I am a teacher
What is your educational goal?
 Back

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

Earning College Credit

Did you know… We have over 95 college courses that prepare you to earn credit by exam that is accepted by over 2,000 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

Create an account to start this course today
Try it free for 5 days!
Create An Account
Support