Types of projects we do
You have an established business, you have revenue, profitability and a set way of doing things that works to get you the results you need. But generally, at this time is when the lack of tools *specific* to YOUR process begins to show. Maybe you're using a commercial app, but you're struggling a bit by making a lot of manual exceptions, maybe you are using several disconnected apps to get the full process you need, or maybe there simply does not exists a commercial app that solves your problem. We're here to help. We can and will produce for you a solution that fits precisely with your organization's needs.
When talking about business software, we generally focus on web-based apps for internal use, like management dashboards, analysis systems, database access and control and reporting tools. We are also capable of delivering you accompanying mobile versions, both native and web based, but in any case, it is worthwhile first to survey the landscape of existing solutions, before plunging into building something new, and we always do that as the first step after having clear requirements.
- + Node based development.
- + HTML5 Bootstrap based interfaces.
- + Firebase apps.
- + MySQL, PostgreSQL.
- + iOS, Android.
- + Ubuntu Cloud VPS.
- + CoreUI.
- + Web based reporting tools.
- + Database centric apps.
+ Document management mechanisms.
- + Operational processes, with assigned roles.
- + Mobile apps for in-the-field personnel.
- + AWS, GCP and IBM Cloud.
- + Low code platforms: Bubble, Retool, Caspio.
Software Requirements Specification (SRS)
By the time you reach us with the idea to engage our services to solve a technological problem, or achieve a certain outcome with software, you will, of course, already know fairly well the issues you're dealing with, but in order for us to actually translate those needs into a functional app, there's an extra, formal step to take: defining the "requirements".
Over the decades, there have been many approaches taken by the industry to produce a clear set of functional, achievable, clear and measurable objectives for a software project, like "use cases" and "user stories", but regardless of the methodology, this is a very important step, which if we fail to execute correctly, might endanger your whole project.
In particular, it's very important that we make sure we're addressing real needs, or automating an already proven manual process. Often, businesses have inaccuracies or inefficiencies in their operation design, accrued over years of changing conditions, personnel, or unsuitable tools, and a new software project affords the opportunity to correct course where needed.
Another important aspect, is that the resulting document, called the SRS, is the basis for the work contract with us: it contains what we are supposed to deliver you, with sufficient level of detail.
Check for existing solutions
Once we have clarity on what your exact needs are, the next step is to check for existing commercial and open source solutions that may solve the problem without the need to do any custom development, or if those aren't suitable,
the ones that allow for the least amount possible of custom work. We're in the business of solving problems as directly as possible, not in the business of making unnecesary complex solutions; hence, if we can find something ready-made that solves your needs, we'll recommend it first.
The incremental approach
In short, this means to break up a large goal into sub-component goals, meaningful objectives by themselves, that can be completed with less effort and allow us a pause to assess the current situation before proceeding further. Like chapters of a book, each stage should convey a sense of completion by itself, even if it is part of a larger story.
In particular, we want to avoid the trap of building too much, without properly vetting it by real-life use. Often, there's a disparity between what we humans think it's best, and what reality shows us, so the strategy here is to take smaller steps and immediately send the results for real world validation, thus correcting course as needed with the findings.
To be clear, this is not about building independent parts of the overall solution, but rather, building complete mini-solutions while heading to the final goal.
The rollout phase
So for each one of our previously achieved development stages, we will consider, depending on the app, the client, the users and the overall strategic situation, to get the app into the hands of its real, final users. The important thing here, is that even if we are 100% confident on the quality and suitability of the job we'd done together with the client, we still need an incremental approach to rollout.
The rationale behind this is to limit our risk exposure by avoiding the possiblity of letting an undetected problem pass, and reach 100% of our users, which will then be affected by whatever it is. So instead of assuming us to be fool-proof, we'll instead assume that there will be issues, and we'll let into the app only a handful of users at first, then carefully observe and monitor the situation, before allowing a larger number of users in, and so on.
You should know that all of our development work comes with a 3 month warranty against programming defects, that they will get corrected at no extra cost, once reported. A "defect" is a deviation from the functionality stated in the SRS or a badly performing one, technically speaking. For example, "The app will return the number of customers active within the year specified in the search field" but in actuality, you discover, after 1 month, that the search in question returns ALL customers, regardless of the year that they were active. So, this is a "programming defect" and you can report it for correction.
The warranty DOES NOT cover changes in external circumstances, new business goals on the part of the client, or issues outside of our control. For all of those cases, as well as the situation when a problem is discovered after a lot of time has passed, we will remain available to assist you by any of our support options available at the time.
For now, the important take away for you, as our client, is that we'll remain committed to deliver you working solutions, and we'll stay reachable afterwards to help you with whatever new developments might arise in the future.
Evaluate, to plan for next steps
We firmly believe that the path to success is one of continuous improvement, and in that sense, what worked yesterday, might not be the best fit for tomorrow, therefore, actionable knowledge is critical to future performance.
Once we're satisfied with our current results, it'll be time to think about implementing monitoring strategies to track key metrics related to the original goals of the project. In this way, we will be better able to advice you on the path to take with a follow-up, or even a completely new project; either way, supported by evidence as much as possible, instead of only intuition.
Focus on key metrics
There are many things to track, but the idea here is to engage resources to track first the things that are likely to have the biggest impact on our goals.
We will assist you not only in obtaining relevant numbers but in deriving well thought and evidence-based, documented conclusions from them, to enable proper and justified future decisions.