Aspiration and Advisory

View Original

Technical Issues Of Startups

Every developer who has ever participated in a startup knows that this is a challenge. Business, marketing, and technical specialists have to work together to achieve a goal and become a successful company. The following article describes several common technical issues that developers have to avoid at any cost.

Misunderstanding Of Requirements

Issue: Many technical specialists do not have a business background so they may not fully understand what exactly the business team needs to have. As a result, an application may not fulfill its function and customers can not do what they have to.

Solution: Check all the questions with the business team as soon as possible. Document all the discussed topics and share this information with the team, so everybody has the same understanding of the requirements.

Wrong Priorities

Issue: The technical team may be concentrated on doing all the features properly to match all the requirements. It may be relevant in some cases, but usually an application has only a few critical features that have to be fully implemented and tested, while others may have only the very basic functionality. As a result, an application may completely miss some basic features.

Solution: Need to set the priority of all the features (e.g. using MoSCoW method) and minimum required functionality (called MVP) that customers may need. As a result, this minimum functionality has to be implemented first and less important features can be done later. This way application will have all the required features from the beginning.

Overcomplication

Issue: Most developers think that the more functions and code an application has the better. The first issue of such an approach is extra time needed to implement that. The second issue is the extra time needed to support these functions and code.

Solution: It is usually more beneficial to keep both technical and functional sides as simple as possible, especially at the early stages. Use KISS and YAGNI principles to keep code base small, so it will easier to adjust it in the future.

Early Refactoring

Issue: Taking into account that startups need lots of modifications done fast the code base may become a mess very quickly. As a result, developers may want to start refactoring to fix this mess and use better approaches in the future.

Solution: The first recommendation — write code properly from the beginning and avoid dirty hacks. This way code is going to be relatively easy to work on and support. The second recommendation — do not start big refactoring until the startup becomes successful and is going to pay off. Otherwise, this refactoring may slow down or even stop the project.

These are not all the issues technical specialists may face in the startups. However, knowing and preventing them is essential for a smooth start, and so your company will have a chance to become successful. You have to keep things running and be ready to fix all the possible issues!