Brett Miller is the president of Custom Software by Preston (CSP). For more than 10 years, CSP has impressed clients with highly effective software solutions and teams of multi-talented software engineers.
It might seem obvious, but effectively communicating your project needs to software developers is more than just important. It could actually mean the difference between a project that achieves its objectives and one that does not.
Having an idea in mind and being able to discuss it intelligently isn’t always enough to efficiently communicate all the critical nuances and required details. I strongly recommend that clients produce a requirements document to facilitate agreement among stakeholders, and in turn, to communicate that information to members of the development team.
Below are some techniques and exercises that can be used to help you document the vision for your software project. Chances are you’ll discover new details and potentials that you hadn’t even considered before.
The good news is that you can’t do this wrong. The key to success is to take the time to thoroughly dig into your thoughts, identify vital details and pinpoint the scenarios you need to account for. Spending the time to be thorough at this juncture could end up saving many hours of development, which translates into fewer headaches and lower costs.
Let’s Get Started
- List a few websites you like. Is it the aesthetics or the functionality? Is there something you do not like about any of the websites?
- List a few competitors. What do you like and not like about their websites?
- List three adjectives. Give the developer three adjectives to describe the look and feel of the user interface that you would like built — for example, sophisticated, modern and edgy.
- Input and Output of the application: Identify the information that’s entered into the application, manually or automatically. Also identify the information that the application produces.
- Documentation: Wherever possible, gather all the documentation (development codes, executable app, notes, documentation, etc.) and have it available for the developer.
- Process Detailing: Your developer will need access to a live account to better understanding existing software. Even if the process is currently handled manually, providing details (and examples) on the specifics will give your development team a solid point of reference.
- Planned System Users: Categorize them into types when needing certain application capabilities wherever possible.
- Features Needed: Describe the major features you want.
Add details to the major features categories identified above:
What additional details can you add to the feature list?
- Internal vs. External: Which project responsibilities will be handled internally instead of having a development team work on it? (examples: drafting requirements, writing verbiage, testing, hosting, marketing, graphic design, etc.)
- Internal Staff Capabilities: How technical is your staff to use the advanced features of the application?
- Defining Success: What defines success on this project — affordability, user friendliness, aesthetics, simplicity, information organization or some measured combination of those factors?
Has everything of importance been identified, categorized and explored in your documentation?
Seasoned software developers have been through this analysis process many times. Your efforts to produce as much of this information as possible in advance will aid their efforts to reach your project’s goals. Complete this documentation as thoroughly as possible and you will find yourself well on the road to project success.
For more Dev & Design coverage:
- Follow Mashable Dev & Design on Twitter
- Become a Fan on Facebook
- Subscribe to the Dev & Design channel
- Download our free apps for Android, Mac, iPhone and iPad