Every organization over a certain size needs to invest in information technology in order to compete. If you customize or build your own software applications, it is imperative that you select an integrated development environment (IDE) that fits the needs of your business today and provides technology insurance and scalability for tomorrow. The last thing you need is having to redevelop your applications because your old programs have become obsolete or too unwieldy to take forward.
Below are some of the tell-tale signs your IDE is holding you back:
- Your programmers spend a lot of time dealing with low-level ‘plumbing’ code, rather than working on the actual business issue that needs solving. ‘Plumbing’ code is related to the platform the software needs to be executed on, such as the operating system of the server, data base, browser, client device and other platforms specifics. A small change in any of these underlying technologies may create a massive amount of work, even when your business requirements have hardly changed.
- Development teams seem to be split over technical ‘silos’. Since the low level ‘plumbing code’ is specific to the platform it needs to execute on, developers tend to become specialists. For example, a .NET or Windows developer may not understand how to develop or integrate with the IBM i system, and neither the Windows or IBM i developer may understand how to develop for mobile devices.
- Modifications need to be made in tens or even hundreds of programs. The lack of a central repository for business rules, such as validations and calculations, make program maintenance overly time consuming and error prone.
- Developers seem to be split into two camps. One group struggles to keep up-to-date with a large number of fast changing technologies. The second group is so keen to get into new code that it seems like the adoption of new technology is an intelligence test (and welcome addition to their resume). Neither of these two groups of developers is likely to be productive.
- Mediocre quality of code. The development environment does not promote best development practices, such as re-use of common program components and object oriented design. Also, there is no training or mentoring available from the application development tool vendor.
- Use of short-lived technologies, resulting a lack of technology insurance. Some of the technologies used by your developers may become obsolete. If there is no vendor responsible for providing/generating updates, your applications are at risk of becoming obsolete as well.
- Applications are not portable, again resulting in a lack of technology insurance. This means you could be stuck if you want to execute existing applications on a different computing platform in the future. Integration with other platforms (internally or with third parties) might be troublesome as well.
- Even for simple projects there are multiple technologies involved and often multiple developers. This makes it hard to schedule projects and, in case of issues, even harder to determine the cause of the problem.
If you recognize one or more of these symptoms and would like to learn how other organizations have turned things around, have a look at these Web pages: