Subscribe to our blog
Subscribe to our email newsletter for useful tips and valuable resources, sent out every month
Development process in Omega
A company cannot survive and succeed in business without an app, even if it has traditional desktop programs. In fact, millions of apps that cost their owners thousands of dollars are still not in demand.

However, any software can fail. To prevent it, the team has to ensure quality in every step of development.

Step 1

Let's say the software company is chosen. The question is what to do next? Let's work it out in detail through examples.

It seems that software and app development is only about coding. Indeed, the development process starts long before the programming step, inside a client's head. The more elaborated the idea is, the sooner developers can begin working on the project. At the same step, the questions for a software development company should be thought over. For example:

  1. In what spheres did the company work before? Who were the clients?

  2. Has the IT company ever worked on similar projects? Did the end product meet all expectations? Did it succeed?

  3. How much will the project cost?

  4. How long will the development process take?

  5. What does the soft development process look like? Is the IT company ready to coordinate the results at every step?

One more thing to be discussed before the start is technicalities. This step is important regarding long-term work. Among these questions could be:

  1. Will the soft work on iOS, Android, or both platforms? Will the solution be cloud-based, cross-platform, or of some other type?

  2. What technologies ought to be applied?

  3. Do you have any programming language preferences?

  4. Does the IT company provide tech support after the project release?

  5. What are your design preferences?

  6. Does the IT company provide the source code?

Step 2

In the second step, we as an IT company join the process. It's the first step for IT experts and the second for a client. The aim is to help you formulate the statement of work.

The analysts study your needs, the idea of the project, the market, and competitors. Next, they identify the functions of the future product, gather the development team to initially assess the project.
In some cases, we conclude that a client should choose a less sophisticated solution and the initial concept won't produce the expected result. In other cases, we affirm the vitality of the idea and offer more effective software configuration. As a rule, it happens in case the client has already worked with IT companies.
We have relatively recently finished the "NITO" project for the Computing Technology Industry Association. CompTIA has already had dozens of centers where specialists could take exams and tests. The association set the goal of reducing office rental costs and offering online certification services. This means that the examinees will be able to pass tests from home. The customer's team provided a detailed brief with the analysis of ready-made solutions for the proctor subsystem of their new platform.
In case you have a "raw" input, we plan a business idea, an implementation strategy, the product's technical feasibility, requirements, and a monetization model (if the product needs one). If we come to a common vision, we move on to the next step.

Step 3

In the third step, we are testing the project's technical feasibility once again and diving into its details, technologies, restrictions, and critical areas. For complex platforms, the systems architect participates in planning: he models the system using suitable technological «puzzles» that perfectly fit different parameters.

If necessary, we together define the design concept, the UX — how the user will move through the screens of app, service or platform, and draw the main sections screens. We also analyze the UX in competing IT products and make sure the proposed version of the UX is better than others, and that it will leverage the outcome.

The complexity affects the timing and cost. The more complex the project is, the longer its implementation will take. Therefore, we analyze all the components of the project, seek a balance between cost, time and technical requirements and agree on the cost and time. By the way, the resulting terms are not picked at random, we calculate them using the Gantt chart. The Gantt chart is a table with a schedule of project deliverables. It helps clients and the project team to track performance.
In this step, we exchange files that play the role of draft documents. During the planning process, new circumstances or ideas may arise on the client's side. In that case, we are going through the same step again in order to create the ideal software.

Step 4

Only in the fourth step we can discuss the signing of documents:

  • Technical Specification Document. It contains detailed formalized requirements for programming, system load, tech stack, user roles, user scenarios, project architecture, integrations, and project sections.

  • Project Budget Estimate. It's a detailed cost calculation. All calculations are based on the Gantt chart, which is complemented by financial indicators for each task.

  • Contract. At this point, you choose a contact person for discussing details and a person who will make key decisions. It's crucial for daily coordination. You in turn are provided with contacts of our specialists and access to the work monitoring system.

