While excellent engineering talent is a must, there are many overlooked or under-appreciated roles that I believe are essential to the success of any software company – at any stage. I often hear the excuse: “We are too small of a company to hire a ________”. Well guess what? Your competitors have one, or maybe more, so SOMEONE at your company has to be taking on these responsibilities. You might be lucky enough to have these roles filled, perhaps these responsibilities are shared within your company, but ignoring them will soon land you in a lot of trouble. Lets get started with the 3 P’s that I believe are so important for any software project to succeed.