iSnare.com - Free Content Articles Directory
Authors Contents [Advanced Search][Add OpenSearch][Job Search]
Distribute your articles to thousands of article sites for only $2 and below! Read more...

Index  Business Management
 

Secrets Of Successful Software Requirements

 
[ Contact the Author] [ Send to a Friend] [ Article Publisher] [Make PDF] [ Print] [ Bookmark & Share]
 
Read our Terms of Service before reprinting this article. The submitter specified above has claimed the rights to this article.
Igor Jese

Although most companies do some form of requirements, there is often a lack of understanding as to exactly why the requirements need to be created and the level of detail that should be included in the requirements.

Software is always created to solve a need for a client. The client may be an internal client, an external client, or even the general public. Detailed requirements are important to ensure that a program correctly and fully addresses client’s needs.

Detailed requirements make initial development easier and faster because the developers know exactly what should be developed and do not need to make their best guess at the functionality to be implemented or delay development by creating requirements during development. Giving the developers accurate requirements will also result in less rework at the end of development because the stakeholder’s requirements will have been implemented correctly initially and will not be arrived at through trial and error.

A project manager can use the detailed requirements to create accurate timelines and give correct estimates to the client. This ensures that stakeholders are completely aware how long development will take so they can adjust the scope of a project or proactively add resources if necessary.

Finally, testers can use the requirements to create test plans while development is ongoing rather than waiting until development is complete. The requirements give them information about what the program will do so there cannot be disputes between developers and testers as to what the program functionality should be. High quality requirements also describe problem paths that may need additional testing.

Even though highly detailed requirements make development easier in future phases, this is not always possible due to time constraints imposed by the client or market conditions. With this in mind, let’s look at some secrets to improve your requirements process even under tight deadlines.

Secret #1 – Include Use Cases

Use cases look at the requirements from the standpoint of an end user working with the program and how the program responds to the user’s inputs. At its simplest level, a use case can be thought of as a play where the end user is one actor and the program is another actor. These two actors then have dialogs which explain the interactions between the actors. More complicated scenarios can have additional actors including other programs, other types of users, and even hardware. Use cases have proven to be very easy to read and understand even for non-technical clients.

Each use case explores what happens when something goes wrong in addition to the “normal” interactions. The exploration of these failure conditions is very important because these cases are the most difficult to code and can cause the most amount of testing. Traditional requirements often ignore these cases. It can be helpful to have developers and testers both think of additional possible failures in a use case so they can be fully documented in the requirements.

Use cases do not provide a complete picture of the system though. A technical specification should also be included in the requirements to detail formulas and routines that take place behind the scenes.

Secret #2 – Prototype Screens with a Design Tool

A user of the program only interacts with a program through the user interface so it makes sense to spend a significant amount of time during requirements to ensure that the user interface makes sense, that all functionality is included, and that the most commonly used functionality is easily accessible. The easiest way of doing this is using a screen prototype.

There are a variety of methods of making screen prototypes which range from simply drawing the interface with a pen and paper to building “working” prototypes in a higher level language like Visual Basic which allows rapid screen design. However, each of these extremes has serious drawbacks. A pen and paper prototype does not allow users to interact with the prototype and it is more difficult to change. A “working” prototype done in a programming language like Visual Basic can lead the client to believe that the program is nearly complete and that development should not take very long or it can lead the client to believe that changes to the prototype will be costly making them reluctant to make necessary suggestions to improve the program.

Between these two extremes lies screen design applications which allow you to draw the screens and model interactions between screens. High quality prototyping tools allow you to enter sample data and allow users to move between screens by pressing buttons so they can easily understand the interface and its functionality. Most prototyping tools produce the final output in an HTML format so they can be easily shared even if a client is not in the same office where requirements are being developed.

When looking for a prototyping tool, make sure to select a tool which is easy enough to use that you can easily prototype screens while your customer is in the room. This will allow you to brainstorm and make changes to the screens without delays. A prototyping tool should already have common controls already defined to maintain design standards and improve the appearance of your screens. Being able to enter sample data in each screen can allow the customer to pinpoint areas that may be incorrect.

Secret #3 – Work Directly with End Users

When designing a new application or making revisions to an existing application, there is no substitute for the direct experience that end users have. An end user can give immediate feedback on your design to point out awkward or incorrect functionality. They also help to ensure that all controls are logically placed for the most efficient use of the system.

Using an interactive prototyping tool allows you to walk a user through the interface or even allow them to work directly with the prototype so they can quickly suggest improvements. As use cases are being developed, it is a good idea to walk users through the use case to ensure that the use case is well thought out and that all functionality is captured both in the use case and the prototype.

Secret #4 – Do Iterative Requirements Development

When you create requirements, it is important to develop the requirements in multiple stages. For example, you may want to do a general layout of the program and create higher level use cases in the first session to get a feel for the overall requirements. In the next session(s), you can focus on each key feature to ensure that the normal paths are all defined in the use cases and further refine the prototypes. In the next session(s), you can attempt to define all of the error conditions which can occur and update the prototypes as necessary. The final sessions should review all work previously done to ensure that all requirements are clear and complete. At each stage, you should not be afraid to revise work done in a previous step because getting the requirements correct will ultimately save time in the more costly development and testing stages.

