In addition to purely designing user interfaces for apps, websites or interactive tools, we have the option of programming these interfaces together with our software development partner. This saves our clients time and other valuable resources, as well as the trouble of having to juggle several development partners.
We take care of everything from establishing software requirements to functional and visual designs to digital product launch and marketing.
Here are the steps of our tried and tested software development process:
We always start our projects with an introductory briefing and by getting to know our client. This provides the opportunity to address initial questions and to gain a strong understanding of our client’s expectations, goals, processes, customers and potential challenges. In addition, we provide consultancy and information to our clients, as well as a ‘reality check’. To arrive at a solid concept, all our projects go through these and further steps as part of our profound service design process.
An essential aspect of a successful start is the definition of epics. They differ from features, which refer to visible and/or usable components such as an online shopping cart, text alerts and other functions. Epics, on the other hand, are short descriptions of the less tangible software requirements that reflect the business focus and are along the lines of “improve the user experience” or “increase customer engagement”.
Together with our client, we draw up the first concept of the application. In practice, this means collecting feature ideas and determining initial technical cornerstones. As all products and services should be designed with the end user in mind to add real value, it is important to make all decisions based on the requirements of the target group and future users.
Once the cornerstones and project objectives are established, we estimate costs and draw up an approximate timeline for the current scope of the project. This allows our clients to decide early on whether they wish to and are able to proceed with the project.
Based on the defined epics, we further specify the software requirements, feature descriptions and actual user stories. User stories are the smallest descriptive unit in a software project. Their primary purpose is to keep the end user at the core of the development, which is reflected by their informal writing style (as if said out loud by an end user). An example would be, “As a user, I want to filter products by colour, price and size.” Documenting software requirements through user stories also communicates to the development team which value a feature adds for the end user – which helps developers see the bigger picture and their contribution to it.
User stories also serve as the basis for the final offer and detailed project planning. When everything has been approved by our client, we get started with wireframes.
This step is all about structuring functions and content, setting up logical and intuitive hierarchies, and ensuring usability. In short: It’s all about information architecture (IA).
It is also the step where our UX/UI development team works their magic by incorporating all function-relevant information into a prototype based on wireframes. Wireframes can be understood as the blueprint of the software structure that helps everyone involved to communicate and discuss the structure and features. In other words: Wireframes represent the functional design of the screens and processes. The prototype, or click dummy, provides the ability to test these functions and to incorporate feedback very quickly.
Workshops are useful for discussing and analysing the functionalities together with our client and the project team. Feedback rounds, representative user tests and expert reviews ensure faultless functionality and intuitive usability. We then combine the functional with the visual UI design, which we develop alongside the functional design.
Once all feedback has been incorporated, we thoroughly test the functional prototype a final time, evaluate our findings and get our client’s approval to start with the backend development.
Our in-house team of experienced UX/UI and graphic designers » takes care of the visual user interface design. With functionality as the main focus, we work out visual design options via mood boards for target group- and product-relevant aesthetic positioning. Design concepts, which are always based on our client’s CI (corporate identity) and CD (corporate design), are then presented to our client.
We typically develop several UI design lines based on 2-3 exemplary screens. This forms the base for feedback and allows for a design decision to be made. Accompanying every step with a close exchange with our client guarantees that our design is moving in the right direction – from the very beginning and for everyone involved.
A presentation then sums up the chosen design line including icons, and opens the doors for the visual design of the prototype as we apply the chosen design to all screens and functions – always in unison with the functional design and requirements. We are now able to present our client with a realistic prototype, i.e. click dummy for evaluation and feedback. Once all feedback has been implemented, we present the final prototype for approval and are then ready for frontend development.
For the purpose of backend and frontend development, we create a style guide and library for all required layouts, icons and further library elements (typically in Zeplin and Adobe Xd). Moreover, we support the software development process with several design checks and corrective interventions to ensure a high standard of UX/UI quality and an exceptional interface.
As mentioned earlier, software development and design take place simultaneously to shorten the project timeline to get you to your final product faster.
Our software development partner follows an agile development process by working in defined development sprints. Working in sprints means working in iterations: We develop one feature at a time to get to the final software, making space for a more structured process and a lower chance for bugs to pass unnoticed. Our scrum master makes sure the sprints run smoothly and efficiently.
Of course, we cover all required levels of programming and software support. In short, these are:
All sprints are accompanied by internal quality assurance and testing. Together with our client, we draft a test plan, which presents the base for all testing activities. In general, we differentiate between three types of tests:
Regression testing: This type of testing is used to verify that a code change in the software works with the existing features and does not cause issues. This is necessary as code changes can sometimes introduce new bugs and hamper with the existing functionality of the product. Feature tests are therefore re-executed after every code change.
As we are approaching the final version of the product, we already get busy preparing marketing materials for your product launch. It is considered best practice to start marketing before the actual launch to create a buzz around your new product and to have consumers anticipate using it.
Software release or website marketing is an important discipline to get the word out there to draw attention to your new product. This particularly applies to the launch or relaunch of software applications. Our communications team supports the marketing process in all areas.
In contrast to website launches, app releases are considerably more resource-intense when it comes to marketing materials. This already becomes noticeable during the planning phase: We support our clients with the definition of keywords, the creation of SEO optimised texts and with various app store optimisation (ASO) topics. App store graphics and promotional videos should not be neglected either as they have considerable influence on the success and acceptance of an app in the app stores.
For an example of app development and marketing, have a look at the ZEISS Hunting App which we implemented and update continuously.
Once everything is ready, it is time to launch the product. This process needs to be well organised and prepared. Next to intensive release monitoring, it requires the availability of resources for quick reactability in case something unexpected happens.
Software, apps and websites are only successful when they are fully available to the user. Based on our experience in this field, we have a set of monitoring tools at our hands that inform us immediately in case that parts or entire applications are not functioning within the previously defined parameters. Should problems occur, we are able to react quickly and efficiently, reducing downtime to a minimum.
And there we have it: Our thorough software development process that leaves you with a complete, operational and successfully marketed software product.