DEV Community

Codica
Codica

Posted on • Originally published at codica.com

How to Create a Successful Custom Web Product Step by Step: Codica's Practice

The article was initially published in Codica blog.

When creating a winning web product, the team must follow the best practices and certain steps for development. This is how Codica ensures building top-quality websites.

This article is a complete guide that shows the approach at Codica to creating web products that users enjoy.

What methodologies are commonly used for project development at Codica?

Today, custom software product development mainly relies on two methodologies, waterfall and agile. Both of them are useful and have their peculiarities.

The waterfall methodology implies that the next stage of software development starts after finishing the previous one. So, the design of the web product starts only after the product discovery step is finished.

Meanwhile, agile methodology means moving in small steps and applying changes whenever they are needed. This iterative approach offers more flexibility and mitigates risks early.

Image description

At Codica, we rely on the agile methodology appreciating iteration as its main advantage. We hold daily, and weekly meetings to discuss the results achieved, further goals, and expected deliverables.

What is the Codica team involved in the development process?

The development process requires several careful steps, from assessing the business idea through development and finishing with quality assurance and support. These steps require certain professional roles. They are as follows:

  • Project managers (PMs);
  • UX/UI designers;
  • Frontend and backend developers;
  • DevOps engineers;
  • Quality assurance specialists (QAs).

Working together, they follow the main steps to create functional and secure solutions. Let’s discover what these steps are.

What are the 5 main steps that Codica follows in software development?

Step 1. Product discovery sessions

Product discovery is a preliminary step when we discuss the business and technical aspects of the client’s idea. This process involves stakeholders on the client’s side, a UI/UX designer, a tech lead, and a project manager.

The result of the product discovery process is the specification document and project estimate that a designer, tech lead, and project manager create together. Also, they create prototypes, a roadmap, and a process diagram and show all these documents to the client for discussion. Below is an image illustration of the main tasks we complete during the project discovery phase.

Image description

After the discussion and approval of the project documents from the client, our team proceeds to design and develop the project.

Step 2. Skillful designing

At Codica, we create designs for each product regarding the outcome and deliverables from the discovery session. Our designers consider the style of a web product and the appearance of UI elements and font hierarchy. For example, below is a design that our team created for a kids' activities marketplace.

Image description

Also, designers create a guide on the website design that is used by developers and quality assurance engineers.

By the way, you can see attractive and user-friendly designs we created on our Behance profile.

Step 3. Web product development

After all preparations, our team starts the development process. Typically, we recommend our clients create their product as a minimum viable product (MVP). It is a primary workable version of the product that includes basic features and can be launched to the market. It is useful because you can see how users try and accept your product with the least effort for development.

The development at Codica includes several phases. Let’s discover what they are.

Preparations for the development

Starting with the inception phase. The inception phase means planning and allocating roles for the development. An entire team takes part in this stage. It involves discussions of the specifications and prototypes created in previous stages. Also, the stage includes assessing the risks and difficulties of product release.

Creating the product backlog. A project manager creates a backlog in Jira, a collaboration tool. The backlog includes epics, which are milestones for each set of features to be developed. The epics constitute the roadmap that helps developers move through the development process.

Building a staging environment. Creating a code takes small steps as we follow agile methodology. Every part of the code that we create undergoes testing with Gitlab CI/CD (Continuous Integration/Continuous Delivery), a tool that automates development processes.

Both staging and prod environments are created and managed by our DevOps engineers. Also, DevOps help to host a product properly. We prefer Amazon Web Services (AWS) for this. It is flexible and has a rich set of features that ensure the secure and stable work of a website.

Our iterative software development process

While building a web product, developers and quality assurance engineers check the code logic and the code compliance with syntactic norms. We also check the code for vulnerabilities, and stylistic errors, run tests and deploy our code to test servers. Then a tech lead verifies the completed code. These operations are conducted in the staging environment and are a must before deploying the product on the prod.

Step 4. Testing

In parallel with designing and developing, we perform testing. So, quality assurance engineers (QAs) start testing the code from the moment when they receive specifications from a project manager after the discovery sessions. QAs clarify the details of how the product must look and function and write these nuances in the Acceptance Criteria document.

Also, QAs use the following documents:

  • Checklists that present the compliance criteria for the code;
  • Test cases that are a complete description of test scenarios with steps and prerequisites.

After all necessary checks of the code on stage as part of development, QAs perform regression tests. Such tests clarify that changes made to the code during development do not break the code structure. So, regression testing is an initial check of the product as a whole.

After the checks are completed, the project goes to the prod environment. Thus, QAs check the code on the prod once more.

Image description

For example, as a result of development and thorough testing, we created an online travel marketplace that helped our client to double their expected sales.

Step 5. Maintenance and support

As new features appear and technologies evolve, we help our clients keep their websites up-to-date. So, our designers, developers, DevOps, and QAs make the relevant changes to keep web solutions running.

The maintenance and support involve the following services that we offer at Codica:

  • Ongoing support, system maintenance, bug fixes, backup, and monitoring;
  • Improvement and updating of applications/systems, integration of new functions;
  • Redesigning software solutions to meet business requirements and conditions;
  • Product technical support.

We have a stack of tools that help us monitor the solutions and receive the metrics and alerts. They are as follows:

  • Prometheus;
  • PagerDuty;
  • Grafana.

Conclusion

When creating web products, we rely on the best software development practices. Following the five crucial steps, our web projects help our clients grow their businesses. If you need a website or want to test your business idea, contact us. Our experts are eager to help you.

Top comments (1)

Collapse
 
nwaweru profile image
Ndirangu Waweru

Love this!