Encouraging Growth in a Software Company?
entrepreneurial asks: "I'm putting together a business plan with a few partners to start producing software for fun & profit. We have a decent early product, several interested clients and enough talent to get things started. The problem gnawing on my mind, however, is how to grow it? I can see us reaching a point in the not so distant future where four or five guys just aren't enough and we have to start bringing in more people. I've worked in massive, faceless bureaucracy and a couple of smaller, mature companies that had already reached the top of the growth curve, so I've never been there. Can anyone out there share some advice, war stories or resources to help?"
Here are some helpful URLs on growing the company:
Tata Consulting
WiPro
You can hire ten Indian programmers for what you pay 2 here in the USA.
The best way to motivate people is with money. Hire more people. Maybe it isn't an option for you, but it is the best way to go. The "faceless" companies you talk of do get things done. Besides, there are ways to run a company that don't resemble Mr. Anderson's job in the Matrix. Take Google's headquarters for example. Massive company and one of the best work enviornments there is.
Trust me, I have experience working on volunteer projects that stymied. If people were getting paid to work on it, the projects wouldn't have stymied. We live in a money driven society. It shouldn't be that way, but it is.
You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
...worry about the stability of the team you currently have. Any friction or personality conflicts will be exascerbated by both success and failure, potentially tearing apart your core group before you really reach growth phase.
Make sure you have clear roles (who really is in charge?), ramifications for non-performance, and -- I can't stress this enough -- written agreements on company ownership and compensation, vetted by an attorney and signed by all parties.
If your core group includes personal friends, these issues get even tougher because of the emotional baggage and existing interpersonal dynamics.
Beyond those points, my advice towards successful growth would be to think in terms of roles and responsibilities. Fill the roles with people that can perform the jobs the best. Management by concensus does not work in a fast-moving industry.
The best place I've ever worked had a very loose structure.
Partners
|
Managers
|
Consultants
There are about 85,000 employees. You don't work under a specific manager you work with managers. The managers would decide where the resources best fit the current need. You were always one person away from one of the owners. Not too bad of a layout in my opinion.
The worst companies I've worked for have 10+ layers between the low level grunt (programmer) and the CIO. Totally unnecessary in my opinion.
The least painful way to accomplish what you're describing is to hire a CEO. Maybe a COO as well, but for a small company under 50 people it doesn't make sense to have a separate COO.
Whose money is the company built on? If you have any venture capital investment, the capitalist might have a CEO handy. I am not saying that it's the best option, but sounds like your company is ripe for professional management, even one brought in from the outside.
If you don't have venture capital, network with friends for someone who has an MBA, general understanding of software business, and demonstrates himself as energetic and committed person. Business majors are currently suffering from low employment rates, too, so finding someone you can work with for a decent pay should be a valid option.
And still it's going to be unpredictable. Let's face it, if you could build a business from a cookie cutter approach, somebody else would have done it. This why people buy franchises.
If I had to limit myself to three pieces of advice it would be this:
(1) Learn how to make use of your business plan. The demands of survival will often compete with your vision for the business. Your business plan needs to be kept up to date and realistic; and while you must be opportunistic, you have to be aware when pursuing stopgap opportunities the potential cost to your long term vision. You're going to find that three or four years seems like a long time now but I guarantee that at the end of that period you're going to wonder where all the time went. Time goes by incredibly quickly, and with it your chance to make your vision come true.
(2) Be ultra-careful about who you bring on, either as an investor or as an employee. Get as many references as possible and grill them in minute detail. It's not like you are some huge company with massive inertia: you are half a dozen guys, a single star can lift you all up, and a single dog can bring you all down.
(3) Learn to maintain a positive and cheerful attitude through chaos, fear and disappointment, because they all come in some measure to every new company. Remember that nobody forced you to do this, and be determined to have fun. It will also keep your creative juices flowing and keep you from becoming preocuppied with regrets and blame.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Statistically your company, like hundreds of others, is doomed to fail.
You need to work out how you are going to survive before you work out how to grow.
Technical skill is not enough, you need people for support, sales, accounting and other admin.
Try not to borrow money, surviving without debt is a great lesson.
If you are the leader, be ready to give up the reigns when necessary, you won't need to micro-manage everything and one day even your presence might be a liability.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
VC - you need to find a Venture Capitalist
Cyberbite Networks - Web Hosting, Dedicated Servers & Colocati
I have been in a few places that experienced the growth and helped were I could. Just a few tips:
Prepare early - You will have to keep things under control when everything starts to get faster. Prepare as much as you can BEFORE you start exploding. This includes project management, time tracking, office admin, staff introduction kits and so on. The more of these procedures that help you enhance you efficiency you have in place the easier you can grow. Once you start growing quickly you wont have the time to establish the procedures..
Focus on quality - Never forget why you started to grow... because to do the right thing. Dont start pissing off your clients or other stupid things just because you got this other bigger client. This will bite you back.
Maintain good team environment - Treat you people at least as well as you would want to be treated yourself. Only a low staff turnover can keep you under control.
Take it slow - If you seem to loose control, slow down. Better grow a bit slower but keep things under control and deliver the right quality then grow fast and stuff up.
Look at the long term - Always keep in mind where you want to go. It might be better to be a good small company than a shitty large one..
Get help - There are a lot of people around that have done it before. Network with them, maybe hire someone .. take all the expierence you can get from others... listen ..
I am sure there is a lot more... but these points will get you on track ...
Managing growth is where the PHBs come into play. Smaller companies are usually made up of just a core group of people who already work well together and understand the strategies of the company. Not a whole lot of real managment is required at that point.
When you start adding talent, above a dozen people or so, it becomes paramount to streamline all the communication in the company. The person(s) at the top, who today participates in product development will now become more of a project manager / operations officer directing information and keeping the pulse of the company.
Encouraging this growth is difficult to do sometimes since your core team will likely be overachievers - thinking they can do it all. This leads to re-active growth, which can be a bad thing. So make sure everyone has a clear growth strategy, including when and what new resources to bring in. This will allow you to be careful and take your time - this is critical.
As far as managment structures go, get the founders together and develop a structure that everyone is comfortable with. Titles are relativly meaningless in a small company - only 3rd parties will care if you're the CEO or not. So make sure that your title reflects what you actually do.
Get your stars in a list right now - and give them high-end titles. These are the people who your company could not function without and, if yuo trust them - and you should, will be deciding who to place in roles similar to theirs.. under themselves. So their title should reflect that authority.
You mean the best-selling game ever? Yeah, so what was the problem of your colleague?
You have MANY more things to worry about first. And remember the saying, "Growth for the sake of growth is the ideology of a cancer cell."
Make sure your business is going to WORK first. Make sure the people are happy, and you know how to keep them that way. Same thing for clients! Concentrate on _stability_. It's critical in the current climate. Make sure your products are of the highest quality. Promite little, deliver more. That kind of thing. Keep control of your company! The more control you dole out to investors to grow, the more likely it is you'll lose control over your company. Once that happens, it'll almost certainly turn into a place you DON'T want to work at. Learn the lesson of Phil Greenspun, okay? (look it up - I'm too lazy right now)
There's _nothing_ wrong with being a small profitable company. And there's a LOT to be said for being a privately-held company. I've been through *many* startups here in Seattle over the last several years, and I've seen all the mistakes. Trust me, you do *not* want to lose control over the company; that's the worst possible thing that can happen. _Everything_ is downhill from there.
Also, get yourself a real CPA. If you're in the Puget Sound area, I recommend "Cook & Company" in Lynnwood. Excellent people. And get yourself legal counsel. You may be able to get away with PrePaid Legal for the cheap & easy stuff.
Good luck, and Stay On Target!
Water Frequenty
Believe in the existance unnecessary growth and trim it
Get plenty of sunshine
Vary your surroundings
Empower people to decide their own environment and schedule
Ask people their opinion and sometimes follow them
Eat bigger meals.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
You've already had some brushes with a critical ingredient: those people that are willing to pay money for your product. Names, phone numbers, and people that are willing to say they'd pay X for your product that does Y.
If you're talented and have some background in marketing, you can pursue this further, because it needs to be done. Finding out what your customers really want is not as easy as it sounds.
If you're a rational, intelligent person not in need of frequent ego inflation, then you know which subject areas you're good at - say, programming - and which areas you're not familiar with. That's OK; there are specialists for every craft, including marketing. The next step is to get someone on board who knows marketing, preferably of software and preferably with a background in the same areas that your customers interests lie.
"Provided by the management for your protection."
Bill Gates said to a confidant early-on that he could see MS growing to $1B in sales, but not beyond that... Now look at them. If you execute well on a viable business model, new opportunities will present themselves you can't see beforehand.
The reason for existance of a business is to make money, which it feeds on. I wouldn't start a business without the primary goal being to make income. Fun will follow. Of course, you should pick a business you are interested in.
"Promise little, deliver more." promite. What was I thinking? *sigh*
VC - you need to find a Venture Capitalist
Nooooooo!!!!!
A pact with the devil is a better long-term plan than bringing on venture capitalists.
-- MarkusQ
you actually write a business plan for profit only? Most banks don't give out cheques to people who's business plan says "yeah we want to have fun and make some profit".
You could hire me ;), I'd have to telecommute from australia..
From another thread (posted by SiliconJesus (1407)) Slashdot JobCenter
09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
Since you are getting your business advice from Slashdot, I suggest you start deciding which of you will get laid off first.
If a new developer joins the team and discovers that the old developers had graciously...
I can't count the number of times where I've joined a team, spent 6 months investigating how they put things together, and then discovered that if I just rewrote everything from scratch, but this time document, test, and comment the code, we would save a ton of money versus trying to do that to existing code. It is especially popular in smaller companies where the software developers just don't have a lot of experience or they forget important things like project management and testing, that these problems are most evident.
The radical sect of Islam would either see you dead or "reverted" to Islam.
Sorry, too many ideas and not enough continuity. But here's what I threw together:
:)
Don't add new employees. Yet. That can be the hardest part of a company - and after a point you have more and different rules to follow for your business. Er, so I've heard.
I don't have any resources for this, but I hope others chime in with them because I've been interested in it since I first heard about it but lost whatever links I had along the way.
The idea to pass along to you is to have a dynamic company. Some website(s?) list projects and pay for completion and people accept or bid on them. Another had professionals register then when a project came up the group was chosen (how?!) and they worked together (usually from across the world) to complete the assignment, then after it finished they would have their own time until something else came along and another group would be formed, etc.
The idea I would promote from all this is to combine these and the open source model: If people like your project, they'll come. If there's $$ involved it can be even better. If your company can deal with people who have their own schedules, it's a bonus. And if your company can react quickly to people not carrying the weight they said they could, the project has a much better chance of thriving. And skip your overhead.
I haven't had much personal experience with a distributed development group, but the idea is attractive. After some standard questions you figure out what portion you're willing to risk on each new person and assign something to them with a gift or whatever upon completion. Depending on the seriousness of time constraints you can add bonuses and also retain the ability if there is no progress to drop them and reassign the work to another person.
Those who are the good worker bees get access to more work-portions to complete, then more complex ones, etc.
That's if you can manage to divide up the work properly which would require planning and possibly even (oh!) design.
I don't remember what the wording was in the ones which I did see, but basically you have a short agreement with each person for each piece of work... or, um, do a reverse e-bay to more clearly convey that there is no employer/employee nor contractor/contracted relationship. Just work to do and gifts (whatever) to give.
Again, I don't have experience with this, but I find it attractive (with the right mechanisms) and would like to participate in such a venture.
I'll even write the website for the mechanism if you want to host it
8-PP
Set a high watermark for incoming developers. The question for your interview team is: "Would I really like to personally work with that person on any project"? Even if you aren't "stuck" with them on your particular part of the project, don't "stick" them to another team, you will end up working together sooner or later. Just drop them, and keep searching.
Grow slowly, at most 1-2 developers a quarter. That way, you can teach them about the existing procedures and culture, and also take in what they bring.
Always interview (1-2 a week), you will never know when a gem becomes available. Why would you think that it always cooincides with your needs?
Keep an open door. Let programmers feel comfortable that they can call you and the other partners total complete nit-wits. Why? Storming is part team building. And also, what makes you so special, just because you started a company doesn't make you Gods choosen ruler. Listen to those developers, they know shit(if you hired the right ones)...
Oh, yea, and make it a point to hire women and minorities. There is nothing worse then a 40-person software company with only 4 women, and no minorites. Diversity rules!
At the least, the mens bathroom would stink from 36 asses, and the 4 women would have personally assigned stalls. How fair is that?
--ee
Antiquated competence won't be a job skill forever.
From personal experience :
Good luck with your endeavour.
Oh, final piece of advice : Don't rely on
It's all very well in practice, but it will never work in theory.