Contents

The system development process at SoftwareMill. Part 1: First contact & project scoping

Imagine a situation where you want to master some skill, let’s take playing the guitar as an example. No matter if you’ve never played the guitar before or you already have but are not happy with the results, the best idea (if learning by yourself didn’t work) is to find some pro who will help you out. You’re doing research, checking those people’s levels of expertise, reading happy former clients’ reviews, and, finally, deciding to reach out to the one that looks most promising.

From day one, you feel an instant vibe with that person. They are dedicated to you, give you advice on which guitar to choose, identify reasons why you didn’t succeed the previous time, adjust the level of the lessons to your experience, and are always there to answer your questions. They will introduce you to other experts who will join your music band focused on one goal: to give an awesome concert together. And when you’ve succeeded, this person will cheer you up from the front row.

And that’s what it feels like to engage in the systems development process with us!

Why is understanding the software development process so important to your project success?

Picking up the right team to develop your custom software is not an easy thing to do. Even though there are over 20k (!!!) software houses listed now on Clutch.co, not all of them will give you exactly what you want. Do names like Vine or Yik Yak ring a bell to you? Probably yes, as we’ve all witnessed their spectacular rise… and fall. These are just a few examples from over 120 that Failory, a Startup Cemetery, investigated deeply to answer the question: What do you need to do to avoid becoming one of the 90% of businesses that fail? As it turns out, most of the really important work starts at the project’s very early stage. And choosing the right partner is definitely one of the most significant decisions you’ll have to make at the very beginning.

In my opinion, there are two major factors you should take into consideration when choosing with whom you should start your system development process:

  • Their level of technological expertise & the quality of their software engineers (we are a consulting partner of Lightbend, Confluent and Datastax, run the biggest Scala newsletter in the world, and we are among the top 5% of all companies screened by Digital Knights - so I guess it covers the matter of being a real pro in our field),
  • How much they care about you and your project success, building excellent client relationships, providing consulting, and general guidance, also making sure that the company know-how is transferred to the client’s team.

The systems development process starts long before the developer writes the first line of code in your project. If you want your software project to succeed, don’t ever underestimate the project scoping part! So what are the steps involved in the initial part of system development process at SoftwareMill? It all starts with getting in touch.

Step 1 - Contacting our team

There are a few ways you can reach out to us. The easiest one is to fill up our contact form or drop us an e-mail at hello@softwaremill.com. In your first message to us, it’s best if you include the following info:

  • Your company website (if you have one),
  • Your name and surname,
  • Who you are professionally, what your area of expertise is,
  • What your company does, where you’re located, and in which time zone,
  • What kind of challenges you’re facing and need our help to solve them,
  • What your tech stack is( just some basic information) - our area of expertise includes Java,Scala, and other visible below.

SoftwareMill’s team areas of expertise

IMPORTANT: Don’t get a false impression that we demand some kind of essay from your side! Usually, our clients present the info suggested above in 2 - 3 sentences e-mails, so anything like that will be fine. We will ask about anything more if we need it later on.

It would also be nice if you have a one-pager with functionalities you want to develop in your project. Nevertheless, if you don’t have all the answers prepared right away, don’t worry! They just aim to make the whole system development life cycle kick-off faster, but if you have any doubts about what kind of solution will work best in your case, we’ll be happy to clarify them together. Also don’t worry about the language — write as you speak, on the other side, there is a human too (we don’t use any bots for automatic replies) who simply wants to know you and your project better.

Speaking about “the other side”, there is one interesting thing you should be aware of. As a company that cares deeply about transparency and self-organized team structure, we keep all of our inquiries open to the whole team. This means that everyone at SoftwareMill can read them, including developers. Thanks to that approach, we can assure you that you will receive a response from us within 24 hours (besides weekends & holidays).

Sometimes developers get so excited about a project that they give an extra “push” to our Business Development team — that way you can be sure that you will get the level of client care you truly deserve!

Step 2 - Engaging with our Business Development representative

