Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
ImmovableSquid
May 1, 2011
Floss Finder
I've been given the opportunity to take a service that my company does and package it to see if we can sell it (E.G. hand off the code as a functional whole so that someone else can run the service instead of us) Basically spinning off a functioning service. But I don't really know where to begin on a project like this.

I'm going to keep exact details somewhat vague, but I'll fill in as much as I can and I will answer whatever questions people have as well.

I work in an advertising firm in Manhattan that has been in business for almost 25 years. The office is small, with around 12 people and I make up half of the development team (That is to say myself and a coworker do all the development and most of the other technical services). We have a product that we sell as a service to other advertisers that has been in use for around three years (and is still evolving) The code base is mostly PHP, but a variety of other elements are things like Javascript libraries, web portals, mySQL, Google Maps. This is complicated by some of the functions being performed by a windows server that was recently integrated into our existing freebsd architecture.

Right now the workflow (mostly) goes like this:

New Project -> create configuration files for project (manually) -> create web portal from template for monitoring and testing project (manually) -> project goes for testing -> debug + more testing -> launch service (manually)

I've been with this company for a little more than a year and I've provided some tools for non-technical people to get information about how each project is running, but at least half the time I'm still ssh-ing into the mySQL server to write queries to answer questions.

What's expected in a product like this? What kind of support would the company be expected to give to whomever buys the rights to use this service? Is it expected that someone who purchases this thing would expect my company to simply provide them with a bug free snapshot of the working system (all cleaned up)? Or would another company expect us to buy a pair of Amazon shards, install the relevant software so that they just log in through a web portal and control it all from a dashboard?

Does anyone have any experience with their company buying something like this? Or packaging up and selling something like this?

I'll try to keep this thread updated on how this project goes and if (hopefully) my company manages to sell the product that I put together.

Adbot
ADBOT LOVES YOU

fletcher
Jun 27, 2003

ken park is my favorite movie

Cybernetic Crumb
I would imagine that you'd probably have two types of customers, the ones that want to host it on premises, and the ones that want you to host it for them so they don't have to think about it. Take Atlassian for example, they offer Bitbucket as well as Stash to satisfy the needs of different customers.

For the ones that you host for them, does it have to be a separate environment for each customer? Or could you turn it into a multi-tenant solution where you can host multiple customers on the same set of servers?

quote:

What kind of support would the company be expected to give to whomever buys the rights to use this service?

That's really a business strategy question that I don't think we can give you an answer for. The short answer would be, whatever they are willing to buy that you are willing to sell. For some businesses, support/services is a big chunk of revenue. For others, not so much.

As far as the packaging/distributing question, there's a lot of different answers.

Maybe something like a custom AMI on the Amazon Marketplace that is pre-configured and ready to roll so customers can spin it up and pay you by the hour for usage. Or maybe you spin up that AMI and manage the EC2 instance for them. Or maybe you could have a 'Deploy to Heroku' button and handle billing separately. Maybe you just send them a Vagrantfile or Dockerfile and they can do whatever they want with it. Maybe it makes sense to use something like Chef or Puppet in conjunction with these others so you can easily make changes to all the different customer environments at once.

Spraynard Kruger
May 8, 2007

This sounds like fun, you're running a little startup within a firm that's been around a while! But I'm a little confused, do you have a prospective customer? Selling source code isn't really in vogue these days, all the cool kids sell their Software as a Service... But from the sounds of your post, you're already onboarding new customers into something. Is it a product that's just used internally? Where'd the idea to sell the source code come from?

"What's expected" is totally up to the SLA you agree upon with the customer, and if you don't have one, it's tough to say. Do you have a great sales and legal team who got you a million bucks in exchange for your buggy development snapshot, a 15-minute phone call with a developer, and an agreement that the code is sold as-is? Awesome! Or, did you charge ten bucks a month for a system with a 99.9999% uptime guarantee and unlimited on-call support? I'm sorry.

If you don't have a customer, and you don't really know whether you want to host the software as a service or sell the source, you've still got a long ways to go with this.

ImmovableSquid
May 1, 2011
Floss Finder
Let me see if I can explain this a little more.

The product consists of three parts; a code base that anyone could implement (if they wanted to spend thousands of programmer hours) to apply the next part, a specialized OCR the company had developed by an outside research group and the key to the puzzle, a patent to the process which is about to be finalized.

Once we have that patent, which is coming rapidly, the company has several choices in regards to using it. We can try to force our competition out, but that means endless lawyer wrangling etc. The other option that the CEO wants to pursue would be to sell the patent and the process to a much larger organization so that they can use their own resources enforcing the patent and our company gets to move on into other things.

So to do this I need to find a way to package up this active code into something I could hand off to another organization. I'm guessing this should be a snapshot that could be deployed on a standardized server or similar that works out of the box with an already set up example process. Since my resources in terms of ongoing support are limited (and I don't want to end up being the guy they send to support this thing and miss more interesting projects) my hope is that having something that can be quickly set up and shown to be working might go a long ways towards eliminating that kind of ongoing support. That, and documentation. Additionally, ongoing support for the OCR will have to be negotiated with its creators, so at least I won't be dealing with that.

wwb
Aug 17, 2004

I would build a vagrant vm that would build, provision and deploy the app in a repeatable manner and ship them that.

Adbot
ADBOT LOVES YOU

ImmovableSquid
May 1, 2011
Floss Finder

wwb posted:

I would build a vagrant vm that would build, provision and deploy the app in a repeatable manner and ship them that.

I've been thinking along similar lines. Once I wrangle everything into something a little cleaner it's time to put it under glass.

Thanks for the advice.

  • Locked thread