When you decide to get your software or website done, you go outsourcing and hire professionals. What should an outsourcing company do to successfully complete a project? Well, the scheme of the process is pretty simple. Its realization is not too obvious in many cases but let’s dig a bit deeper into four components of it.
1. The core of development process
a. Business Vision Document
Every project must have its goals defined and you should be able to answer the following questions:
- What is the business goal for you as the business owner?
- What benefit will you get after launching your project?
- What benefits will the project’s users get?
- And the last but not the least, what users’ needs does it cover?
If you are satisfied with the answers, if you and the end users are happy, the project lives long. This is what the Business Vision Document describes: the business idea and the goals that the product is to reach.
It’s a very important document as it inspires the whole team: developers and designers get clear understanding of the project goals and work becomes more efficient.
So, you should start any programming or any new business with working out:
- Business goals
- Users’ benefits
- Clear description of the product idea for team and customer
b. Functional Requirements Specification
Ok, general words about the product have been said, the idea is clear and it’s high time to step to the specification with detailed requirements, so that the development team and you have the same understanding of what they are going to create. A perfect variant is when you know what you want in every little detail and have documented it in the appropriate format that we understand. But it’s also ok if you have got only an idea. Our specialist will specify functional requirements in the process of communication with you asking certain questions that help to understand the details.
Functional Requirement Specification is the key document in understanding what the product is to do and what it is NOT to. If you don’t limit requirements, then development will last forever. But if they are specified, development process becomes clear and predictable.
c. UI design/Wireframes
We have described the functionality of how the product is going to work. But what should it look like? How to understand what the user experience will be like? What is the most efficient way to design the interface, so that users would be happy and enjoy their experience? All of it is under responsibility of the UI designer professional. On the base of the above documents – Business Vision and Functional Requirements Specification – they create wireframes, which is a schematic representation of the user interface, layout of all the pages and UI elements placement together with the description of their behavior.
Who needs it? In fact, everybody! You get the understanding of how UI works, graphical designer gets all needed details to create a unique style, look and feel of the interface, developers get much clearer understanding of the final look of the product.
Here’s what Wikipedia says about wireframing:
A website wireframe (also “web wire frame”, “web wireframe”, “web wireframing”) is a basic visual guide used in web design to suggest the layout of fundamental elements in the interface. Because of this they are often completed before any artwork is developed. When completed correctly they will provide a visual reference upon which to structure each page. Wireframes also allow for the development of variations of a layout to maintain design consistency throughout the site. This is an important part of the initial development stage because it creates user expectations and helps to develop an awareness of and familiarity with the site.
Creating a set of wireframes for any project also acts as a way to communicate with clients and stakeholders such as content creators, engineers, and developers. Over the course of a project the wireframing exercise functions as a stable base on which to consider changes, diverse user paths, and new requirements. The information architect and information designer typically use the wireframes as a meeting of the minds and as solid working documents on which to establish the language, content, and structure of interactions users will have with a given site or project.
The creation of wireframes also helps to define the positioning of global and secondary levels of navigation in a prominent and intuitive position, as well as providing an area for utilities such as helpful information and search facilities. When creating your wireframes it is beneficial to ensure that branding is central to the identity of a site so as to communicate the personality of the site.
It’s not mandatory to have the content ready before the development, but with having all the common copywriting done and all typical content presented, design works go much more efficiently. In most cases the content is provided by the customer or a copywriter who works in close contact with the customer.
2. Pre-programming works
a. System Architecture
Well, having docs described above ready we’ve got about half work done: all business ideas are clear, functionality is clear, what it looks like – clear, content – got it! We are ready to implement out ideas into life.
Coding as any other development requires creating architecture of the project: DB schemes, the description of system modules and their relations inside the system. It is important to create such an architecture that allows future extension, upgrades, improvement. Thus, it’s a natural and important part of development.
b. GUI Design
Meanwhile, a graphical designer inspired by business vision, UI design wireframes and customer preferences of the look and feel of similar products creates the look and feel of the product we are developing, that is its style. Logo creation, website design, web 2.0 style, custom icons – any graphic work you need. A common mistake is when you require a GUI designer to design complex user interfaces requiring deeper analysis and UI design skills from the start. But when UI is ready, graphical designers feel free to do their best in turning wireframes into complete stylish pictures.
c. xHTML markup
Web projects require graphical pictures created by a GUI designer to be coded in xHTML (xHTML marked up) so that developers could later integrate functionality with design.
It’s much better if mark up is done before the functionality is implemented. It’s also applicable if done after, though the efficiency in most cases is doubtful.
3. Programming Implementation
Finally, all kinds of designing works are done and we can move forward to programming. As many of you might know, 1 week of coding works requires 1.5 week of design and documentation works. When more than a half way is behind, programming goes very smoothly since ALL details are clear.
4. Quality Assurance
If a project is big and sophisticated, you might need QA services. Our guys explore every little piece of the product and run different tests to make sure that it works as designed. (For more details about QA read about our services at www.sibers.com)
After we go through the process described above, we release the product and that’s pretty it. Any further questions?
The process summarized looks like a diamond: