How we work

From idea to working software

A software project doesn't have to start out complicated. Maybe you already know exactly what you want built, or maybe this is the first time you're working with custom software. Either way, we start the same way: with an introductory meeting.

You don't need a technical plan up front, and you don't need to know exactly which features are required. Together we first map out the problem, the goal and the most important needs. From there, I work step by step towards a solution that fits your project, organisation and budget. Throughout the whole process you know where we stand, which choices need to be made and what the next step is.

Step 01

Getting to know you and understanding your question

We start with a no-obligation introductory conversation. We introduce ourselves and you tell me more about your project, research or organisation. At first this isn't about technology, but mostly about what you want to achieve. For example, you might want participants to collect data through an app, digitise an existing process, or have an idea for which no suitable digital solution exists yet.

I ask questions to understand the issue well and think along with you right away about possible solutions. We discuss in broad terms which parts are likely needed, what the options are, and whether there are things we need to take into account. By the end of this conversation we usually have a clear picture of where the software needs to go. You don't have to decide anything definitively yet.

Go to the next step
Step 02

From needs to a concrete plan

After the introduction, I work the discussed needs out into a plan of approach. In it I describe what we're going to build and which features are needed for that. For some projects this is immediately clear. For others there are several options and we still need to make a number of choices together.

You receive the plan so you can read through it at your own pace. Then we schedule a conversation to answer questions and discuss any additions.

Together we also determine which features are truly essential and which are mainly desirable. For this we use the MoSCoW method: we distinguish between what is absolutely necessary, what is important, and what could be developed later. This keeps a project from becoming unnecessarily large and keeps the focus on what really adds value.

Go to the next step
Step 03

Clear agreements and a fitting quote

Once the plan is complete, you receive the final version. Only when you agree with it do I prepare the quote for development. That way you know in advance what you're paying for and what will be built within the project.

Does the quote not quite fit within the available budget? Then we look together at where we can adjust. Because we already determined earlier which parts are most important, we can specifically adjust, postpone or leave out features. This way we try to spend the available time and budget mainly on the parts that add the most value for your project.

In this phase we also discuss up front what happens with the software after development. Think of hosting, technical maintenance and management, for example. You don't have to make a choice about that at this point. If you'd like CodeSprinter to handle this after delivery, you receive a separate quote for it.

Go to the next step
Step 04

Building, reviewing and testing

Once the quote is agreed, development begins. You then don't have to wait months before you see anything of the software. I prefer to work in steps and regularly show what has been built so far.

As soon as it's possible, I put the software in a protected test environment. We call this the staging environment. There you can log in yourself and try out the first features, while I continue working on the rest of the project.

During development we hold demos in which I show what has changed and in which we discuss feedback. By using the software early on, we quickly discover whether everything works in practice as intended. Small adjustments and ambiguities can therefore be resolved during development, instead of only at the very end.

Go to the next step
Step 05

Ready for use

When all agreed features have been developed and tested, we get the software ready for use. We go over the final details and set up the production environment: the environment where the software is ultimately actually used. What's needed for that differs per project. Think of user accounts, a domain name, connections with other systems, preparing data, or instructions for users.

Because you've already worked with the software regularly during development, at this point you already know the system well. The eventual go-live is therefore not an unexpectedly big moment, but mainly the step from testing to actually using it.

Go to the next step
Step 06

After go-live

A software project doesn't have to stop the moment the application is online. If you use my managed services, CodeSprinter can also handle the hosting, technical management and maintenance. I keep an eye on the environment, carry out technical maintenance and make sure the software can keep running.

The software can also be expanded later. New ideas often only arise after an application is actually in use. A study can change, an organisation can grow, or users can have new needs. That's why we can also keep developing the software after the first delivery whenever there's a need for it.

Yassine El Fahmi working behind his laptop
Your knowledge, my technical translation
Finally

You don't need to know the technical process yourself

Custom software involves many technical choices, but you don't have to be able to make all of them yourself. My role is not only to build the software, but also to guide you through the process. I explain what the choices are, what their consequences are, and what I would advise in your situation.

You bring the knowledge about your research, organisation or project. I take care of translating that into software that works in practice.

Schedule an introduction