How to âbuyââ software development services like a car?
Software development is like a road trip, those things matter â your skill, your ride, and all the other circumstances.
This is a multi-dimensional topic and the points I am mentioning here are just some of the general ones regarding starting and continuing work with a software development company. They are coming from over 6 years of my strict tech product development experience â and of course, are limited to the area I was mainly involved in. However, itâs pretty diversified [the experience] as Iâve worked for different industries, with different responsibilities, and different roles, but always in the middle of the action.
Still, I donât want to give you straight or detailed guidelines on âhow toâ, as it would take a lot of time. I can plan to do it later if you want. My intention here is more anecdotical, and to perhaps open your eyes a little bit on some of the issues in the overall software development deals.
What in my opinions are areas that make software development deals problematic? This is my top 3 issues list:
#2 Lack of knowledge and skill,
It is hard to separate those and to prioritize which one is the most problematic. Those three combined in a bad way and you have all the jokes about how unpredictable and risky software development is. To explain shortly and figuratively what I mean I will use âcar useâ metaphor.
Budget â should be fuel. Knowledge and Skill â is your driving experience and partnerâs experience expertise and maturity. Expectations â are your goals towards the ride, and a realistic approach to risks, limits, and opportunities.
Let say that youâre the driver, car and its systems are the software house partner, and circumstances youâre working in are conditions of the ride that can change any minute.
Now, I can give you a few examples of how is it problematic to reach your goal â to travel from point A to B (the distance youâll make is your product goal).
Bad car, good driving skills, short distanceâ youâre pretty good, you can control the car more or less, some issues along the road are easy to fix without overusing resources.
Bad car, good driving skills, long distance â more demanding from you, definitely more focus you should put along the road and make careful decisions as a use of resources accumulate.
Bad car, bad driving skills, short distance â if youâre lucky and the circumstances are good, youâll somehow get there. Fingers crossed!
Bad car, bad driving skills, long distance â oh, manâŚ there is a very small chance that youâll get anywhere. The good thing is that if youâll survive somehow, you will be enough experienced to become a good driver next time, orâŚ become anxious and depressive.
Good car, good driving skills, short distance â Excellent! Perfect fuel economy, nice road, bumps are hard to feel, and youâll enjoy the ride listening to your favorite music.
Good car, good driving skills, long distance â Still good, even better because it will be like an adventure. However, you have to conserve some stamina and be driven to reach the goal, especially when it is far behind the horizon. Good car with its systems will find the best route, respect resources, even inform you about brakes and pauses to take, and will be like a second home. It is good to have someone to change you behind the wheel from time to time, eventually.
Good car, bad driving skills, short distance â As an inexperienced driver youâre in good hands of a machine. It will help you find good routes, make the ride as pleasant as it can be, and will protect you with safety systems â unless youâll decide to ride over a cliff â donât do that.
Good car, bad driving skills, long distance â Eventually, bad decisions can accumulate bad consequences and you wonât reach the destination even in the best vehicle. Of course, some modern cars wonât allow you to do anything drastically bad or at least will limit the outcome of bad decisions â Iâve heard that Volvo wonât allow you to hurt yourself. ;) However, you will probably learn a lot from the ride itself, and the car will help you forgive some mistakes youâll do at the very beginning. You should become an excellent driver at the end of the road.
To perhaps explain some metaphors: good and bad driving skills are your experience, good or bad car is the partnerâs experience, maturity and work methods, short or long distance is your product maturity goal.
My subjective, and humble suggestions are (sticking to car metaphor):
- it is worth the time to look and research,
- donât trust sales people,
- talk with the mechanics and servicemenâââlet them show you what is under the hood and explain, ask them about details and listen,
- learn at least to the degree youâll understand basic mechanics and servicemen jargon,
- do not trust the glitter, read about it, ask people around, find references,
- take the test drive, challenge it!
- for most of the cases fuel economy is not the most important, donât make it your first prerequisite,
- use your common sense, emotions are a bad advisor,
- be realistic.
I hope that the issues with budget, lack of knowledge and skills, and expectations can be seen here. Software development team definitely wonât do magic for you if you have a limited budget and lack of knowledge. You wonât save your budget if you choose cheap body lease without a knowledge on how to control the development. And even the biggest money wonât buy you expertise unless youâll be learning along the development (and surely even on RFP stage).
Thanks for reading!