Remember when I said that we don’t use bots and every message you’ll get from us comes from a real human being? We took that further! Not only will you get an answer from our team member but if everything goes well, this person will become your guide throughout the whole system development process. No switching, passing over, explaining your software idea & company setup (your challenges and goals) to new Business Development representatives over and over - everything to maximize the whole system development process efficiency.

Get this, we are a very open company, so I can disclose that to you: this approach also ensures your system development process is of the highest quality because… none of our Business Development representatives wants to be stuck with a project that was badly launched by us in the first place. Our typical system development project last 3 - 5 years, with clients often coming back to develop their app after a break or build something entirely new. So we want to make sure that we understand each other well from the very beginning!

For example, we started one of our Blockchain projects (a Cryptocurrency Trading Platform) with 2 people on board. Yet after a while, thanks to a mutual trust we’ve built with our client and the excellent work of our developers, we expanded our team to 17 (!!!) people. With another of our clients, IntelliSMS, we’ve been working on and off for 11 years already! So as you see, we’re here for the long game.

Ok, now you know who has access to your inquiry - but who will actually respond to your message? Expect to be approached by Małgorzata,Marcin or Jan. They are all highly experienced in business & technology consulting so you can be sure that they will take good care of you and your project!

SoftwareMill’s Business Development Team

No matter who it will eventually be, in their first message to you, expect an invitation to a call. They will of course send you all of the materials (presentations, NDA, client reviews, etc.) if needed, so don’t be afraid to ask for them.

Step 3 - Initial strategy meeting

After setting up the best time for a call, it’s time to talk for the first time! This call’s goal is to discuss mostly business stuff, so it’s best to stick to the topics from this area and leave the technicalities for later. I also recommend you check our FAQ section before as some additional questions might pop up in your head.

What do we discuss on this call? First of all, we want to deeply understand your project’s needs - what challenges you’re currently facing, what goals you want to achieve and what you expect to receive from our side. Then, we will move to more “down to earth” matters like the project’s budget (we work in time & materials model), our developers’ availability (how many people we can dedicate to your project at a given time), when we can kick off the development process, etc.

If you are a highly technical person and want to get straight to the development stuff at the very first meeting (we don’t recommend that approach but can adjust to your needs, as we always do ;) ) let us know so we’re all set to meet your expectations. If you wish, we can also meet in person, preferably in Warsaw, but we can also determine that together.

Our Business Development Team + Marketing Coordinator Maria attending SODA offline conference in Łódź

Treat that first call with us as an opportunity to get to know us better — checking our communication skills, cultural fit,creativity, and whatever else you like! Be sure that we’ll evaluate that as well as we strongly believe that we want to match with companies & projects that working for years will be a truly exciting experience!

Step 4 - First technical meeting with our developers

This is a very important part of your software development cycle. At this point, our Business Development team should have enough information about your project to start looking for the best people to make it happen! Even though we keep a self-organizing team structure inside SoftwareMill, each of our clients’ projects has got its own Team Leader.

To find the most suitable candidate who will assess your software development project and probably become your project Team Leader (but it’s not something set in stone, depending on our developers’ availability), we check our teammates’ previous experience, the feedback that they got from their teammates/previous clients, and technological compatibility.

When we find the perfect candidate to dive deeper into your project technological requirements, we’ll schedule a second call with you. This is the stage when you should also invite someone technical from your team if you already have such a person on board.

Based on all of the info gathered to this point, we develop an official proposal. It will include the scope of our work, needed resources, and the price presented in the Man Day formula (how much each day that our devs spend on your project will cost).

In the case of Machine Learning and Blockchain projects, the whole process looks a little bit different. Besides the technical call, we’ll invite you to join our workshops. This service of ours is dedicated to both non-technical and technical clients who need additional guidance in ML and Blockchain topics because of those areas’ complexity.

We've recently released our own Hyperledger Fabric Open Source tool called Fablo - see the video about it here!

