When discussing technology, there is a common set of attributes that are typically considered (this holds true whether discussing websites, applications, networking equipment, etc.). Although this list isn’t meant to be all-inclusive, you should be prepared to talk about the following:
- Reliability (think in terms of availability over time; example: 99.999% availability, which is the traditional bar set in telecommunications and equates to approximately 5 minutes of downtime per year; it’s important to note that availability is not the same as “uptime” because a system or network may be “up” but not necessarily available – for example: power on but not accepting connections; you may not have any real numbers, but you should at least know the expectations of the market you are targeting)
- Scalability (think in terms of maximum growth; examples include: maximum number of simultaneous user connections per server instance, maximum number of server instances running on a single physical or virtual server, maximum number of entries in a route table, maximum number of nodes in a network, etc.; you should also understand whether these scalability limitations are hard limitations or soft limitations; once again, you may not have any real numbers, but you should at least know the expectations of the market you are targeting and how you’ll stack up against the competition)
- Performance (think in terms of responsiveness, throughput, efficiency, etc.; examples include: signal strength over a range of distances, time elapsed between pushing the TV remote button and the channel changing during prime time, time elapsed between the time you touch the icon on the screen and the app opening; transaction rate during peak load, network throughput when encryption services are running, etc.; you should also understand performance based on different constraints and scenarios; again, you may not have any real numbers, but you should at least know the expectations of the market you are targeting and how you’ll stack up against the competition)
- Interoperability (think in terms of compatibility; the idea is that the new products or services purchased should be capable of working with the current installed base or the existing products or services you already own; there are business and technical pros and cons to making your products or services interoperable; “greenfield” projects are less dependent on interoperability because they are, in theory, not constrained by legacy projects; think about which versions of Android or iOS your app works with; which versions of Windows, Mac, Linux, or Sun your program will run on; etc.)
- Manageability (think in terms of ease of use: examples include how easy it is for an individual to install or uninstall your app or program; for a systems administrator to use your website, configure your product or service, monitor performance, set up security, perform accounting or administrative tasks, identify and fix problems, etc.; in network management these concepts are part of the FCAPS model: fault, configuration, accounting, performance, and security; understand that ease of use will greatly impact the overall user experience)
- Serviceability (think in terms of maintenance and support; examples include: updating the product without taking it out of service, adding new features or functionality without taking the product out of service, essentially minimizing impact to the system while making any changes; understand that, depending on the circumstance, some system changes are expected to be completed while the system remains “in-service” and available to customers; in other cases it may be acceptable for a program to require an operating system reboot or an app to require a mobile device to reboot)
- Security (think of this in terms of peace of mind; preventing intentionally malicious activity from taking place, preventing accidental actions or, fat fingering, from causing significant damage, preventing the disclosure or loss of confidential information, preventing any form of unauthorized activity; understand that trust is hard to obtain but easy to lose and this will impact the use of your product or service)
- Affordability (think in terms of cost; examples include: app cost, program cost, cost per bit per route mile, cost per byte of storage, cost per byte of memory, cost per compute cycle, cost per click, etc.; understand that you should be able to outline these numbers from an internal and external perspective where applicable; essentially how much it costs you to create your product and how much you sell it for; you may not have all of the actual numbers, but you should at least have a rough estimate)
- Design (think of this in terms of the wow factor; simple, clean, elegant, visually stimulating, intuitive, symmetrical, consistent, comprehensive, interactive, dynamic, confidence inspiring, beautiful, etc.; if these are the words people are using to describe your product or service, you’re likely on to something; if not, you’re clearly missing something)
- User Experience (think of this as the complete package; develop your product or service considering all of the attributes listed above; address the desires of a significant market; assemble the right team to attack the market; soon you’ll attract “fanboys” like Apple or create “the ultimate driving experience” like BMW)
As an early stage start-up, you’ll hear “rapid application development”, “iterative development”, “agile development”, “rapid prototyping”, “lean start-up methodology”, etc. Much of this is focused on speed and having the opportunity to quickly test a market and either fail fast or forge ahead.
While we understand and agree with many aspects of the “fail fast” concept, we would, however, like to add a cautionary note: If you are “too fast” and overlook some of the concepts described above, significant flaws may not be caught in your early stage, highly successful tests that typically take place in limited or controlled environments. These significant flaws and issues will arise at the worst possible time: when your product or service starts to gain momentum and you get traction in your target market. Suddenly, you won’t be able to scale to meet demands, performance will become unbearable, product or service availability will decline, etc. If you’re lucky, the fixes will be manageable; if not, you may be looking at a complete re-architecture or complete re-design.
Keep the above list in mind and hopefully you’ll avoid some of these issues.