Agile development · Cofounder

Did software development ever jeopardize your startup?

David Bieder Software Delivery Performance Expert, Coach & Trainer

November 19th, 2019

I specialise in Software Delivery Performance and regularly observe individual developers and teams losing focus and implementing things that do not matter for another couple of months or so. It seems senior engineers struggle most with focus and being "lean".


To give you an example:


Recently, I worked with a client and supported a team of five with web app development. It took the team three weeks to implement the initial backend to a level that it allowed the web app to store the first and last name into a database.


I tried to figure out why it took three weeks to just store the user's name and learned that the developers spend a significant amount of time struggling with setting up a security feature (cookie based single sign-on). The feature was deep down in the backlog and not required for another two months.


As founders, when starting off, have you ever hired developers or worked with a technical co-founder or outsourced development and got the feeling that things take longer or cost more than they should be?


I am curious to learn about your experiences during the initial months of your software product development.

Aleksandra Czajka Freelance Senior Software Engineer, Developer, Web Developer, Programmer - Full Stack

Last updated on November 24th, 2019

David,


That's a fantastic question.


As a Freelance Senior Software Developer I can tell you that the best scenario for start-ups is to hire developers that have experience in start-ups and understand that whatever optimization or feature that is not 100% integral to the benefit of the business should not be worked on. The problem is the difference of focus of the discipline of Computer Science vs the focus of Business. The former aims to build the most efficient technology for the sake of the science. The later aims to build the best product for the sake of the business. Because of this difference, developers that have not closely worked with start-up owners will not understand that something doesn't need to be optimized to a T unless it benefits the business.


Where technology meets business, technology should only be developed to the benefit of the business and anything else is inconsequential. Senior developers that have spent their entire career working for bigger companies, working far from the understanding of the needs of the business have no knowledge of this.


My best advice is to hire developers/companies that have experience in lean methodologies and are 100% focused on the benefit to your business. I actually write about this in one of my blog articles http://thecodebug.com/where-business-meets-technology/ Haven't written much recently but this is a passion topic of mine.


Last thing I'll say is that if a start-up owner does not have experience in technology the best thing to do is hire a team/freelancer that you trust: otherwise there's no way of knowing what the time/monetary estimate should be. Another one of mine: http://thecodebug.com/monetarytime-estimates-how-will-you-know/


My best,

Aleksandra

Paul Garcia marketing exec & business advisor

November 19th, 2019

I frequently come back to this point, but strategy always needs to come first, before development, before tactics, before sales, before everything except research.


When you have a group of developers who are not business people, they may not understand the priorities of the company or implement a priority-based development strategy on their own. If you aren't able to involve product developers in the strategy discussion, then consider how you measure them. Workers tend to perform to the incentives they're given. Set them up for "success" by informing them how they will be measured and make sure those measurements are leading them in the direction they need to be working.


In the circumstances you described, the failure is one of leadership, not of product development.


Strategy is an advanced synthesis of business skills and always should involve at least two people, mainly because no one person is a master of more than 2 of the 6 fundamental business skills, 3 of which are heavily involved in strategic planning. When product development comes from a straight task list instead of a strategy, it lacks a degree of intelligence and analysis that combining marketing, organization, and efficiency skills would bring.

Murat Can Ozdemir Sensors and cognitive devices do not constitute Intelligence alone, but gets the job done.

November 19th, 2019

This definitely sounds like a bad priority management, which is common among senior software developers without CS education who got promoted to a lead position rather recently. Their instinct to develop the best software practices in their team clashes with the practicality required to deliver products on time. A simple program that demonstrates this feature should be done within a day.

David Bieder Software Delivery Performance Expert, Coach & Trainer

Last updated on November 19th, 2019

@Murat I agree, it should be a matter of a few days or hours, not weeks. Did you observe similar things, you want to share? And if yes, how did it affect your business? Cheers

Carl Hunter Roach @CarlHunterRoach

November 19th, 2019

In the example you give, the outcome could well be the result of crossed wires. Or more likely the "plan" met "reality" and needed to be changed - these are the "implementation iterations".


Perhaps the team found they'd need to set up the database a second time had security not been baked in. I find a business head being available within those "implementation iterations" invaluable. And the business head needs to be patient while they are brought up to speed with the detail so they can make the best decision based on their priorities.

