Lesson #1       Stories. Skill. Software. The trifecta.

Stories are a great way to teach lessons; a timeless, primal tool to guide others. And we all know that experience is the best way to learn, and is the most constructive, invaluable tool which teaches skill. Now, you may have heard a lot about software development, but perhaps have had absolutely nothing to do with it thus far. It’s time to do your research, your homework, and educate yourself, and listening to stories like mine may just help you on your software expedition.

Lesson #2       Realize that building a piece of functioning software will take time, resources, and money.

My journey to find the right developer began when I realized I needed relevant software to be competitive and fully deliver my business model. I sifted through dozens of firms and their adjoining costs, hoping to find one that would peaceably entertain my vision and budget. I didn’t realize how vast the undertaking would be- the investment of my time and money into some functioning thing that I couldn’t even necessarily differentiate from hardware. So:

Lesson #3       Have an accurate scope of your project and understand the process of development.

I invite you to contemplate just how much you actually know about software. Whatever you vision, focus your proposed software on simplification, user experience, and great reporting tools. Your individual project will be as foreign to a developer as software may be to you. Don’t let your possible lack of experience or education in the IT world deter you from developers, nor should you allow it to lead your hiring investigation. Therefore:

Lesson #4       Get educated on the options for your software. What coding languages are most adequate to fulfill your vision today and into the future? The more detailed you can be with specifications the better.

You needn’t necessarily go out and gain a degree, but it would be wise to have a knowledge on the basics. What kinds of code are there? What are strings? What are variables and conditionals and loops and PHP and JavaScript and ASP.NET? What fuel is a computer fed in order to create the brilliance you’re imagining? No one likes micromanaging; understand what you want, what it will take to accomplish it, and vision for overall structure and intricate details ahead of time, as to make your ‘add-ons’ as limited as possible during the production process.

The developer I decided upon had all the credentials, but I was not educated enough to know what he was doing. He could show me things along the way, but a 3 month project turned into 18 months with more issues then I’d like to remember. I realized he had built my project on an Open Source platform which, for my specific needs, was not the best option. I should have based such a pivotal decision on a hunch.

My next development shop was not local and built software remotely. Again, great credentials, but my management style at the time had me constantly hovering the project, which is not comfortable for the development shop nor the entrepreneur. The second group was expensive, but they did make the project functional. These were lessons needing to be learned only once; it’s a shame it took such a chunk of resources to assimilate into this mainstream world of technology.

Lesson #5       There is the Building Phase, which is a relatively short endeavor compared to the Maintenance & Management Phase, which is on-going in cost and resources for the foreseeable (and potentially unforeseeable) future. Know the costs of each before starting.

Perhaps you’ve been told to get multiple bids and explore the validity of business owners before creating any agreements or partnerships. Never has that been more true than in the world of IT, Development, and Creative. ‘Playing the field’ will pay off, but not unless you have a scope of the bigger picture. Let’s say you’re the pioneer in your network for ‘shopping around’ for software. After educating yourself on the basics, go to different developers or dev shops and explain in painstaking detail what you’re looking for. How varied are the prices? And don’t forget the developer themselves; as I said, upon success of the Building Phase, you may be working with the developer a long time in the Maintenance Phase. Best if you all get along.

You could go the route of proofing your developer:

  • Consider the benefits of finding the right fit by providing simulations or tests for developers to complete upon working expectations.
  • Within each bid, build in benchmarks where you can not only see the advances, but have the code reviewed. Set accurate time frames together to create a complimentary workflow
  • Hire technology talent based on proven skill, results, and alignment of expectations that you clearly set. Start every relationship with great communication.

Some may find that technique tacky, others: smart.

Lesson #6       Get multiple bids, but always, always talk to customers of the developer/ development shop.

References are paramount. Hiring a developer without references is like buying a house sight unseen; occasionally it may work out for you, but ultimately, it’s a bad idea. Who do you know who’s pursued software development before? How extravagant was it and how much? Were they happy with the finished product? If you’ve found a developer on your own, find their clients and chat with them about their satisfaction.

Lesson #7       Developers are not designers! You will need the skill of both and most individuals cannot effectively build a great backend system and provide the creative detail for UI/UX.

I transitioned my development resources to a third development shop, which added more pain and agony with dates, delivery, and building to scope. Inherently there will be a level of scope definition and clarity in the beginning, but that doesn’t need to mean change orders, scope creep, more money, and other aspects that get entrepreneurs and companies off the path to on-time delivery. This is why the education and detail must be accompanied with your project plan. If that is not your skill set, find that person.

I was lucky enough to find an individual who had extensive background and before anything was paid, he completed a simulation. After reviewing the functional specifications and the project simulation, I knew that I finally found the right person. After one year and many hours of work, I made the decision to vest the programmer as a partner within my company. I was wary, because I had made the mistake previously by giving away equity as a component to bring down cost; this approach rarely works and can create challenging expectations from the beginning. Equity and value can be very different in the minds of partners.

Fast forward six years, hundreds of thousands of dollars spent, and a knowledge of what our business truly is; I know now that we are a technology company. Sure, our industry and market is education, but for us to compete and be effective in our space, I had to embrace the fact that we are a technology company at the core. All of our delivery is web-based and is heavily reliant on software and hardware to create the experience that we had to have to be effective. A development shop within our education company did not necessarily fit our brand, but it did align with our core competency. We knew that we must have a development shop that serviced our software products and allowed us to build innovative technologies to provide a better experience for our customers.

As we hire individuals now, we give projects and simulations to test the skills of the developers. We have aligned with a design firm so that we can focus on what we do best and allow them to focus on what they do best. Getting alignment and buy-in with a developer came down to vision, expectations, and needs. In hiring a developer, our expectations are built around results and communication; culture lives and dies on communication. The developers may not fit the personality requirements or “lets hang out this weekend” test, but you must make the decision that is most important to you and your company. Designers are creative, so let them show you all their work and engage them into a discussion of how they would design your website, interface, or brand. You can tell a lot about creative talent by the way they communicate with you about what you’re passionate about and what they would do differently.

Lesson #8       Protect your IP and get Non-disclosure Agreements (NDA) in place before giving away your idea.

Intellectual Property (IP) is extremely valuable and is often the base upon which companies are built. IP turns into a vision, then a working business model, and then a functioning start up. The goal is to protect your IP efficiently but share it with those who can create scalability and grow revenues.

Lesson #9       Invest in yourself, invest in your future. Invest into a lawyer who will draft great agreements.

As I explored different groups I found that my idea could be built and was, in fact, a decent, functioning idea. Then the panic set in. Who else has had this decent, functioning idea? I am sure you are very intelligent, but realize and accept that someone else has thought about your idea but may or may not have executed. ‘Patent’ your idea by getting the proper, governing structures in place. Don’t skimp on the lawyer part- their expertise is expensive for a reason. You get what you pay for.

Lesson #10    Get a solid team surrounding your business and any IP you may have.

This is the whole ‘chink in the chain’ concept all over again. Get a great team behind you, both technical and non-technical. Most launched businesses today have an online component and will include many forms of technology. Regardless of your industry or market, realize that in today’s business environment you are expected to have an interface, an app, data reporting, software, etc. to respond to the ever-changing technical world and the needs of your customers. Perhaps create a vesting schedule for the technical component of your business. A partner in technology may be the most valuable investment you make. And remember, all of this is a futile plug if you don’t have the non-technical team in place as well. Support in the form of intelligence and management behind the computer is equally vital.