The workshops themselves take around 2 - 4 days in both Blockchain and Machine Learning. They’re focused on determining the project scope, challenges that we might face along the way, potential user personas, and responsibilities that each person engaged in the project will have. We also verify the idea itself: whether it will bring the desired result and/or if there’s enough data to proceed further (maybe there is a need to work on it a little bit).

As a result of these workshops, the client receives an estimation of their Proof of Concept service and more info about how we’ll approach their project when we’d launch it (goals, solutions, team structure etc.). Our Private Blockchain workshops + Proof of Concept takes around 4 weeks and the PoC dedicated to Machine Learning can take up to 3 months.

If after this technical meeting (meetings in the case of ML and Blockchain) we’ll move to the next steps, feel extraordinary! It means that we really believe in your idea and our highly skilled (and demanding ;) ) developers saw something in your project that got them excited!

Step 5 - Building your project development team

It’s time to build a dream team for your project! We’re starting with finding the Team Leader — if the person that you’ve spoken to at the technical meeting is currently available, that sorts out this matter. If not, we’re looking for someone with similar experience and skills to match your project requirements. Then we speak individually with each person that we believe would be a nice addition to the team. Our developers get to decide whether they want to join your project or not — that way we ensure that through the whole time when they’re engaged in the project, they are truly committed to their tasks, as they’ve chosen the project themselves.

How does that commitment show? They will treat your project as their own, asking about any possible scenarios, edge cases, and looking for solutions to any challenges that might come up along the way. They do that because they truly believe that tech can change the world! Recently, one of our projects was distinguished by NoFluff Jobs, one of the biggest IT job boards in Poland. They’ve launched an IT heroes campaign (Polish only), where they’ve presented examples of software that truly make a difference and introduced programmers behind them. Our team members built a platform for secure and contactless clothing sales, making it easy for millions of users to exchange unwanted clothes and shop wisely during the pandemic. For some of the people running traditional brick-and-mortar stores, the app became a lifesaver, letting them make a living by selling their clothes online.

IT heroes campaign photos

Our goal is to take full responsibility for the teams we’re building. If you choose to start the system development life cycle with us, you won’t have to worry about anything else than the business side of your project. We will tell who you need inside your team to build software of exceptional quality - for example, a DevOps, QA, or else. We can also offer you consulting on topics such as Kafka, Event Storming) and more - all adjusted to your needs. In case of any possible team structure changes - we’ll take that on us as well! Here’s an example of how we do it: if any developer decides that they want to change the project, they introduce the new member to their tasks and explain everything by themselves. As our client, you don’t have to worry about stuff like that at all!

When building the right team, we also make sure that the client’s and developers’ goals are the same. If your top priority right now is to make your product go live as fast as possible, let us know and we’ll adjust our ways to that. If you’re more focused on building something highly polished and it’s more important to you than the release date — that’s something valuable to know for our devs as well. Of course, we’ll take care of every aspect of your system development process, but this kind of info might be precious when some difficult decisions will have to be made (and that can happen in every custom system development life cycle). Our main goal is to make you earn money on your software as fast as it’s possible! That way, we can maintain long-term cooperation, as you already have funds for your software further development - and that’s the type of project that we like the most.

Step 6 - The project kick-off

Congratulations, you have made it! Now it’s time to collect the fruits of your work and engagement. We’ll invite you to a dedicated Slack channel (or any other tool you prefer — just let us know!) where you’ll observe your project becoming reality. If you have any questions at any point, feel free to ask our devs directly there (they are your first point of contact now) or reach out to your dedicated Business Development representative. Through our whole cooperation, don’t hesitate to share your feedback with us in any form you like! Feel free to even attend our dev team retrospective meetings and share your thoughts there if that’s what you prefer. We’ll keep our work on your project fully transparent to make sure that nothing misses your attention!

In terms of methodology, our self-organized systems development teams usually use Scrum (but if you prefer other methodology, for example, Waterfall - we’ll adjust to your needs!)— you can read a little bit about it here. Or just wait a little bit longer, as I’m planning to write Part 2 of this article where I’ll focus on the whole systems development life cycle at SoftwareMill, starting from the project kick-off to your app’s release. So stay tuned and if you want to make sure that it won’t miss your attention, sign up for our Newsletter here.

