A wise man once said that if you don't plan, you plan to fail.
This image is a perfect illustration of software design, and as you can see, there is a big difference between the product the customer really needs and what has been achieved,
A good web or software design is not just about aesthetics, but rather it should be aligned with your overall business strategy.
In the case of a website, it could simply be about making it easier for your visitors to understand your products or services and your brand image through a variety of indicators, including images, videos, texts or interactions.
Whereas in the case of a web application, it will be about allowing your users to fulfill specific productivity or other needs.
In this article, we will discuss this design process on the level of a web project requiring nine (09) steps which are :
This is the most important step, because the less well it is done, the more your project will go in the wrong direction. In this step, the goal is to understand the problems you are facing and the needs you want to fulfill.
To do this, you must ask yourself a series of questions such as:
- Who is this website for?
- What do your visitors expect to find or do?
- Is the primary purpose of the website to inform, sell or entertain?
- Should the website clearly convey a brand image or is it part of a larger branding strategy with its own unique purpose?
- What are the competing websites?
- How should this website be inspired by or different from these competitors?
From experience, errors in requirements are more frequent than those in design and implementation. They are also the most difficult and costly to correct later on. It is therefore important to identify them as soon as possible and to favour development methods such as the Agile method, which is very popular nowadays.
To complete this step, it is recommended to use tools such as:
- Creative briefs
- Audience personas
- Competitor analysis
- Or other resources.
In summary, find the project's objectives at the beginning, in order to achieve
success at the end. Once you have finished defining your objectives, you can move on to the next step, which is the needs analysis for the project.
At this stage, it is important to formalize your needs and all the constraints in order to structure the information collected.
To achieve this you can use many techniques such as :
To make it simple, you must list all the elements included in your web project. Be aware that the client's needs, even if it is you, are often unclear, exchanging what justifies the first and last image of the following steps. The changes in itself are not necessarily a problem but if increased expectations are not met by an increase in budget or time, the project can quickly become totally unrealistic. In order to complete this step, I recommend establishing a specification validated by both parties in order to avoid any ambiguity and to use a visualization schedule such as a Gantt chart for example.
This step is not essential but especially in the case of a website it is recommended. It is about preparing your web content in order to clearly identify your different types of content. Not only does content stimulate engagement and action but it also serves SEO purposes. In addition, knowing the length and types of your content will allow your graphic designer to establish rules and a much better user experience during the next steps of mock-ups. Generally, you or your client will produce most of the content, but it is essential to ask for advice on the right keywords and phrases to include in your texts.
The sitemap is the foundation of any well-designed website. It helps designers get a clear picture of the website's information architecture and explains the relationships between different pages and content elements. Next, you need to design the wireframes. This one focuses mainly on the layout of the content and the arrangement of the elements in a user interface. Called Wireframe they are often in black and white, and are very useful when you are at an early stage of your design process. Often the simple creation of this type of mockup will uncover issues or challenges that your team hadn't thought of. It's best to discover these things now before investing heavily in the full construction of your project. The idea here is to present the client with a clear conceptual idea of the overall structure of the website. It can be compared to a floor plan of a house. The first tools to achieve this are a pencil and paper. But there are plenty of useful software such as Pencil, Balsamiq, Moqups and many others.
It is about translating the functionalities defined during the design phases into one or several programming languages. The goal is to know which part you intend to develop from scratch after analyzing your architecture. Identify the existing technologies you want to work with. Bugs need to be fixed, features added or updated and all of this with the highest level of security to protect your sensitive information and that of your customers. The notion of DevOps here is recommended.
DevOps is in fact, a belief that production and development teams work together on common goals. This method promotes reliable code, faster releases and more development time. These benefits are huge, but they are only the result of a solid communication process. Once the software is developed, the unit testing stage that we will see next is where the product goes through a pilot study to see if it works properly.
This step evaluates the software for errors and documents bugs if any. It allows you to verify that each module of your website or application is implemented according to the original specifications. Carefully test each page to ensure that all links work and that the website loads correctly on all devices and browsers. Errors can be the result of small coding mistakes although it's often difficult to track them down - it's better to do it now than to present a failing website to your audience. Work with your production team to develop an effective test distribution process. Have checklists of basic tests to run on every code update before it is even submitted to your test environment.
This step is especially important in the case of a web application. It allows you to produce the necessary information for the use of the software and for future developers. In the case of websites, you can simply document elements such as
- the language used
- the content manager used
- the administrator accesses
- and any other element that you consider relevant that could help the future team that will work on the project.
This is the time when you can't wait for the world to see your work. When everything has been thoroughly tested and you are happy with your website, it's time to launch it. By saying thoroughly tested it doesn't mean that there are no more errors. But if it is the case, congratulations. If not, don't panic. Even Facebook crashes. Web design is a fluid, ongoing process that requires constant maintenance. It's important to remember that this stage is not the end of the work. The beauty of the web is that it is never finished.
Finally, maintenance! Once the website is online you can continuously perform user testing on new content and features, monitor analytics and improve your website. This is usually referred to as corrective maintenance or evolutionary maintenance. Be aware that the sequence of these steps in the development cycle is not unique and depends on the choice of a lifecycle model and the development team.
The need to choose and follow a formal process for software development and avoid wasting time, money and demotivating your development teams.
Sidick Allalade, is Chief Technology Officer at Oshara INC and co-founder of the Osortoo web application. He loves solving complex IT problems, coding and everything IT. He has a good knowledge of online marketing and IT Governance, Audit and Security.
His experience spans hundreds of projects with companies of all sizes which makes him a valuable asset on any team.
Was this article useful?
By registering, you agree to receive emails from Oshara.
By registering, you agree to receive emails from Oshara.