It is very difficult to combine the two worlds of business and development. Many times they go their separate ways. Sometimes they are aligned. And in others, they just collide.
I will avoid explaining why software (good) is expensive, but instead, I want to get into how to choose the best formula to align business with development. And for that we will divide it into 3 instances:
- Set the goal
- Align expectations
- Choose the right tools
1) Set the goal
The first, and probably most important, will be to set the goal with our team. The formats of the equipment can vary and so can their sizes, but they can never have different objectives.
From now on, any member of the team must be clear about their goal in order to align each action and decision in order to accomplish it
It cannot happen to us that a designer believes that the objective is to improve their positioning and the developer thinks that actually it is to increase sales, because we will eventually find ourselves with a long way to go in the opposite direction.
Having teams aligned with the primary objective will help us make better decisions throughout the entire project (before, during and after).
2) Align expectations
Once the objective has been set, it is very important to align the expectations of the team with those of the client, since if they are not, the result will never be as expected for more effort. Many times you can misunderstand the same goal.
The most common scenario may be to develop a search engine for our project. When this is raised, and expectations are not aligned, we will have very different interpretations within the team. Some are going to be thinking about the simplest format of a search engine where it only brings results based on a title, others in something more complex that adds other parameters to give better results, and even the client may be thinking of doing something with results similar to those of Google.
It is essential to align the team in terms of the objective and expectations before starting any development. And the customer is part of the team.
3) Choose the right tools
When choosing how we are going to do our development, two questions will arise, which we will have to answer and align:
“How to create an app as cheaply and quickly as possible?” — Client
“What is the best language (from those my team are skilled) to do this project?” — Development.
Let’s start with the first one:
How to create an app as cheaply and quickly as possible?
The role of the customer or Product Owner in this instance is key, mainly to communicate to the rest of the team what stage of your business you intend to satisfy with this development. The development of the project will be considered in very different ways whether it is an MVP, a feature of an existing product, or the first instance of an end product.
Web development tools such as Wix, WordPress or Squarespace can be very useful to quickly and easily launch an MVP in a short time. The development team will probably never recommend these solutions and that is because these are not tools for scaling. These are simply made for a very specific function, that they perform very well, but they have as a consequence their little flexibility when it comes to making something custom that we need. And much more if you are thinking about scaling over that code.
These tools can be very tempting because they are fast and have low costs, but they will hardly help us get to the final product.
On the other hand, if what is needed is to develop an ad hoc product that can scale over time and with different amounts of users, we will need to perform the necessary analysis so that the development is robust and stable.
We will probably use languages on some framework that facilitates the development but we will not depend on other platforms or web builders such as Wix or WordPress.
Other times, the line is very thin and becomes more confusing. If we want to make an MVP in the easiest and fastest way, it would be obvious that the best way is to use a web builder. But what if one of the core features we want to validate involves filming a video with the device? Something that is not possible today with a mobile or PWA website. That is when we are going to have to change technology for something mobile that can solve this.
Many technologies show in their documentation functionalities that are not fully tested or are attached to devices with good processing. The best way to validate this is to look for current developments that have already been implemented to test its operation.
It is not always good to be a pioneer, our focus is the problem we want to solve, not to validate a technology.
What is the best language to do this project?
This question will generate endless discussions in any group of developers. Is one language better than another? This will depend on what we need to develop and our goal.
Facebook developed its platform with PHP, a language that probably few recommend today for the development of a platform of those dimensions. Google developed its social network Google+ with Java. No need to explain how each one did. So, is it really the programming language that will guarantee the success of our development? Definitely not.
Many software engineers are going to present arguments of one language over the other, and they are surely very true. But the theory is probably far from the reality of our team.
If our team is not entirely sure on which path to choose, here are some questions that can help us as triggers:
● Are we going to make an MVP or final product?
● Is it a mobile, web, or both development?
● Are we sure that the technology we are choosing can meet all our needs?
● Does our development team have the skills to implement that technology or will they need to be trained?
● If my team changes in the future, is it easy to get trained people who can give it continuity?
In conclusion, it is essential to take the time to plan before putting your hands on the code. When our team has a clear objective, it makes better decisions and will be able to develop better decisions. And of course, the customer is part of the team.
If you have an idea or are working on a project you could use some help with, feel free to contact us! We’d be happy to help you… or who knows? Maybe be your new partner in crime.
You enjoyed this post and want to read more?