IT can make or break your business. A lack of professional expertise can cause a company to stall at a lower level of revenue, impacting the ability to manage information and decision making. Here is a list of common mistakes that you can easily prevent.
1. Viewing IT projects as construction projects
Sometimes people conceptualize a IT project the same way they would building an apartment complex also called “waterfall design”. First you get designers and engineers to design the building. Then you hire construction workers to build it for you. Then you hire a building manager and some cleaning staff to maintain the building. This really doesn’t work for IT. Organizations are constantly changing and so is technology.
You cannot plan a 10 year IT project because all your technology will be outdated by the time it’s finished
1.1 Instead use more modern approaches
Agile programming is the idea that you make small changes and features on a regular basis and test them rather than planning multi year projects. Test-driven development and Continuous Delivery are both forms of agile development that are better than older agile approaches.
You can read more here:
- https://www.agilealliance.org/agile101
- https://www.theserverside.com/tip/Agile-vs-Waterfall-Whats-the-difference
2. Hiring contractors instead of hiring full time staff
Any company making more than a million in annual revenue should have dedicated technical staff. Relying on short term contracts may seem like a good financial decision in the short term but there are a few problems with it:
2.1 IP Protection and confidentiality
When working with overseas contractors it can be difficult to secure IP protection. Countries with high levels of corruption will make it virtually impossible to hold contractors legally responsible for violating any agreement.
Even in countries with low levels of corruption and strong IP protections there is a risk that a contractor breaks confidentiality. Most contractors do similar work for different companies therefore they will likely use similar techniques with a competitor.
2.2 Maintenance
Business software is a continuous system that faces ever-evolving needs and threats. When a system is built, there is still a lot of work that needs to be done to make sure that it stays up to date and any bugs are dealt with. It can cost more money to hire new people to maintain the system the original staff.
2.3 Integration
Similarly when you need to integrate an existing system to a new one, having staff on hand that fully understands your systems will save time and money.
2.4 doing what's in the company’s long term interests
Contractors have an incentive to do things easily. One off contracts incentives bad code because they do not have to maintain the system. Programmers make better decisions when they have to work with past shortcuts they’ve made.
3. Wanting immediate results
Studies have consistently found that there is NO trade-off between speed and quality of software development.We have become used to software being immediate to download, and instant online when non technical people start a project they often don’t understand the amount of work required to make it happen. Pressuring teams to make a service or feature quickly rather than well can cause problems down the line.
4. Not fixing Poorly designed infrastructure
Investing money in good IT infrastructure will save you money over the long haul and it is a competitive advantage. Being cheap will cost you. This why have a full time staff member that can help you understand what needs to be improved will be invaluable to your organization
5. Excel instead of a database
Databases are designed to securely store large amounts of data, more importantly they have protocols on how to handle changes and maintain consistency. Excel is flexible and relatively easy to use so a lot of people gravitate to putting data sets into excel spreadsheets. This is a mistake because:
5.1 Security
Having sensitive unencrypted data on your computer, or in an e-mail makes it vulnerable. Databases are designed to be secure.
5.2 Cannot handle 1000+ entries
Excel was not designed to be a database. It cannot handle thousands of entries. Excel can crash or take a really long time to create results.
5.3 Inconsistencies between sheets
5.3.1 Picture in time
When you download an excel spreadsheet from a database you are taking a snapshot of what's on record for that particular time. It’s not uptodate.
5.3.2 You can accidentally alter cells
You can easily delete or alter a cell without realizing it. Making any results or statistics incorrect.
5.3.3 If you make updates they are not shared
If you update the spreadsheet with any data, those updates are not shared with the entire organization.
There are software solutions on the market that help make databases easy to create charts with and drill for statistics. We recommend you explore those solutions.
6. Build on the shoulder of Giants
There are plenty of open source projects that can solve most business problems. They are free to use and often require minimal integration and maintenance. Using an existing solution to a problem is better than building it from scratch.
When there isn’t an open source solution companies that specialize in a particular problem will be better at solving that problem then you. Because they offer solutions to other companies with the same problem, they can also offer that solution to you cheaper then what you could build yourself. Good programmers always research what tools are available to them before programming it. You should too.
7. Not making software decisions with software professionals
If you do not have a technical background it can be hard to tell what things will be difficult to create. Even minor changes to a design can save hundreds of thousands of dollars on a project.