Software Development
Process

Keep it simple and
focus on what matters.

- CONFUCIUS

Why Process?

Because possibilities are endless, but resources - limited. We need to use our brains and hearts to discover what matters most about your idea and get excited about it. To be effective, we cut it down into small pieces, and focus on one piece at a time.
What kind of software development process is best?
Creative & Iterative. Find out more

Visla’s 3D Process

STEP BY STEP

Discover

Design

Develop

Discover

1
Idea

Our process starts with learning about your business history and your idea. You need to tell us what excites you about your project, and why it is needed on the market. It really helps if all the team members involved understand what’s unique about your idea and why it works.

Goal: Get excited about the idea

2
Competitive Analysis

Competition makes us all better but how well do you know your competitors? We look at what they do best, what could be improved and how to differentiate your service. We can do this step together, but if you have completed this step by yourself, we will be eager to learn from your findings. This will help us to refine the idea, and prepare our team better.

Goal: Learn from the competition

3
Road Map

Discovery should end with a plan of action for your project. Even if you just need a clearly defined set of functions, it’d be still helpful to know your thoughts on how the project should be executed, identifying the small and big goals.

Goal: List of milestones

Design

1
User Research

Interview your potential users and customers to confirm their needs first-hand. Even quick, but open-minded research can reveal very surprising information.

Goal: Discover what users need

2
Interaction Design

An interaction flow diagram describes what happens in your app. It’s essential to have this kind of diagram before any development is started, to make sure all people involved agree on the scope of the work. Changing the diagram is easy. Changing working software code is harder. Unless your design idea is set in stone, we will continually refine the diagram.

Goals of the interaction design:

  • To make sure we are aligned 100% with your understanding.
  • To provoke thoughts, and have you chance to introduce changes before the design and development process is started.
  • To have things “on paper” which the whole team can easily refer to.

3
Wireframe design

A rough design of how the app looks, but without too much detail or styling. By looking at wireframes you will be able to quickly “see” your app. Changes at this stage are very much encouraged.

4
Prototype and Usability Research

This is where the fun starts. Your users are presented with a click-through prototype and asked to perform various tasks. By gathering their feedback and observing their behaviour, we have a great chance to identify the strengths and weaknesses of the app before any code is written.

We cannot overemphasize how crucial this step is. While being still at a relatively early stage both calendar and budget-wise, we already collect very meaningful feedback on what your users are drawn to and if there are any usability issues or bottlenecks.

Any serious user experience concern recognized at this stage should be seen as success as it means saving future development time.

Goal: To give your users voice before software development is started (you will be surprised the amount of meaningful feedback you get this way)

5
User Interface (UI) Design

One of the essential deliverables of the app design process are the graphical user interface visualisations. At Visla, we take great pride in delivering the user interface to be not only functional but also beautiful.

Our UI design process is detailed and doesn't leave much space for the developer’s imagination. And this is what developers love, as they can focus on what they’re really good at: coding.

6
Style Guides

Software developers receive a set of style guides for all UI elements in the app, so they don't have to improvise on what the author meant. All the while making sure your app looks professional and consistent.

7
Design-to-Development Handoff

To synchronize designers and developers and avoid miscommunication, we use specialized collaboration tools such as Zeplin, where developers can quickly understand the details of the design specifications and guidelines and even generate front-end code-snippets.

Development

The app developments starts once the UX design is ready.

We develop software using the well known Scrum framework, which relies on daily 15-minute meetings (dailies) and bi-weekly planning meetings (sprints). The goal of each sprint planning meeting is to define what’s to be done. The essence of the process is that long-term goals are transformed into short-term, quickly achievable goals. This makes it much easier to control the progress and avoid time vortexes.

The progress of the app development is tracked in project management tools such as Trello, or Asana. They offer fast access to current status of various tasks in a form of a user friendly and lightweight Scrum board.

1
Preferred Tech Stack

We use top modern technologies for web and mobile development. To keep our minds fresh we investigate new frameworks and languages every year.

Yet, as much as we love new things, we also have lot of trust in the good old “if it ain't broke don't fix it” approach. If your current system runs on old-school tools, we won’t be necessarily advocating for turning it upside down just for the sake of being modern. In the end these are all just means to an end, and not objects to worship (although some of us would probably disagree.)

Below you can find our typical tech stack for new projects:

Front-end

Web Apps

Mobile Apps

Back-end
Database
Servers

Cloud

Bare Metal

2
Object-Oriented Programming

We develop code according to object-oriented programming principles. It provides a clear modular structure of the application, and brings its implementation to a higher level of abstraction.

Object-oriented approach requires slight tech design effort, but pays off heavily. Well implemented, object oriented architecture is easier to maintain and faster to develop. It enforces a higher code integrity of the system, and in the longer run lowers the total cost of ownership.

3
Model-View-Controller

We use strict MVC and MVVM design patterns to avoid the risk of ending up with spaghetti code. Data, interface and logic are clearly separated from each other which makes the code easy to maintain and enhance in the future.

4
Source Code

You can always access the code we develop for you in the Git repository. We use version control tools such as Github, Bitbucket or Gitlab. The code is typically separated into few branches such as last stable branch, development branch, and branches for particular features or change requests.

5
Software Deployment / Releases

We automate the process of software release, so whenever an alpha or beta version is committed to the repository it is also automatically deployed on the testing server so your team can see new version immediately.

6
Servers

We deploy the software to a cloud-based infrastructure such as Amazon AWS or Leaseweb. We can also work with any server house of your choice. In case of the corporate world we often work with secure servers behind a VPN.

7
Security

If your project requires heightened security measures, it won’t be news to us. We’ve been working for international airlines and banks, where data security and data sensitivity plays extremely important role.

8
Data back-ups

No need to remember about the back-ups. If you choose to use Amazon AWS services for your server infrastructure, software images of your virtual machines will be automatically snapshot (Amazon EC2) and the database will be backed up on the fly (Amazon RDS).

9
Maintenance & Support

We understand all too well that good customer support is a crucial part of the overall package. In all app development projects we offer a convenient maintenance and support service, where the Visla team is responsible for making sure your app runs seamlessly at all times. In case of any issues our team is available and supportive.

*

Theory and practice are the same in theory, but different in practice.

Please see the above steps as merely an inspiration and certainly not as the absolutely best practice for every single case. It’s good to know the rules, but it’s also good to know when to break them. In all projects, we at Visla aim to approach your projects in a dynamic, open-minded way.

TALK TO ONE OF THE CO-FOUNDERS

Looking for a software team?