Common Issues Encountered by SMEs with Customized Software Solutions

Key Points

  • Small to medium enterprises often face similar problems with software development after one to two years.
  • Software development typically starts with a single developer or a small team due to budget constraints.
  • Senior positions such as software architects and project managers are rarely involved due to budget, time, and availability constraints.
  • The initial parts of the software are considered complete, but the scope is expanded, leading to additional costs and limitations.
  • The key developer may be under pressure to keep up with expanding deliverables and scope creep, leading to burnout.
  • Hiring junior to mid-level developers to ease the burden can lead to communication, management, and operations overheads.
  • The ongoing and increasing use of software leads to a large list of operations tasks that can become neglected.
  • Roles like SysOps, DevOps, SecOps, and Cloud Solutions Architects are key to ongoing software development but are typically not available on a part-time or freelance basis.
  • These key positions with redundancies are required to fill the needs of a growing company, regardless of development workload or project size.

In-depth Analysis

Based on our experience working with small to medium enterprises to build custom software, we have noticed that they all face similar problems after one to two years. Usually, the software starts with a single developer or a small team, who may have mid to senior-level experience and worked alone on smaller projects due to budget constraints. While this developer can quickly deliver the initial needs of the client, experienced software architects and project managers are rarely involved due to budget, time, and availability constraints.

Starting this way is not necessarily bad as it enables rapid prototyping for a minimum viable product, but it can lead to problems later on. Once the initial parts of the software are considered complete, the scope is expanded to include more features and increased usage of the existing software and services. All of this is usually planned around deliverables or milestones, making it seem like there is some kind of “complete” state in the development process. However, the client is often unaware of the ongoing costs required to maintain the software and the general limitations of the software created within the budget. These costs are rarely discussed and included in the initial budgeting, and the key developer may not know or understand the limitations and future requirements or communicate them effectively to their management or the client.

The key developer may be under pressure to keep up with the ever-expanding deliverables and scope creep, potentially leading to burnout. Senior positions such as senior software architects and cloud architects are not immediately available within the organizations, and the key developer is expected to know the solutions to problems they’ve never faced. Hiring junior to mid-level developers to ease the burden often has the opposite effect, increasing the burden and creating communication, management, and operations overheads. These are often added to the key developer’s plate as they struggle to keep up with onboarding new developers and meeting clients’ deliverable expectations.

The ongoing and increasing use of the software has already created a large list of operations tasks that the key developer had been doing up until this point. As they try to keep up, things start to become neglected, ignored, or forgotten, leaving the software in a fragile state. Unfortunately, this situation is all too common in software development and is a big problem causing growing pains in small to medium businesses that can’t afford the expert knowledge and experience required to fill the necessary positions.

Roles like SysOps, DevOps, SecOps, and Cloud Solutions Architects are knowledge and experience-based roles, so if they are not already part of the client’s or provider’s company, they are not typically available on a part-time or freelance basis. They are nonetheless key to the ongoing software development process, especially with maturing services. To fill the needs of a growing company, these key positions with redundancies are required regardless of the development workload or size of the project.


Headquarters

Sofia, Bulgaria

team[at]topvine.co

Contact Us