How can we unify business goals and technical goals?

Posted by BAM on Programmers See other posts from Programmers or by BAM
Published on 2012-09-15T18:55:23Z Indexed on 2012/09/16 3:51 UTC
Read the original article Hit count: 226

Some background

I work at a small startup: 4 devs, 1 designer, and 2 non-technical co-founders, one who provides funding, and the other who handles day-to-day management and sales. Our company produces mobile apps for target industries, and we've gotten a lot of lucky breaks lately. The outlook is good, and we're confident we can make this thing work.

One reason is our product development team. Everyone on the team is passionate, driven, and has a great sense of what makes an awesome product. As a result, we've built some beautiful applications that we're all proud of.

The other reason is the co-founders. Both have a brilliant business sense (one actually founded a multi-million dollar company already), and they have close ties in many of the industries we're trying to penetrate. Consequently, they've brought in some great business and continue to keep jobs in the pipeline.

The problem

The problem we can't seem to shake is how to bring these two awesome advantages together. On the business side, there is a huge pressure to deliver as fast as possible as much as possible, whereas on the development side there is pressure to take your time, come up with the right solution, and pay attention to all the details.

Lately these two sides have been butting heads a lot. Developers are demanding quality while managers are demanding quantity.

How can we handle this? Both sides are correct. We can't survive as a company if we build terrible applications, but we also can't survive if we don't sell enough. So how should we go about making compromises?

Things we've done with little or no success:

  • Work more (well, it did result in better quality and faster delivery, but the dev team has never been more stressed out before)
  • Charge more (as a startup, we don't yet have the credibility to justify higher prices, so no one is willing to pay)
  • Extend deadlines (if we charge the same, but take longer, we'll end up losing money)

Things we've done with some success:

  • Sacrifice pay to cut costs (everyone, from devs to management, is paid less than they could be making elsewhere. In return, however, we all have creative input and more flexibility and freedom, a typical startup trade off)
  • Standardize project management (we recently started adhering to agile/scrum principles so we can base deadlines on actual velocity, not just arbitrary guesses)
  • Hire more people (we used to have 2 developers and no designers, which really limited our bandwidth. However, as a startup we can only afford to hire a few extra people.)

Is there anything we're missing or doing wrong? How is this handled at successful companies?

Thanks in advance for any feedback :)

© Programmers or respective owner

Related posts about project-management

Related posts about work-environment