My name is Kevin Linders and this week I will be writing the blog for Apollo. I am a Scrum Guardian (our spin on the Scrum Master) at Apollo journey. In my past I’ve worked as a part time assistant supermarket manager and the way I was able to motivate my fellow colleagues to achieve the best result at the end of the day felt very good. That is why when I finished my education for game designer I wanted to do something with this skill. As a scrum guardian my job is to motive the team, keep a sharp vision on the goal of the sprint and removing any impediments we encounter on the go. Achieving the best in my colleagues allows me to achieve the best in myself. I will be talking about the difference between creating a custom-made application vs a generic application for a client.
Custom-made application versus Generic applications.
When creating an application for the industry there is always this balance between creating a custom-made application versus trying to create a generic application. While both have their advantages and disadvantages there is always one of the two that suits the project best, however finding this approach in creating the application is always a big challenge. It is the priority of the manager and sometimes of the creator of these applications to balance the short term needs versus the long-term growth of the company and the application together with the client. Before exploring the differences between a custom-made application and a generic application it is wise to first determine what these two types of applications are.
A custom-made application is an application that is created specifically for one client or purpose. For such an application the wishes and challenges that the client needs to solve are the top priority. The entire application focuses on the challenges of the costumer and how to accurately solve these challenges. This makes applying a generic application for this challenge difficult, as this projects often includes confidential information or a software used by a client.
A generic application is an application that is created to be applied to a much wider selection of clients, while not trying to focus on a specific client and the needs of this client. This method focuses on creating an application that can be used by many different clients at the same time and is easy to scale. The application needs to have an easy setup when a new client wants to use it, making it easy to adapt for new clients. Due to the larger client base it is necessary to check whether potential new functionalities match the large client base before they are developed. This is done to check if the functionality can be used on a larger scale, otherwise it might be possible that a specific functionality only suits one client.
During the creation of the application there are two moments at which you can decide to either go for the creation of a custom-made application or a generic application. This can be done during the initial design phase of the application, where the concept creator discusses with the client what the client would like to create or early during the development. In the early development stages there is often this tipping point, most applications start off as a custom-made application. This is because a client visits with a wish and the development team starts to fulfill this wish. During this development stage the application will be growing due to new features that are being added. At some point the application will reach a certain state: it will go live, be delivered to the client or some basic functionality will be done. This is the point where the discussion starts between the developers and the client. During this discussion certain topics will be discussed:
- Is the client keeping exclusive rights on the application?
- Could the application be used for other companies as well, and is there a big enough market for the application?
- Are we (or another company) willing to pay the investment of transforming it into a generic application that appeals to a broader market?
- Can we provide the support for a scaling off the shelf application?
- How do we split the revenue of the product?
These topics determine how the application will be shaped in the next phases. Does the development continue as is, or will the application be transformed into something that can be used at a greater scale? this includes the scaling of support and infrastructure like servers and development members. It is wise to have this discussion at the pilot stages to have a clear vision for the product in the future. While creating a generic application together with an initial client can be a very good start, it often involves a financial investment from both companies (the client and the developer) making it a joint venture.
Pros and Cons:
There are a lot of pros and cons to both types of applications, finding the right balance and vision for the product can help to focus the development team.
Pros of creating a custom-made application
- Create the bare minimum and add new functionality with the costumer on the go
- Changes can be made quickly
- Can be tailored to the exact business needs and processes.
Cons of creating a custom-made application
- Due to the creation of very specific custom features the product might not be scalable on the long run
- The continuation of development cycles are dependent on the budget of one investor
- New developers need some time to “learn” the client and processes before joining the dev team.
Custom made applications are dedicated to a client. They provide input regarding the development cycles and the features that will be developed. Development is dependent on funding from the client and this can be a risk when you want continuous development. When you can find a client that works nicely together and has a budget you can scale this application on the go with the client developing to their every need.
Pros of creating a generic application
- Can contain many unique features that not every costumer will use
- New upgrades can be released free of charge
- Possibility for a new business model
- Easier to onboard new clients due to lower barrier of entry.
Cons of creating a generic application
- Slower to adapt to industry needs.
- Feature requests must be checked against the large customer base.
- May not solve the challenge completely for every client, it will however get very close.
- Initial financial investment at the early stage of development.
Generic applications allow companies to easily enjoy the functionalities provided. When you use this as a software as a service solution you can create monthly income, being less dependent on the funding of a single client. On the downside you need to balance every feature request against the userbase to test if enough users will use this. This makes it possible that the application will not completely solve the challenge the client is experiencing.
In conclusion, when creating software, it is important to check if the application being created is for a specific costumer, or if it might suit more costumers at the same time. Both have their Pros and Cons and suit a specific need. When trying to build a business it is important to make the right decisions in the creation of applications. Creating custom-made applications versus creating generic applications. This discussion can be done in the pilot development stage of the application or during the concept creation. Having it early in development allows for a clear vision of the product, focus for the development team, and to make sure that funding will be covered to allow the product to grow and scale where needed.