Every startup has a vision and a plan to be successful. Behind each startup, however, is also a technology vision that will make or break the company.
This is not just one decision but a combination of architecture, technology, platforms, resources, and cost. Each of these areas will clearly define the opportunities and markets that can be addressed and any limitations.
Setting the architecture in place is similar to pouring a foundation for a building. As you pour the foundation, the options available for size, scope, number of floors, etc., change as each floor is built. Architecting systems provides the most options while still on paper. Once software exists and components are built, the number of options will change. It is important to make sure that what is built can meet the business needs today and in the future.
Technology is an enabler for business and not just a platform or a tool. Too often we see “technology looking for a problem” and a team of very talented engineers assigned to develop new platforms and/or tools in search of customers or needs. The technology can be exciting or even patentable, but there is no business unless it solves a customer pain or need. The bigger the pain, the bigger the market, the greater the opportunity, the more successful the company will be. This applies to companies of all sizes. Customer inputs are critical to defining, refining, and prioritizing go-to-market strategy and approach.
How to put the correct technology vision in place
The first critical step is to come up with the proper architecture and components that will be needed. With many choices available, a prioritized list of goals and objectives must be created. This will serve as a set of checks and balances for all key tradeoffs in the system. The goals should include, but not be limited to the following:
- performance objectives,
- ease of use,
- cost constraints,
- and deployment model.
For example, if you are planning to deliver solution as software as a service(SaaS), there are different requirements than if you are developing software to be installed on customer computers or an appliance. With an SaaS implementation, you get to choose the database, software, servers, etc., that best meet customer and company objectives. On the other hand, software built for appliances or customer installation will require co-existence and compatibility with existing customer platforms and infrastructure. Each can work and can be successful, but switching models can be very difficult if not impossible. It will impact timing, go to market, and skills needed to implement.
Architecture design options
The key to architecture design is to clearly define the major components of the system and be able to represent a high level interrelationship diagram on one page. This will make it easier to understand the plan and also make it easier for others to picture, review, and evaluate.
For example, if you are designing a new data reporting solution for customer use over the Web, then you will need to include the following functions: getting the data, validating the data, organizing the data, storing the data, reporting the data, and customer access to the data. Your IT staff members need to ask and answer a series of questions:
- With these major components, how will information move from one component to another?
- What interfaces will be needed to interact with each component?
- What dependencies will each component have on other components?
Integrated independent components can be developed in parallel and provide flexibility later to enhance and change without having to re-architect or redesign the system.
Implementing the vision
Implementing the architecture will require careful technology choices, resources, and costs. These items are very tightly related and very dependent on each other. A decision made to build a system using Microsoft Windows platform will lead to decisions on development tools, hosting, support, and administration. At the same time, a selection to use Linux and open source code will provide a different list of choices. It is important to carefully review these decisions in the context of the business, architecture goals, product licensing, maintenance, and costs.
Innovation will continue to create more choices in architecture, technology and implementation. Defining the proper architecture and technology enables successful businesses to address growing markets, meet customer needs, and provide greater flexibility. Behind every successful business are a solid architecture, technology vision, and implementation that make it possible.
Murray Berkowitz, a Technology Partner at Kodiak Venture Partners, has more than 25 years of industry experience and is recognized as an expert in open source technologies, communities, and licensing for creating new business opportunities and partnerships.