Experimentation. It certainly provides value, but must be watched closely. Constantly trying new ideas and never landing on a consistent approach becomes a cancer for a project. If left untreated, it creates project delays, technical debt, and reduces velocity.
Experimenting is critical to the success of a project. It ensures that we find the best technology, the best approach, and the best design for the product. Constantly searching for new technologies, new approaches, and new designs becomes Shiny Object Syndrome (SOS). There are ways to combat Shiny Object Syndrome without squashing experimentation.
Experiment in the right context
Is this a one-off solution or something that affects the larger scope the project? Always ask yourself this question prior to experimenting. One-off solutions should be implemented as just that, a one-off solution. Don’t spend excessive time experimenting as the R&D costs will never pay off. In these cases, find a solution and run with it.
Always time-box experimentation
When you have a problem that impacts the larger scope of the project, put a time-box around the time you spend searching for a solution. Spending 2 weeks may be acceptable within the context of a project, but spending 2 months is likely excessive. Pick a time-frame that makes sense within the larger scope of the project. In agile terms this is often called a spike and allows time for a team to wrap their arms around a problem.
Experiment early on
Once a team has attained a high velocity and has a stable approach to the problem being solved, the benefit of experimentation may decrease. There are maintenance benefits to code consistency and a consistency of approach. It may make sense to continue the same approach for the current project until completion, but once again experiment on the next project.
Innovate with appropriate technologies
Innovation is critical to help companies achieve better return on investment from their software investments, but make sure your innovation isn’t misusing a technology. Each technology has a sweet spot. This is where the the technology shines and increases your ability to succeed. Used the wrong way, a technology can hinder a project, or worse, create issues that are only found once the project is released.
Experimentation can make your project a shining success, but make sure you follow these tips and avoid shiny object syndrome.