Also read: How to run a successful remote software development project

Key Takeaways: What distinguishes our System Development life cycle from others?

To sum up and leave you with the most important advantages of our business project life cycle, here is the list you can share further:

1. We treat each project individually

Every project needs to be treated differently — the “build me the same app as you did for XYZ” or “make me a second Twitter” approach just doesn’t do the trick. That’s why we dedicate so much time at the beginning of our system development life cycle to gathering as much info about YOU and YOUR idea as possible.

Our company retreat group photo. You can find out more about who might be working on your project by visiting our Meet the Team page!

2. We don’t favor anyone

No matter if you are a big, scale-up or medium company, you will get excellent customer service as everyone else! What’s more important to us than your business size, the industry you’re operating in, etc, is your idea’s potential. We know that every software development project starts small before it becomes huge. And we don’t want to miss the opportunity to become part of one like that!

3. We care about our projects ethic

Thanks to years of consistency, answering our clients’ needs, and operating according to our values, we’ve come to a point where we can choose projects we want to engage in. And number one priority for us when we do so is answering the question: are we really excited about starting this project and believe it serves the right purpose?

The project’s ethic side is very important to us, so we’re giving a “no” to projects from areas such as gambling, pornography, etc. And from the other side of the spectrum: we often engage in projects from the healthcare sector, even though we might not earn that much money on them. Making the world a better place is more important for us than money, that’s for sure.

4. We are trusting & transparent

Let me give just one example that’ll show you our level of transparency: when we hand you our developers’ CVs so you can check their qualifications before they join your project, we’ll leave their personal info open. Trusting in other people’s good intentions runs in our company’s blood — we keep all of our finances open to our team members, making all major decisions together, and don’t install any spy software despite the fact that everyone works remotely. Expect the same attitude from day one when it comes to you: we’ll trust you and, hopefully, you’ll trust us back ;)

5. We put your project’s success first

What’s special about us is that if we decide that we’re not the best people for the job, we’ll simply… tell you. What does it mean? We’re Java & Scala experts (having also many talented Frontend and DevOps rockstars onboard) specializing in projects that can get the most from these specific programming languages. The ideal projects for them are the ones that have to gather and process lots of data, need to be able to scale easily and fast, and, at the same time, remain really stable.

Java and Scala might not be the best choice when you’re thinking about startups. But only MIGHT — our whole system development life cycle is designed in a way to give you a clear message whether we’ll be able to fulfill your expectations. Maybe it’s just not the right time to work with us and you should get back to us in the future when your project becomes bigger? There are a lot of “maybe” and “might” here, so it’s best if you just contact us and we’ll tell you whether we’ll make your app live or not. Because ultimately, that’s both your and our goal to create software that reaches its users and doesn’t get stuck in the system development limbo ;)

6. We don’t force anything in terms of sale

Our Business Development team is not a typical one. They don’t have targets, quarterly goals, etc. that they need to meet to earn their money. Their number one goal is to make and keep our clients satisfied. And they do that by building strong relationships among the project team members, taking care of mutual understanding & trust, and simply… making everyone happy! You can speak with them directly about anything project-related you like and you can be sure that they will dedicate as much of their time as it’s needed to answer your question or dispel any of your doubts.

SoftwareMill’s happy clients’ Clutch reviews

Conclusion

As you see, through over 12 years of our market existence, we’ve developed a system development life cycle that serves well both of the project’s parties. Our clients often come back to us as they’re so happy with our work and our engineers stay with us for years knowing that they won’t end up working on a project they aren’t excited about. In such a win-win situation, it’s simply the best to build high-quality software that fulfills our clients’ business goals!

Do you want to find out by yourself if the reality is as great as I described above? Fill up our form below 👇 and let us take technical ownership of your software idea!

Blog Comments powered by Disqus.