Step 5

The fifth step begins with giving all project materials directly to the project team which prepares a highly detailed schedule of work. The team size depends on the required time and tech stack.

For example, the online certification platform «NITO» was developed by 18 Omega specialists: CTO, 2 project managers, a system architect, 7 backend and frontend developers, a DevOps engineer, 2 UX/UI designers, and 4 QA specialists. However, each project is individual and requires different specialists.
In this step, the visible part of the work is mostly done by designers. They prepare the product roadmap and analyze the target audience through interviews, questionnaires, surveys, and other research methods.

Often designers use JTBD (Jobs to Be Done) method — it refers to the problematic situations that cause the user to ask a business for their solution. Through the user's problems, we find issues in business processes that stopped solving the clients' problems for some reason.
To create software that solves business problems, designers need to understand how business has solved the same problems so far. This research allows them to create a visual customer journey map and to find weak points in it. Any available analytics will help do it.

As you see, we have not moved on to the development step yet. When the common ground is found, we start analyzing the user experience in the customer's business and transfer it to the future app, service, or other platforms. Thus, through the analysis of offline business processes, we're modeling the company's new online business processes.

Step 6

The development itself starts only in the sixth step. At this point, it still doesn't include coding. How is it possible? We'll explain it further.

At this stage, UX designers develop an interactive prototype that works only with special software. The software plays the role of a sandbox for designers' ideas. It lets the client see right on his smartphone's screen, for example, how the app version works, to click through its screens, to evaluate the screens transition effects and buttons. However, it still needs a code to be installed on a smartphone or other devices.
The prototype clearly shows what the software will look like in the future. It guarantees that it will work properly in terms of business logic and technical feasibility.
In the project «NITO», for example, in this step, we designed the structure and logic of screens for different types of users: test subjects, platform administrator, content managers, testing assistants, and QA specialists (grammatical expert, technical expert, psychometrics, etc.), examination publishers, report specialists, and statisticians. As a result, designers created the entire user interface and auxiliary interfaces from scratch — about one thousand screen models and a system of transitions between them.
Step 7

The seventh step is also mostly about design. The prototype may suit a customer, but it has to appeal to users too. The software is made for users, and their opinion is the most important. It is what success depends on.

Now we have to test the prototype. Sometimes designers prepare two versions of the prototype and let several users try them out. The designer gives them tasks to complete and asks what they liked, what was easy to do, and what caused difficulties, and why. This makes it possible to identify weak points in the prototypes and to assess which is the best and quickest way to solve the identified UX problems.

After that, the designer improves the prototype and tests it again until reaching the perfect result. Design has to satisfy users, and what is more important, allow them to reach the target action as quickly as possible due to intuition and logic of the interface.
After signing the contract with the customer the design file of the most efficient prototype is transferred to programmers. Their task is to bring the model to life — write the program code. We will return to programmers later, as designers still have some work to do.

As you can recall, the prototype is not complete yet. Therefore, in the seventh step UI designers prepare visual components, or graphic design: UI Kit, design system, detailed interactive prototype. They also develop the animation for the interface. In case the customer has chosen the color scheme or even developed the UI Kit in advance, the work process goes much faster. Still, it is better to trust professionals who have been improving their skills for a long time.

UI design is also a matter of customer's taste, which makes it highly susceptible to changes. The changes also appear when the customer realizes that the IT product must solve more business problems than it was planned.
For example, for the project «NITO» we developed the whole design system, and soon quickly changed and revised it once again. Since modules became more complex and the number of functions grew, the requirements transformed too. Truly immersed in the work, we even presented a new logo for the platform, although it was not a part of the Technical Requirement Document. The logo absorbed everything expressed in the design system. Working process becomes even more pleasant when the client enjoys it as much as we do.
Step 8

While the designers are working on the visual part, the programmers are coding.

