How to implement CI/CD in just six weeks
Close

11 October 2021

UX

Software product development lifecycle — the UX perspective

15 minutes reading

We all know that products that really add value and address genuine user needs depend on good design. If a product or app isn’t easy and intuitive to use, it may be destined to fail. How many times have you left a website feeling frustrated, not being able to find the information you need. For sure you have installed apparently useful apps that later turned out to be a real pain to use.

The Internet is full of examples of poor user experience. This is why it is crucial to always incorporate design thinking in your software product development lifecycle. If you care about your customers and want to provide them with a stunning user experience, UX-focused design is something to include in the software product development process

What is UX design?

Simply speaking, user experience (UX) design focuses on the relationship between a website, app, software, or any other product and the person who uses it. It’s all about making products that someone can use easily and enjoyably. It can be ensured with UX design thinking - a combination of psychology, sociology, and use of new technology that focuses on the interaction between a user and a product. Moreover, the UX design process should encompass all aspects of the deliberate interaction between a company (including its products and services) and its end users; usually including the customer service experience as an element of that interaction. 

In order to understand UX, you should understand the users, their needs, values, abilities, and limitations. A successful UX design process should focus on creating a user journey that is as easy and productive, even fun, as possible. A UX designer combines market research, product development, strategy, and design thinking to create seamless user experiences for services and products at all stages of the software product development lifecycle. They make sure an app or product is learnable and usable for the end user. They work with branding, navigation, content, MVPs, and product functions to create a result that is intuitive, pleasant, and enjoyable.

Important: Remember the difference between UX (user experience) and UI (user interface). While UX is focused on the user’s journey, UI focuses on how a product or service’s surfaces look and function. UI refers to the actual interface of a product, software, or app. The UI - the visual design of the screens users navigate while using a website or app - is a core part of the overall user experience and, as such, should always be part of the UX design process. 

Why do we need UX design?

Most experts say that the main focus of UX designers is… to keep users happy. Or at least, provide them with an undistracted experience. Imagine you want to finalize your order while shopping on the net and suddenly you see a distracting popup. A well-designed UX will prevent such situations from happening. Yes, improving the user experience can be that simple; simply removing obstacles from the user’s path can create significant business benefits.

A well-designed UX can improve the adoption of the product with happy customers and increased sales. Increased sales means increased revenue and a solid UX strategy increases conversion rates and attracts new users. In some cases, a single UX design sprint can result in a drastic spike in conversion rates and revenue! What is more, given that 50% of development time and effort can be spent on changes and fixes, UX reduces development costs by reducing the need for such changes and fixes in the first place. A UX design process helps keep a project within a budget and saves time, focusing resources on the functionalities that really matter to the user. There is less risk of feature creep, and the product design specifications are more effectively focused. 

So, what are the most important principles of UX design? First of all, the product improved by the UX team should be useful. It should fulfill a purpose. Without a clear purpose, a product will inevitably struggle to compete in the market. It should also be easily usable – the user journey should be as intuitive and efficient as possible. Then, the product, website, or app should be credible so the audience can trust that the product will deliver the desired result. Finally, the product should be desirable and accessible. It should be easy to use for anyone included in the target audience; including people with disabilities, in some cases.

UX design is all about creating a product or service that will be available and highly convenient to use at any stage of the customer journey.

>> Would you like to know why complex network applications need UX? Learn more HERE

Software product development lifecycle – the UX perspective

The software product development lifecycle is a framework that describes the systematic and cost-effective production of high-quality software. It is used by both small enterprises and large organizations, following development models ranging from agile to lean. The framework provides businesses with a template process for developing successful software. It lowers the cost of software development, as well as improves its quality. The software product development lifecycle shortens development time as it prevents after-the-fact fixes. At the same time, it helps developers better understand what they are building and why. 

In the software product development lifecycle, the UX design process plays a critical role. Let’s take a closer look at the software product development lifecycle and find out where the UX team comes in.

Research

It is impossible to build a user-centered app or software with adequate information architecture without thorough research. You must clearly define the problem - simply put, what you want to solve and for whom. Gathering information about users and their needs is a crucial step. First, you gather statistical data on a group of current or potential customers. Then, you prepare a competitor analysis. Ideally, you also conduct a SWOT analysis (strengths, opportunities, weaknesses, and threats). The software product development process depends on well-defined user personas – you can either create them from scratch or update existing ones. Don’t forget that this phase is also about establishing clear goals and a product strategy.