Secret #5 – Place Requirements Documents under Change Control

With all of the time spent on generating clear requirements, it is very important to make sure that all of the requirements documents are included in your change control system. This includes use cases, screen prototypes, technical specifications, and any other documents used to define the requirements.

Conclusion

In this article, we have explored various secrets to make your requirements process successful and ensure that your clients are satisfied with the resulting program even under tight deadlines. At the start of your next project, make sure you have the proper tools in place for a successful requirements iterations including a prototyping program, a tool to write use cases, and a version control program. These tools do not have to be expensive, and they will help to get your requirements right and schedule under control.

Important NoticeDISCLAIMER: All information, content, and data in this article are sole opinions and/or findings of the individual user or organization that registered and submitted this article at Isnare.com without any fee. The article is strictly for educational or entertainment purposes only and should not be used in any way, implemented or applied without consultation from a professional. We at Isnare.com do not, in anyway, contribute or include our own findings, facts and opinions in any articles presented in this site. Publishing this article does not constitute Isnare.com's support or sponsorship for this article. Isnare.com is an article publishing service. Please read our Terms of Service for more information.

Igor Jese works in software development since early 1990s, with emphasis on software requirements and development process. A certified Software Requirements Expert and Project Management Professional, he is author of Mockup Screens, a popular quick protoyping tool: http://www.MockupScreens.com
Article Tags: cases [See Dictionary], program [See Dictionary], requirements [See Dictionary]
Got a question about this article? Ask the community!
Article published on July 23, 2008 at Isnare.com
 
Rate this article:

Internet Marketing For Online Businesses - Obliterate The Competition
Submitted by: Alex Popoulos

"Internet marketing", even known as 'I-Marketing', 'Web marketing', 'online marketing' or 'e-Marketing', is the marketing of products or services upon the internet...

The Ideal Personal Training Business Program to Make Your Business Grow
Submitted by: Chris McCombs

Despite the massive economic downturn personal training business is still going great guns One of the most important reasons for this is, ironically the recession itself...

Trusting Who You Hire
Submitted by: Brenda Williams

As an employer, it can sometimes be difficult to know who is a good employee and who is not When you go through the screening process to look for noteworthy applicants, sometimes the process can take much longer than you think...

How to Start a Boutique - In the Right Direction
Submitted by: Eveline Wong

Before one can say exactly how to start a boutique, one must know exactly what a boutique is Therefore, a boutique is basically a small shop that sells odd or unique things...

How to Open a Boutique and Be a Boutique Owner
Submitted by: Eveline Wong

How to open a boutique is the same as asking how to start a business Basically they are the same thing with the exception that a business is not necessarily a boutique or a shop...

Background Check Laws - Protecting the Employees
Submitted by: Marcus Kane

Many employees feel anxious when it comes to background checks and it is not even because they have something to hide or they have criminal records up their sleeve...

Online Background Checks - What Employers Should Watch Out For
Submitted by: Marcus Kane

Even though employers and business owners know how crucial it is to include an employee background check on their standardized hiring procedure, some of them still skip this part because they think that it is expensive and time-consuming...

Employee Termination - How to Avoid the Need to Fire Employees
Submitted by: Marcus Kane

Nobody likes to fire an employee but this is a reality of life that every employer would go through at least once in his lifetime...

Small Business Planning Guide - 7 Steps Towards Success
Submitted by: Marcus Kane

Putting up a business is not a joke Even if you only decide to put up a small business, you have to know that it also entails a lot of hard work as well as dedication from your part as the owner...

Expert Business Tips For Success
Submitted by: Marcus Kane

Everyone in the business world always talks about how passion can play a crucial role to the success of one's business...

Hiring Employees For Your Home Based Business
Submitted by: Marcus Kane

Many business owners find a home based type of business highly convenient and easy to manage For one, it is situated right inside the comforts of your own home so there is no more need to travel to the site of your business...

Starting a Business - Tricks of the Trade
Submitted by: Marcus Kane

It can be challenging to run a business but most business owners can say that starting the business can actually be just as difficult or sometimes even more difficult than the actual process of operating it...

Importance of Background Checks For Your Food Business
Submitted by: Marcus Kane

Whether you have a café, a restaurant, a food store, or a bakeshop, when it comes to food, you just can never be too careful...

Background Checks For Retail Store Employees
Submitted by: Marcus Kane

Retail stores never get outdated because there are always new products to sell And because this type of business is relatively easier to put up than other types of businesses like restaurants or computer shops, many young entrepreneurs take this route as they make their way into the business world...

Conducting Background Checks on Supermarket Employees
Submitted by: Marcus Kane

Unless you are omnipotent like God, it would be quite impossible to oversee everything that happens in your grocery store...

Isnare.com Footer Divider

© 2004-2009. Isnare Free Articles - An Isnare Online Technologies Free Articles Project. All Rights Reserved.   Privacy Policy