Loading...
Answers
MenuWhat are the main challenges facing B2B SaaS startup CTOs with regard to product development?
I suppose the answer varies depending on the growth stage of the startup.
Answers
I was just speaking with a colleague about this as we are both starting new startups and were reflecting on our previous projects together. In hindsight we recognize that one of the main challenges was proper expectation setting around adoption and engagement. If someone else is setting those expectations for you, it can be challenging to live up to them unless that person is familiar tech startup analytics. Not every business is a unicorn. You have to learn how to survive and grow when things don't go viral. Once you set expectations accordingly you're able to focus on what really matters and hone in on the user experience to identify what is sticky. You may have a long roadmap of features on your wish list, but it may not be what people want or need. Be open to pivoting and listen to your users.
One of my favorite quotes is actually by LinkedIn Founder Reid Hoffman, "If you are not embarrassed by the first version of your product, you’ve launched too late." Being in tech B2B and product development for almost 9 years now, I completely agree with this statement. There is so much you can learn from getting your product out into the world and in people's hands; invaluable lessons that you can't learn coding in a silo.
Here's a great book for user engagement analytics: Lean Analytics. Also, happy to share my experiences on this topic.
In my experience the hardest thing facing a CTO is the very nature of the ever-changing world of web applications. In other words, stuff changes real fast!
We started prototyping an MVP back in November 2015, and now since we've been looking to pivot, we've found that we're approaching our stack very differently. Frameworks have been updated, some drastically, some open source software we used is now deprecated and non-supported, other software we built our app upon has shown to not be scalable enough, and so on.
One has to just make a decision to commit to their stack and work with it, or (if absolutely necessary) make sure that the application you are building is built in such a way that you can still take it apart and put it back together again on a different stack – which we did actually.
For me personally, I like to make sure that the application is well documented from the beginning and designed first on paper (or online sketches), with a database structure clearly defined, routes documented, and the flow of the user experienced explained in human-readable text. If that is done well, then changes to the stack will have a lesser impact on the path to your MVP.
Also varies depending on product, which might be a...
1) Front facing Website
2) Membership Website
3) API
Each have their own unique characteristics.
In general though, all systems bottleneck around disk i/o, so if you have a database heavy application, ensure you have someone who understands how to design tables for extreme speed.
And if you still require more speed, run a memory resident database, which must...
1) Sync from disk to memory when database server starts.
2) Periodically sync from memory to disk during runtime.
3) Do final sync, when ever database server stops, to bring disk backing store consistent.
Memory resident databases are a bit tricky + produce blazing fast throughput.
Trying to build technology around an ever-shifting business model is super tricky.
Finding reliable help is also a common challenge.
Related Questions
-
How should we plan a well-executed SaaS product launch to an existing customer base?
I'm a product developer, startup veteran, and advisor to SaaS companies. Hopefully you've been already developing this new product with input from your existing customers, letting them beta test it and give feedback. (If not, my advice is to STOP immediately and get enough pilot customers involved to be sure that you're delivering something really valuable to them, that works the way they expect it to work, is easy to understand and get started with, etc.. The last thing you want is to do a big splashy launch of a product that is D.O.A. because you built what you assumed the customers wanted instead of they actually demonstrated that they wanted.) OK, so let's assume that you've got customers in the loop. Interview the heck out of them. Really understand how they use the product, why they use the product, what makes it valuable to them, what they can do with it that they couldn't do before, etc. If the product's not done enough for them to be best testing it yet and getting results, at least get some insights into how they see themselves getting results from it. How does it/will it change their lives? As you do this, be on the lookout for things that really resonate. Emotional language, for example. "It's such a relief that I don't have to worry about sending invoices manually anymore." (or whatever pain it is that your software solves) Also look for (and try to elicit) specific result statements: "This new software saves me [or is going to save me] 15 hours a week. Now I can spend that time where I really want to, with my kids ( ... my cat ... my golf buddies ... )" You're doing this for three reasons: 1) This stuff makes for phenomenal testimonials; 2) it helps you come up with great ideas for pre-launch content; and 3) it generates *PURE SOLD GOLD* you'll use in writing the copy for your launch offer. OK, launch mechanics. There are people who teach huge long expensive courses on this stuff. I'll give you the Cliff's notes. While I haven't personally run a major product launch, I have been trained in the strategy and am very familiar with it. - Plan your launch period in advance. You might want to do a pre-launch sequence that lasts 1, 2, even 3 months depending on the magnitude of your product and how much effort you're willing to put into creating content for the launch. - Create some teaser content of interest to your customers who might want to buy this product. Offer to teach them something, or offer to give them a sneak-peak behind-the-scenes of your new product. - Send an enticing offer for this content out to your list. Get people who are interested in this content to sign up for it. This creates your launch email list. - Send your launch list weekly updates: development milestones, sneak-peak screenshots, videos, educational material, interviews with/testimonials from beta users, and so on. - You're not trying to sell here yet (not hard sell at least). Drop some hints that there is going to be a special offer when the product launches, just for special loyal customers like them. - Create at least three videos on topics that are really, really interesting to your prospective customers... not necessarily about your new product itself, but teach them about what they can achieve with it, or what others have achieved with it already. As you publish these videos, send the link out to your launch list. - Also send out an offer to see these videos to your main list, to entice more people to sign up for your launch list. - As you get closer to launch time, keep sending frequent updates to the pre-launch list, and send another email out to your main list to let them know that the product is launching soon, and that if they're interested in the special one-time-only launch pricing, they need to sign up for the "early bird list" (your launch list). - Send out a 24-hour notice that the launch is going to happen soon, and the launch pricing will only be available for a limited time (potentially, to a limited number of customers ... to increase scarcity and urgency). - I recommend that even if you plan to open the product up to all your customers that at launch time you limit it to a smaller number. This makes the inevitable post-launch gremlins less painful to deal with because you have fewer customers, and it motivates people to buy because they fear that they'll lose the opportunity to do so. You can open the product up to more people later... the delay will result in pent-up demand and easier sales. - Start the launch. Tell your early-bird launch list a few hours early, then tell your main list. Direct them to a web page with a video and long-form sales copy of your launch offer. - Send out 2-day, 1-day, 12-hour, etc. notices that the launch is ending soon and reminding people what they're missing out on if they don't act now. If you're offering a limited number of spots, tell people what percentage has already sold out. Remind people that if they're "on the fence" about this, that this is the time to make a decision. - Send out an email letting people know that the launch is over and thanking them for their support and their vote of confidence. Tell the people who didn't buy (or didn't get in) that you'll let them know that the product will be opening up for new registrations some time in the future. (You may get people sending you emails begging to be let in at this point, if your product is desirable and your marketing was executed well.) And, of course, you don't just have to promote your launch content to your existing customer list ... you can post it to social media (and encourage your customers to do so) to attract brand new customers into your world. If you'd like to go into more detail about launch planning for your specific product and market, I'd be happy to jump on a call and talk about ways to make this work for you.BB
-
How can I manage my developers' performance if I don't understand IT?
Whenever you assign them a task, break down the task into small chunks. Make the chunks as small as you can (within reason, and to the extent that your knowledge allows), and tell your devs that if any chunks seem large, that they should further break those chunks down into bite size pieces. For instance, for the overall task of making a new webpage, _you_ might break it down as follows: 1) Set up a database 2) Make a form that takes user email, name, and phone number and adds them to database 3) Have our site send an email to everyone above the age of 50 each week When your devs take a look at it, _they_ might further break down the third step into: A) Set up an email service B) Connect it to the client database C) Figure out how to query the database for certain users D) Have it send emails to users over 50 You can keep using Asana, or you could use something like Trello which might make more sense for a small company, and might be easier to understand and track by yourself. In Trello you'd set up 4 columns titled, "To Do", "Doing", "Ready for Review", "Approved" (or combine the last two into "Done") You might want to tell them to only have tasks in the "Doing" column if they/re actually sitting at their desk working on it. For instance: not to leave a task in "Doing" overnight after work. That way you can actually see what they're working on and how long it takes, but that might be overly micro-manager-y At the end of each day / week when you review the tasks completed, look for ones that took a longer time than average (since, on average, all the tasks should be broken down into sub-tasks of approximately the same difficulty). Ask them about those tasks and why they took longer to do. It may be because they neglected to further break it down into chunks as you had asked (in which case you ask them to do that next time), or it may be that some unexpected snag came up, or it may be a hard task that can't be further broken down. In any case, listen to their explanation and you should be able to tell if it sounds reasonable, and if it sounds fishy, google the problem they say they encountered. You'll be able to get a better feel of their work ethic and honesty by how they answer the question, without worrying as much about what their actual words are. Make sure that when you ask for more details about why a task took longer, you don't do it in a probing way. Make sure they understand that you're doing it for your own learning and to help predict and properly plan future timelines.LV
-
What is the best method for presenting minimum viable products to potential customers?
Whoa, start by reading the Lean book again; you're questions suggest you are making a classical mistake made by too many entrepreneurs who live and breath Lean Startup. An MVP is not the least you can show someone to evaluate whether or not building it is a good idea; an MVP is, by it's very definition, the Minimum Viable Product - not less than that. What is the minimum viable version of a professional collaboration network in which users create a professional profile visible to others? A website on which users can register, have a profile, and in some way collaborate with others: via QA, chat, content, etc. No? A minimum viable product is used not to validate if something is a good idea but that you can make it work; that you can acquire users through the means you think viable, you can monetize the business, and that you can learn from the users' experience and optimize that experience by improving the MVP. Now, that doesn't mean you just go build your MVP. I get the point of your question, but we should distinguish where you're at in the business and if you're ready for an MVP or you need to have more conversations with potential users. Worth noting, MOST entrepreneurs are ready to go right to an MVP. It's a bit of a misleading convention to think that entrepreneurs don't have a clue about the industry in which they work and what customers want; that is to say, you shouldn't be an entrepreneur trying to create this professional collaboration network if you don't know the market, have done some homework, talked to peers and friends, have some experience, etc. and already know that people DO want such a thing. Presuming you've done that, what would you present to potential users BEFORE actually building the MVP? For what do you need nothing more than some slides? It's not a trick question, you should show potential users slides and validate that what you intend to build is the best it can be. I call it "coffee shop testing" - build a slide of the homepage and the main screen used by registered users; sit in a coffee shop, and buy coffee for anyone who will give you 15 minutes. Show them the two slides and listen; don't explain, ONLY ask.... - For what is this a website? - Would you sign up for it? Why? - Would you tell your friends? Why? - What would you pay for it? Don't explain ANYTHING. If you have to explain something, verbally, you aren't ready to build your MVP - potential customers don't get it. Keep working with that slide alone until you get enough people who say they will sign up and know, roughly, what people will pay. THEN build your MVP and introduce it first to friends, family, peers, etc. to get your earliest adopters. At some point you're going to explore investors. There is no "ready" as the reaction from investors will entirely depend on who you're talking to, why, how much you need, etc. If you want to talk to investors with only the slides as you need capital to build the MVP, your investors are going to be banks, grants, crowdfunding, incubators, and MAYBE angels (banks are investors?! of course they are, don't think that startups only get money from people with cash to give you for equity). Know that it's VERY hard to raise money at this stage; why would I invest in your idea when all you've done is validate that people probably want it - you haven't built anything. A bank will give you a loan to do that, not many investors will take the risk. Still, know not that your MVP is "ready" but that at THAT stage, you have certain sources of capital with which you could have a conversation. When you build the MVP, those choices change. Now that you have something, don't talk to a bank, but a grant might still be viable. Certainly: angels, crowdfunding, accelerators, and maybe even VCs become interested. The extent to which they are depends on the traction you have relative to THEIR expectations - VCs are likely to want some significant adoption or revenue whereas Angels should be excited for your early adoption and validation and interested in helping you scale.PO
-
I've been working on an app concept for 6 months and built an MVP. Is it better to pay a development firm to build or hire a developer as a cofounder?
I have built two software companies by hiring out the development work. I sold one for a decent sum during the dot com era (circa 1999). I remain a shareholder in the other one. I currently work with amazing development company on behalf of one of my clients. Here are some things to consider. 1. Do you really want to give up equity? If not outsource. 2. How fast do you want to get to market? If sooner than later, outsource. 3. How capitalized are you? If undercapitalized, either outsource offshore (which runs about 20% of US rates), or bring on an equity development partner. I offer a free call to first time clients. Let's chat and I'll give you some great advice from three decades of experience. Just use this link to schedule the free call: https://clarity.fm/kevinmccarthy/FreeConsult Best regards, Kevin McCarthy Www.kevinmccarthy.comKM
-
Does anyone know of a good SaaS financial projection template for excel/apple numbers?
Here is a link to a basic model - http://monetizepros.com/tools/template-library/subscription-revenue-model-spreadsheet/ Depending on the purpose of the model you could get much much more elaborate or simpler. This base model will help you to understand size of the prize. But if you want to develop an end to end profitability model (Revenue, Gross Margin, Selling & General Administrative Costs, Taxes) I would suggest working with financial analyst. You biggest drivers (inputs) on a SaaS model will be CAC (Customer Acquisition Cost, Average Selling Price / Monthly Plan Cost, Customer Churn(How many people cancel their plans month to month), & Cost to serve If you can nail down them with solid backup data on your assumption that will make thing a lot simpler. Let me know if you need any help. I spent 7 years at a Fortune 100 company as a Sr. Financial Analyst.BD
the startups.com platform
Copyright © 2025 Startups.com. All rights reserved.