Thursday, March 29, 2012

Building a good Software Startup

If I were to build a good software startup today, I'd run with the following ideas.

Hire only good people who get things DONE.
Even if they are more expensive in terms of compensation.
Quality trumps numbers. No doubt about it.


Development Team
  • 1 Lead Developer
  • 1 Senior Developer
  • 2 Junior Developers
  • 2 Business Analyst/QA

Operations Team
  • 1 Lead Systems Admin
  • 1 Senior System Admin
  • 6 Junior System Admins

Give your team a quiet working environment with ergonomic furniture and equipment

Give your team good internet connection
  • the faster they can download their installers, the earlier they can start working on code
  • the faster they can look up the solution on google or stackoverflow, the faster they can proceed to the next problem

Give your team good computer hardware
  • at least dual core processors with virtualization support
  • at least 8GB memory
  • at least 2 hard drives for mirror setup
  • at least 2 screens

Make sure to have enough environments to test, deploy and support the system properly.
  • Development Environment
  • Staging Environment
  • Support Environment
  • Production Environment

Make use of Free or Open Source systems to manage the development process.
Buy a commercial product only if you can't find a solution that fits.


Project/Issue Tracking with Source Code Management Options:
  • Indefero
  • Gitorious
  • Gitlab
  • Redmine+gitolite

Continuous Integration Server Options:
  • Jenkins
  • Team City

Code Quality:
  • Sonar

Setup google apps for for email, calendar and other stuff

As an example, here is how I would set it up on three physical servers:

Server#1 running ProxmoxVE
- Firewall/Proxy Server/Package Cache(apt,yum,mvn) VM
- Redmine+gitolite VM
- Jenkins VM
- Sonar VM
- NFS/Samba Server VM

Server#2 running ProxmoxVE
- Development Environment VM
- Staging Environment VM
- Support Environment VM

Server#3 for storage of backups
- nexentastor or freenas or centos+zfsonlinux

I hope you found the post useful. You can subscribe via email or subscribe via a feed reader to get relevant updates from this blog. Have a nice day.

No comments:

Post a Comment