- What Ingredients Are in the Software Development Company’s Cookbook?
- Software Skeleton Keys Exist (But Alohomora Doesn’t)
- Scrum isn’t the ultimate answer to everything in life
- You need to feel that you’re in the safe (business) hands
- It’s not just “been there, done that”
What Ingredients Are in the Software Development Company’s Cookbook?
There are three main subjects that I’ll talk about in terms of “approaches” that a software development company should have.
First, there’s technology. Choosing the right tech stack is one of the most significant processes in the early stages of a project. If it’s done correctly, a project will have a chance to succeed. If it’s not, it can lead to very significant delays, additional costs, and, worst case scenario, project failure.
Second, we have project management. Compared to technology, choosing the wrong approach probably won’t jeopardize the project. However, it can easily make an easy project significantly more cumbersome, costly, and time-consuming than it could have been.
And finally, industry experience and expertise. This is perhaps the most tricky part. While I don’t believe there’s a software house that’s good at everything, it’s good to maintain a balance between focusing on a tiny niche and being a lackluster know-it-all. Of course, it’s great to specialize in specific types of projects, but a good software house needs to have a certain level of board business acumen to understand different perspectives and circumstances.
In the following paragraphs, I’ll discuss those three elements in detail.
Software Skeleton Keys Exist (But Alohomora Doesn’t)
I don’t want to go too nerdy with this one, but let’s just say that there are technological solutions that can be successfully utilized in a wide variety of projects. If you look at a yearly Stack Overflow survey, you’ll see a number of frameworks and languages used by most developers. That would be JavaScript and Python for languages, Docker for packaging, or MySQL and PostgreSQL for databases.
Those are our skeleton keys - almost all-purpose solutions that give massive flexibility and can be used for pretty much any project. They’re popular largely due to their versatility, but they have certain limitations. They won’t open every door like the Alohomora spell. And yes, I’m aware that Alohomora can’t do that either, but I’m sure you get my point.
So, in order to find the right combination of tools and technologies for a project, a software house should at least be aware of multiple approaches. It’s probably impossible to be highly proficient at too many of them, but I would say that a base-level understanding of many technologies is a must.
Our tech specialist, Maciej Matuszczak, talks about this subject in his fascinating piece about alternative approaches to data management.
To sum up, a good software company must be able to determine if they have the right group of people to deliver a certain project. And if they don’t, they should be perfectly clear and fair about it.
If you’re interested in what we’re good at, you may check it on our technologies page.
Scrum isn’t the ultimate answer to everything in life
Despite what some people want you to believe, there are other viable project management approaches than scrum.
And don’t get me wrong. Agile methodologies are so popular in the software world for a reason. There’s great value in that process, with its flexibility, constant feedback, engagement from all stakeholders, and more.
However, the tendency to use scrum in every software project, no matter how straightforward it is, makes zero sense. We can’t forget that we should pick the approach based on key project characteristics, such as scope, level of difficulty, or the required team size, not the other way around.
And trust me, there are loads of projects that don’t require an approach as complex as scrum.
Scrum is a relatively complex methodology that gives us answers to several key challenges that we may have in a project. But not every project will have those challenges. Using scrum in such straightforward projects would be like taking an entire toolbox and perhaps a sledgehammer to change a battery in a clock.
Then, it’s fair to say that not every organization might be willing to work in scrum. This approach requires quite a lot of trust, and it’s perfectly fine if a client doesn’t have that trust from the get-go. In that case, it’s completely unreasonable to try to enforce that.
So, good software houses need to look at all the critical project characteristics and circumstances. Then, they should pick the approach. It may sound straightforward, but the answer is always there. But just like with technology, there has to be knowledge about a variety of approaches. Only then can we pick the right one.
You need to feel that you’re in the safe (business) hands
Generally, it’s not the software house’s job to be an expert in the client’s industry. But we would lie if we said that it doesn’t come in handy. And I’m not only talking about a specific sector but something more elusive. A combination of business experience, a certain number of delivered projects, and known solutions.
For example, we’re a team that strongly focuses on energy-related technology. Over the years, we’ve worked with many trailblazing companies in the broad energy industry. But that’s not our only specialty. We have quite a lot of experience in aviation software, finance, and even a few projects for major FMCG corporations. We use combined experience from all those corporations to assist our current clients. Knowledge gained from those other industries is actually a huge advantage for our current projects.
So, while we don’t need to be experts, we have the ability to ask the right questions. We know where to poke around to find bottlenecks, risks, and opportunities. Moreover, we have a well-established discovery phase process, research methods, and experienced workshop meeting coordinators.
Most importantly, over all these years, we’ve had a chance to make a lot of mistakes. And we’ve done our best to learn from those lessons. With all that, we make our clients feel comfortable.
It’s not just “been there, done that”
In the article, I mainly focused on how broad knowledge and experience are crucial in the software development process. That’s how we get those multiple approaches that we can use to put our clients’ projects in the best position to succeed.
But the more we know, the more we realize how different things can be. It’s exactly what Socrates said:
I know that I know nothing.
So, perhaps the most important thing is to actually listen and be able to understand what our client and their project needs. Only then we’ll be able to answer those needs.
So, if you’re looking for a software partner who will really listen to you, arrange a call with us.