This website uses cookies to optimize the use of the website for purposes statistics and popularizing the website using social networking sites. The storage conditions You can specify cookies in your web browser.

talentica
talentica
talentica talentica talentica talentica

The software production process - an exemplary process diagram. How does building the application look like step by step?

19.04.2021

talentica

The software production process - an exemplary process diagram. How does building the application look like step by step?

The process of building an application is a process consisting of several successive stages. Typically, these stages are closely related and the next stage cannot start without completing the previous one. In this article, I will try to show you what steps a typical software house must take to create an application that meets the client's requirements.

1. Kick-off with the client

Kick-off is a meeting with the target client to determine the scope of work. This is a casual meeting usually attended by:

- Product Owner (on the client's side)

- Project Manager and Lead Developer (on the side of Software House)

The kick-off is an essential part of the overall process. At this meeting, both parties have a chance to get to know each other, see their strengths and weaknesses, check the potential of cooperation and, above all, talk about the project, budget and deadlines.

2. Pre-implementation analysis

The next step, after meeting with the client, is to create a kind of technical summary, i.e. a Pre-implementation analysis document describing the exact design assumptions, i.e. a detailed description of the application (sometimes with preliminary sketches of the application appearance) along with a description of the technology, project duration, model cooperation and final valuation. The pre-implementation analysis document is usually a stage settled with the client separately because it is a kind of technical structure understandable (in the absence of willingness to continue cooperation) for any other software house potentially able to start work on the project.

3. Project start, setup

Then, after creating a pre-implementation analysis and applying appropriate corrections to it, we must obtain the final approval of the client. Often the study document is attached to the framework cooperation agreement in the form of an appendix. After obtaining the final approval, the software house proceeds to start the project. In the case of using Agile Scrum, the project is divided into individual sprints or milestones (usually two weeks). Each sprint ends with a summary, and all individual weeks of a particular sprint are characterized by a weekly demo call in front of the target client (usually on Friday). Agile Scrum is also distinguished by the morning standup (every day) - the moment when each of the programmers sums up what they managed to do the previous day or before the weekend and what they plan to do today.

4. UX, mockups and UI

At the same time as programmers set specific design stages, the creative department has time to prepare the first screens of the application, the so-called mockups. Typically, developers are not able to move on to technical tasks without specific application "screens" created by the UX department. This is due to the fact that they need to have an initial look, preferably a clickable prototype of the application to plan their work and be able to look at the project from above. The process of designing the appearance of the application's usability (UX - User Experience) is the moment when the creative department knows the behavior of users of a specific platform, e.g. iOS, and designs the arrangement of specific buttons in such a way that the use of the application is as simple, intuitive and comfortable as possible. After creating mockups by the UX department, the next process is ‘coloring’ the application, i.e. creating target graphics for the entire application. This is what the UI Designer (User Interface Designer) does. It creates target graphics cut in .psd format for programmers to apply them to the application.

5. Application testing

With each successive sprint handed over to the end customer, the application must undergo manual tests on all devices on which it will work. Typically, companies use banks of test devices or appropriate software available in the cloud - e.g. https://www.browserstack.com/app-live. Testing must be carried out on previously prepared test scenarios. All ‘bugs’ must be properly described (with emphasis on system version, device, resolution, etc.) and uploaded to the project management system so that developers can correct them.

6. Product launch

Finally, after accepting all sprints, creating a complete product, testing it, it is launched in the production environment. In the case of web applications, this is launching the application in ‘production’ by transferring the code from the test environment. In the case of mobile applications, it is placing the application in stores, e.g. AppStore iOS and Google Play in Android.

Summary: the software development process is quite complex, often depending on the size of the application itself. The project team consists of many people with different competences. The whole team has to work together very efficiently, and the key (especially in the era of remote work) is communication. Each team should be responsible for their area and should deliver on time because downtime, e.g. in the delivery of specific application screens, slows down the development department, which in turn extends the time of project completion and may affect client’s dissatisfaction, and even draw appropriate legal consequences such as charging contractual penalty for extending the completion of a specific stage.