Any digital product is distributed to its users through channels such as smartphones, computers, and others. User experience is crucial to their success, and there is only a good UX with a good engineering process.
This inseparable connection requires an extended implementation of the software development lifecycle (SDLC) so that engineering has the best possible information during implementation and can materialize the idea of the product as imagined.
In the case of developing a product, the process begins before the requirements-gathering phase, in moments of collaborative work between people linked to the business, UX research professionals, and ideation facilitators. Between market studies, interviews with potential users, and sessions with business experts that feed Design Thinking and Ideation workshops, an immense amount of information is generated about business rules and functional and non-functional needs, which is valuable for engineering at the time of implementation. By incorporating this moment into the software development process, we enter the product development lifecycle (PDLC).
However, those involved in this phase who are strongly linked to the business area have their own ways of raising and writing requirements. It is common to observe a significant distance between the product and engineering teams in how information is collected and organized, which can lead to an unnecessary loss of valuable information. For this challenge, a requirements alignment framework that ensures harmony between all teams involved is essential for the success and predictability of the implementation project.
With this information, the engineering team can make more appropriate decisions in the design of the system and the infrastructure that supports it. Any channel will have an interface, and the creation of interfaces in any native, hybrid, or low-code language needs to be clearly mapped to the layout and component designs. Once again, the organization of this information must be aligned so that names, hierarchies, and associations are shared between the product, design, and engineering teams. The fluidity of this part of the process is again crucial so that there is no loss of valuable information.
It is not just on the interface side that there must be inter-team alignment. On the server side, which typically secures data and business rules, decisions must also consider the user experience. Data modeling and architectural design choices must consider what is best for the user in their interaction with the product. Decisions must be based on the needs of the interface because it is the part of the system closest to the user and their experience.
An infrastructure will invariably exist and support the services that serve the interface. This infrastructure, which can be more or less distributed and decentralized, must be considered in terms of resilience, security, and availability because it’s where the biggest threats to the user experience lie. A product that does not work well and safely will inevitably have problems with its users.
Product delivery is continuous over time, and the development process continues after the initial delivery with corrective and evolutionary maintenance. All successful products achieve functional and/or visual evolution, and this must be treated with the same rigor and focus on the user experience. Changes must be properly tested in environments similar to, or the same as, the reality that will be available to the end user. This entire process must be based on automatic deployment flows designed to minimize system downtime as much as possible, avoiding user frustration.
Finally, the engineering and product teams can obtain more valuable information by monitoring the system from the perspective of its use by the end user. Collaborative work and reflective perception of the information generated by the system in databases, logs, and other sources can change work priorities and must be an integral part of the process of creating value for the end-user experience.
Emotion in a positive user experience should guide engineering rationality. These principles are more than guidelines; they are the essence of our daily approach. Committed to the satisfaction and productivity of engineering teams, we promote connection and synergy between all areas involved in the design process. Our methodology, aligned with the effective implementation of the extended SDLC, guarantees technical excellence and continuous delivery of digital products that accurately and innovatively reflect the needs and experiences of the users.
Opinion article by Diogo Cunha, CTO at Bliss Applications, originally published on ITinsights.