Make sure you know what you're getting
Enterprise Software vs. Production vs. Prototypes
When companies decide to embark software development project, many start with asking the question: how many developers do we need?
The outsourcing industry has done a great job at bring this question to the forefront of business owners. They often flaunt their low prices and seduce decision makers with promises of savings. However, this should NOT be the first question that is asked. Software development requires more than just programming and before beginning development, it’s critical to define the goals of the project.
Choosing a team of developers before aligning on these goals is like buying a car without knowing what type it is. If you have a family of eight, then a two seater smart car just isn’t going to cut it!
The question is, what type of software do you really need for your project?
Full Enterprise grade solution
A basic prototype, production-ready software, or a full enterprise grade solution? This decision will influence the staffing you need - potentially including developers, project managers and more. Unfortunately, many companies aren’t aware of the nuances of these different types of software and this ends up costing them in terms of time and money.
Let’s define these different types of software. Of course, this is a continuum and not rigid guidelines. You may require something that falls halfway between production ready and enterprise grade software.
A prototype is a proof of concept. It should display the idea of the product and some of the key functionality. The primary purpose of a prototype is to SHOW the idea. You may be showing this to investors or internal stakeholders. Prototypes are generally not cross-browser tested, mobile optimized or extremely secure.
Prototypes generally costs thousands to tens of thousands of dollars to build and in order to build it you need:
- A dev team with a diversity of skills
- Typically no formal PM and the stakeholders are often discussing with dev team directly to guide the process of software development
Production ready software is, as the name implies, software which is ready to USE. This software is ready to use in most situations and is relatively bug-free. This may be software which you use in house for a smaller company or which you market to consumers. Reliability is important but is not critical at this stage.
Production ready software generally costs tens of thousands to hundreds of thousands of dollars to build and maintain and you should expect.
- High involvement from the development team
- Dedicated project management
- At least part time technical leadership
- Sufficient documentation to deal with maintenance, support and team transition
- A good mid-range level of technical infrastructure to support development, support and ongoing maintenance
- A maintenance agreement or plan on how you will maintain and support the software
Enterprise grade software is the most mature level of software. This software is thoroughly tested in different environments and in different scenarios. It is very secure and scalable. This is software which is used by larger organizations and which can potentially be used for sensitive situations (ving ie.g. involmportant data). Enterprise software should be designed in such a way that it will work in all situations and have a very defined and predictable way it fails so this can be handled. When this software behaves badly companies can lose substantial some of money and people often lose their jobs.
Enterprise grade software generally costs hundreds of thousands to millions of dollars to build it you need:
- Highly specialized development team in key disciplines (performance, security, reliability, etc.)
- Dedicated project management team
- Clear technical leadership
- Full documentation strategy and implementation for support, team transition, training and other scenarios
- Proper infrastructure for testing, development & rollout
- Administrative support (ex: HR, staffing, etc.) for team continuity
This is not to say that you should always aim for enterprise grade software because it is the highest quality. Rather, it’s key to make sure that you are investing in what you need. If you only need a prototype, then it is a waste of time, money and resources to develop enterprise grade software. Similarly, if you need a robust enterprise grade system, hiring a project manager and developer to create a prototype is doomed to a potentially expensive and embarrassing failure.
When embarking on software development, have a honest conversation about what you are building and why. By doing this, you can make sure that you are building what is right for you and your needs.
If you need a prototype and are paying for enterprise grade software, then you are wasting valuable money and time. However, if you are paying for enterprise grade software and instead receive a prototype, you could be subject to potentially embarrassing security leaks, testing failures and more.
What type of software does Venuiti provide?
Simply - the ‘right kind’ - we don’t sell you anything until we know more about what your actual needs are. Typically we produce relatively robust production quality and enterprise systems for most of our clients in many verticals including marketing, healthcare, financial and numerous related disciplines.
And we're often at work very late and very early