The speed of doing business is continually moving faster, but for many businesses, big, long-term software projects still move slowly. And they often discover at the end of a long software project that the software they asked for two years ago is not the software they need today.
Fortunately, there’s a path to speeding up development and getting the software you need, when you need it.
Managing projects the wrong way
Software development projects often look a little like this: After a series of initial meetings, a plan and contract are put in place with specific end goals and requirements. A development team then goes to work building something that matches the requirements they’ve been given.
It could be months or even years before the business gets their hands on what’s being built, and in many cases, the launch to production will be the first time anyone finds out that the application doesn’t meet the needs of the business, even though it might match what’s in the contract.
It’s possible that no one even knew what the actual needs were until using the software.
Everyone involved gets frustrated, and if the business decides not to abandon the project, the eventually completed application usually ends up being a costly, years-late mess.
At LSG Solutions, we use the Agile development methodology to prevent situations like this.
Agile to the rescue
What is Agile?
Simply put, Agile is a set of methods for managing software development that cuts out a lot of risk and frustration.
There are a several components of the Agile methodology, but the most important are a focus on delivering functioning software and a close collaboration between development and business teams. Those concepts may sound like common sense, but put into practice, they make the difference between project failure and success.
What does “functioning software” mean?
It’s difficult to get good feedback on a project by showing someone a design document or a project plan. As part of Agile, we break applications down into smaller, immediately-usable components and get it into the users’ hands as soon as possible. The business can start seeing the benefits of their new software in weeks instead of months or years.
This also allows us to get better, quicker feedback on where the project needs to head. If there are features that need to be added (or dropped), we can make those changes early on. This method provides a lot more flexibility than traditional development methods and allows us to adapt the software to new business problems discovered during development.
Collaboration is key.
Using Agile, we work more closely with our clients than a development company using more traditional development methods might. Reviews are much more frequent and general communication takes place on a daily basis. This frequent communication dramatically reduces the misunderstandings that crop up during lengthy development projects.
A close working-relationship between developers and the business team helps the developers understand the operational needs of the business and helps the business team understand more of what’s possible from a technical standpoint. It helps both ask better questions, leading to better software.
The best thing about using Agile when working with our clients is being able to plan and build applications that solve the right problems and that can be adapted as needs change, instead of forcing the business to adapt to the software. Because technology should support business and help it grow, not keep it boxed in.