David Crooke Serial entrepreneur and CTO

November 19th, 2019

I have found the biggest source of problem with offshore is when they are led or even demanded by the business side of the house .... 1. At a startup I co-founded the investors pressured our VP Engineering to get some Indian outsource resource, and he wasn't inclined to push back strongly, so we made a best faith effort, put requirements in the contract to push them to hire the best people, and used Pune, and up and coming market as oppose to Bangalore where people job hop for a 1 lac raise, and younger men are ultimately looking for the status of a big name company like Oracle and will take an inferior position there. A friend who was working for us, a highly talented senior developer, went out to supervise them and be on ground presence for them to learn from, and translator of the subtleties. Despite his presence it was a miserable failure, the lack of an overlap of office hours is a severe limitation to communication, and there is a cultural issue as well - in India it is considered weak to admit not knowing something, and many people will simply bob their head and say they have it even when you have presented something complex that makes Q&A essential. 2. Another startup I was at was sold to a large company, and it was a finance led company so they split up the team I had led to a rapid, successful transformation of the product - half a dozen highly competent people all sitting within 20 ft of me, and plenty of whiteboards, the best arrangement of a team - and gave me a few people in E Europe, and a large team in India. These were employees, i.e. offshore not oursourcing. I could never get anything useful from India in terms of new product, and it was easier to have them "report to" the team lead in Europe, with time zone overlap, and fix bugs where a lot of context is provided by the code and less communication is needed. The large company was finance-led, and I was told by some delighted person that we now had a team of 22 instead of 7, at a cost of only 20% more. My response falls under the topic I call Questioning the Company Religion :) 3. On the flip side, I had a very positive experience with Costa Rica. A good rule of thumb is oursourcing contractors in India cost 1/4 of onshore employees, Costa Rica is more like 1/2 US cost, i.e. double India, but we got a team of young, enthusiastic and very sharp young folks, with computer science degrees either earned in the USA, or locally where the curriculum is closely based on the US ones. My only complaint is that their office was a converted villa, and I would see rain forest over the balcony on web chat. They speak perfect English, and are in the CST timezone so it's easy to schedule everything within office hours at both locations so they can participate in all meetings by video. 4. Another option is a local contractor on 1099, if you get someone whom you have good references for it works well. When I am working on a startup I often do this part time to pay the bills, and I've done everything from consulting engagements lasting a couple of days, where I go in and evaluate the tech side of a business and provide recommendations, to creating a 1.0 of a BI module for an app a client sold to augment the product the VAR'ed for, from soup to nuts - interviewing users, selecting the BI vendor, to deploying the live system on their cloud service - in a previous engagement I had advised them to go with the nascent and still beta Amazon EC2 rather than leasing hardware with e.g. RackSpace, on the grounds it would be solid by the time they went live, and the Amazon brand would sell to a non-technical buyer. Like people I know who do this all the time, I get all my business from word of mouth, and repeat business from most of the customers who want the swoop in CTO / CIO service. TL; DR - outsourcing can work well if you do it right; in software engineering there is a non linear ROI which makes hiring few, more highly skilled people a better deal, consider the full situation (c.f. my example of the big difference in communications) since that is what you're getting for the money, and not just the hourly rate, and buy for value not low price, this is part of a huge investment you are making.

David Bieder Software Delivery Performance Expert, Coach & Trainer

November 20th, 2019

@CarlHunterRoach I agree, the management could have done a better job in setting expectations and clarifying what is important now and what can wait.


Additionally, I got the impression that the developers were not able to work and deliver software in small(er) increments. They were drawn towards big upfront design. I assume they do not know how to build software in a way that it supports continuous delivery of weekly increments while still being highly adaptable over time.

David Bieder Software Delivery Performance Expert, Coach & Trainer

November 20th, 2019

Thanks, @David Crooke. Can you share a few more details about "Despite his presence it was a miserable failure"? Cheers :)

David Bieder Software Delivery Performance Expert, Coach & Trainer

November 20th, 2019

@Paul Carcia Can I infer from "no one person is a master of more than 2 of the 6 fundamental business skills" that you need at least 3 people to be successful with a business? Can you tell us a bit more about the 6 fundamental business skills? Cheers

David Bieder Software Delivery Performance Expert, Coach & Trainer

November 25th, 2019

@Aleksandra Czajka Great articles. Thank you so much!