You must have seen apps and other software with bugs. It's not always about Internet connection or performance capacity issues. Sometimes it's about a hopelessly outdated programming language. Complex software can also be written using outdated language. New technologies and languages are always created from revised old ones. The disadvantages and errors are considered and eliminated. That is why the programmer must have modern languages and frameworks skills.

Bugs may be caused by plenty of reasons. To better understand how many things programmers have to work out, let's go back to «NITO», the online platform for remote examination.
It consists of seven key modules, which must be synchronous so that for the UX is smooth and fast: the examination content module, the examination packages delivery module, the web user interface, the results evaluation module, the module of examination quality control, the module of statistics collection and analysis, and the intelligent power module of examination forms generation. Behind each of them are hundreds of hours of work and a lot of technology. Without at least one of these modules, the whole system would collapse.
There are also situations when the designer did his part of the work well, but the programmer failed to implement the modern visuals and comfortable user journey in the code. It's more of a programmer's fault. Whatever happens, there's the next big milestone, a lack of which can lead to a failure of the whole project.

Step 9

Step 9 is testing. Some believe that testing is not necessary if the IT product is created by professionals. There is some truth in that. However, let's have a look at the process of car manufacturing. No one would let a car out on urban roads without testing, even if it's created by the world's best engineers. To make the app user feel like the owner of a comfortable car, you need to double check your product. That's how quality products are created.

Testing is not an additional step of the development process. It is more than just a simple «walk» through the app — it is a mandatory part of the development process.

The testers make up a separate department from the programmers because they follow rules and principles that differ from the programmers' ones. If the programmer had to test the product himself, he would treat the errors with loyalty.

Testers prepare endless testing checklists with strict rules. Checklists help to remember and record all the errors. The more complicated the platform is, the more complicated test cases it needs.

What kind of mistakes can appear in the project? For example, a program that requires a stable Internet connection doesn't run or crashes without the Internet, an app loads a video for too long; a list of favorite products of the previous user remains in the new user's private account. The list of possible mistakes, or bugs, is almost endless.
While developing the «NITO» platform, for instance, we solved the following issues: the pdf file could not be opened in a secured environment, logos were displayed incorrectly on some screens, failures happened when the access passwords were changed, the system sent incorrect registration confirmation links to e-mails. In 2020, when «NITO» was at the final stage, the testers developed 10 checklists, consisting of a total of 1,500 tests, and have performed checklists tests 80 rounds. Some of the tests were performed using automated software to exclude the human factor.
Testers perform a huge number of tests: code review, A/B testing, functional testing, UI testing, usability testing, compatibility testing, load and regression testing, adaptability testing, and layout testing. For a person who is far from IT, it may be difficult to understand all kinds of testing.

As a result, all bugs are recorded into the bug tracking and test management systems, and then given to the programming team to correct the errors. Over and over again, iteration after iteration software gets perfect. This is how we create software that is worthy of showing to customers and users.

Step 10

The 10th stage is the most pleasant for us. We transfer the IT product with technical documentation to the customer. If necessary, we help the client to release it, for example, by uploading the app to the Google Play or the App Store.
This part of the work is like a party, as programmers are confident in the purity and stability of the code, that it doesn't contain blocking and critical bugs. Our code is easy to maintain and change due to good architecture. The whole project team is firmly convinced that the reliable IT product solved the customer's problem and helped him achieve the business goal, as we created the product with our own hands and modern technological tools.

We also understand that the work has not been finished yet. After the release, the product meets real-life situations. We provide the customer with a 2-years guarantee on the software product. If there are errors in the code, we remove them for free. Even after two years of warranty, we are ready to develop the IT product to make it meet new needs of the customer's business.

Contact Omega in case you have any interesting ideas or need a complex solution to develop a mobile app or IT project. Go all the way through the development process with us.
Thoughtful leadership in your mobile development!
Do you want to improve the effectiveness of your business?

Подпишись, чтобы получать больше наших предложений
Популярные статьи