It’s been said that developing software is messy and it’s always messy..that’s just how it is…even with established technology and an experienced development team. But when you throw in new technology, things can even get messier because teams often are learning the technology at the same time they are building. In this case, even with the best requirements, a simple product, and the best process, things can get really messy. In some cases, could the innovativeness of using the latest and greatest technology be harmful to the success of an organization? That notion got me thinking about how organizations can identify when innovation could be risky for the long term success of the organization.
Here are a few that I came up with:
The bus problem
No plan once an application goes into production
No development standards
Do you know the technology stack your organization uses? Are you a Java shop, .Net, strictly open source? How about databases – mysql, postgres, oracle? AWS, on-premise hosting, maybe a mix? Who approves the use of new technology? How does experimenting with new technology work…does it even happen? Are there standards for testing? How are deployments handled…are they automated? If the answer is “I don’t know,” then throwing new technology into the mix will undoubtedly increase risk in the long term. It’s best to have a good handle on your core technologies before you bring in anything new.
Balancing innovation, experimentation, and learning with stability and actually getting stuff done is a balancing act that organizations have to spend time thinking about. Are you?