What is the first thing that comes to mind when you think of technology and software development? “Omelet Bar” of course! You know the one I mean – 4 kinds of cheese, 3 kinds of onions, 2 kinds of mushrooms, spinach, sausage, bacon, ham, peppers … you get the idea. You look through the 20 or more items available, select 3 or 4 items that look like they would taste good together, and whip one up. Terrific for omelets, but terrible for software.
A broad selection is a great way to attract customers to a restaurant. But if your goal is to run your business as efficiently as possible there are better approaches. Having to sort through hundreds of options in your accounting application in order to do the 4 things you always do every day doesn’t make sense. It wastes your valuable time. It makes the software bulky and hard to use. It takes longer to load, longer to test, longer between releases.
This is where Agile software development shines. Agile development focuses on the most important features first. In traditional development, the entire application has to be designed. Next it moves to development. Once development is complete it moves to testing. If a design issue is found during testing, the entire process starts over. Eventually it goes to market. You get the whole omelet bar, even if you don’t like mushrooms!
In Agile development, we focus on the core functionality first. It is designed, developed, and tested at the same time in short cycles, and released to market quickly. We solicit end user feedback on what was released, rally around what is now the most important enhancement to the end user, and run it through the process. The next feature you need is being designed, developed, and tested all while you are currently using the core functionality. You get that new feature, we solicit feedback, focus on the next important enhancement, and the process continues. You can be up and running on new features in weeks instead of years.
With the short development cycles, your Agile software partner can adjust quickly to changing market conditions. What is important to your business now, may not be as important in 6 months. In a traditional development cycle, changes in your needs require change requests, new design, new development, new testing, and can take a great deal of time. With an Agile partner, a change in your business needs can be reacted to quickly – even as early as the next development cycle! Rather than resetting the development process, an Agile software partner can adjust with your changing needs. So for omelets, look for the one with all the options, but for the efficiency and success of your business, go with an Agile software partner!