Information architecture

After determining who your customers and competitors are, it’s time to explore how to satisfy the user’s needs. Start with a customer journey to identify what steps your customer has to take to buy your product or use your service. Define the situations that make a potential customer need or want your products / services. Describe what you have to offer and why it is unique (value proposition). Then, work with user stories and user flows (are users easily navigating your app or website to find what they need?) to see how the process looks in the real world. This phase also includes thinking about how the functionalities in the product will connect and interact. Finally, prepare a roadmap to be clear about what the next steps are and when they are to be completed.

Prototype 

A prototype can be developed to allow the project stakeholders to see an early version or indication of the product’s functionalities and flows. It’s like a draft, more detailed than a wireframe. This is where the design thinking starts. During a design sprint, the team prepares lo-fi prototypes. These are quick and easy representations of the concept, created to get quick feedback and improve the product. A combination of internal and external user tests can be used to get as much feedback as possible. 

>> Learn how a UX prototype can improve your product

UI design

During this phase, the actual conceptualizing of the solution takes place. The lo-fi prototypes that were previously tested serve as a base for hi-fi prototypes. Iterative rapid testing of the prototype begins, with end-users. Make sure you use the main user scenarios and small groups of a maximum of five people. The results of all these tests lead to enhancements and improvements geared to provide the best possible user experience, resulting in an MVP (minimum viable product) – a version of the product with just the key features, to be used by early-adopting customers who can then provide feedback for future development.

During the UI design phase, it’s important to bear in mind the Web Content Accessibility Guidelines (WCAG) and ensure compliance using accessibility testing. The user interface is designed and the style guide is finally prepared. The UI team works closely with the development team to make sure that every functionality will be delivered without unnecessary work. During this phase, a design system is built: a list of the key components (active, inactive, secondary; for example, different standard varieties of buttons with descriptions of how to use them properly in each scenario) to speed up the developers’ work, and thus optimize costs.  

Internal review & consultations 

The next step is to seek stakeholder feedback on the design produced so far (including the UI elements). Once you have stakeholder approval, it’s time to seek opinions from development team members (often called design critique sessions). Once  you have gathered all relevant opinions and feedback (external and internal), it’s time to compare them with the specific needs of potential customers. This step is mostly a confirmation that the direction the product is heading in makes sense, and that there is a good chance of success after deployment.

Implementation 

Once the product has been designed and discussed with all relevant stakeholders, it’s time to implement it. During this phase, cooperation between the UX team and developers depends on excellent communication. The implementation stage includes assets export and management over the correctness of development. During the implementation phase, quality assurance is of the utmost importance. 

And remember,  product implementation is not the final stage of the software product development lifecycle.

Continuous testing

Building the software is not the end of the process. You have to make sure that there aren’t any bugs and that end users won’t be negatively affected at any point. A/B tests (a randomized experimentation process wherein at least two versions of a variable are presented to the test group) are a great way to implement improvements based on genuine opinions and needs.

The software should end up meeting the quality standards. Depending on the complexity of the design, the needs of the end-users, and the skills of the developers, this stage might take a very long time, or be successfully concluded quickly. Tests with end users are an extremely important part of the software product development process, employing a variety of methods such as surveys and interviews, and you should be prepared for unexpected feedback that give you a new or alternative perspective. The truth is, this phase should never really end. To ensure a long product life, you should constantly compare it with users’ needs and expectations to stay up to date with any market changes. Building customer loyalty and engagement is a never-ending process.

Discover CodiLime's approach to UX and UI! Check out our Showcase:

The UX and UI for your network project

Conclusion

As you can see, UX is a crucial part of the software product development process. A clear focus on UX helps the product development team improve usability levels and reduce the overall development time. At the same time, it creates beneficial interactions between the customer and your product or service. Important throughout the product’s development and lifecycle, from a business perspective, a UX focus helps to keep the project within budget (by reducing development costs) and saves time.

Sebastian

Sebastian Janiec

UX Designer
Łukasz

Łukasz Wawrzkiewicz

Senior UX Designer