By Sean Blair, CTO at MXOtech
Application development projects are infamous for surpassing project timelines and budgets. But failure isn’t a question of technical acumen. Most IT firms use outdated project management processes that lead to wasted time and money.
Consider these stats:
- In the U.S. alone, companies spend $250 billion each year on IT application development
- Average application development costs range from $434,000 to $2,322,000
- 31.1% of these projects will be cancelled before they’re completed
- 52.7% of application development projects will cost 189% of their original estimates
When outsourcing application development, project management processes matter — even more so than the firm’s technical expertise.
Agile software development has become the new standard, solving many of the shortcomings brought on by the traditional waterfall method.
When developing a critical business application, you can’t afford to waste thousands of dollars on a failed project. To dramatically reduce your risk of failure, you must understand where old software development models fall short — and how to identify truly agile development firms.
Why application development projects fail
Traditional development teams frontload projects with extensive planning and follow a series of steps to complete the job. An IT firm might work with you to develop a detailed project roadmap — and that’s where your involvement ends.
This type of sequential development removes user feedback and operates largely on assumptions. The most common method is waterfall.
What is waterfall development?
The waterfall method relies on an intensive discovery process to gather all application requirements. Projects plans are largely technology-driven, and development teams don’t deviate from the plan.
Consider the approach a civil engineer would take to creating a bridge. They first quantify all project specs with the client — the type of weather it will endure, required weight, etc. — then build exactly what the client wants.
With waterfall, you have few (if any) opportunities to test and critique the work and make changes throughout development. Once you agree upon the plan, you don’t see the deliverable until it’s fully built.
Here’s what the process looks like:
- The development team gathers all information on your application, including requirements, desired functionalities and internal processes.
- The project manager designs a lengthy project roadmap, and you provide feedback on features and milestones.
- The development team builds the application then returns a finished product.
Waterfall works well for predictable, repeatable projects like civil infrastructure. But when developing a custom web application, you need a continuous feedback loop to ensure the end product actually serves your specific business function. Waterfall operates on a few flawed assumptions. Here’s why this method falls short:
- Application users often don’t realize what they want until they see it.
- A development company can’t realistically predict user needs and plan every phase of a complex, custom application upfront.
- Last-minute changes will inevitably arise during the development process.
A smarter application development approach: agile project management
Agile development focuses on rapid-prototyping, short, iterative development cycles and frequent user feedback to guarantee the application produces business value. (Read the Agile Manifesto here.)
Unlike the waterfall method, agile developers break down projects into small chunks of business value — and don’t use technologies to define project milestones.
Agile development is a more flexible, realistic approach to building business applications. However, to succeed with this development style, you must be involved in the process.
How to succeed with agile application development
Using an agile development company will set up your application for success and help control costs. But it will require a decent time investment on your part.
Here are some critical areas you’ll need to be involved:
- Preplanning: Of course, you’ll need to communicate your application concept, the business needs it should solve and critical requirements.
- Wireframing: Expect to help your application development company quantify how data will be transformed throughout the development process.
- Interface: You have a vision for your application. You understand the business processes involved and know what information employees need to have. Building a helpful, intuitive user interface requires your detailed feedback to prevent user confusion.
- Feedback: Providing basic requirements isn’t enough to ensure success. You need to be involved with the development team on a weekly or biweekly basis to make small course corrections. Expect to commit around 8 hours every 2 weeks.
How to identify a truly agile app development partner
The success of your application development project hinges on the project management method your IT firm uses.
Although many application development companies recognize the flaws of waterfall development, few have evolved their processes to align with the agile methodology.
Here are telltale signs of a truly agile development firm — and critical questions for vetting application development companies:
1. Frequent collaboration with you, the client
True agile development firms bake frequent client feedback into the process. As the client, you should look for a company that communicates with you often.
Ask these questions to ensure the company is set up for collaboration:
- What development method do you use? If the team openly uses waterfall for application development projects, continue your search elsewhere.
- Where is your development team located? If the team isn’t nearby, make sure they’re available for Skype calls and meetings. Avoid teams in different time zones (especially other countries) that communicate by documentation only. This is a telltale sign the firm isn’t truly agile.
- What does your feedback process look like? Agile development teams typically work in short one or two-week sprints. They should require your input every week or two.
- Will I have access to your project management system? Few development companies provide this level of transparency, but your input is critical. True agile firms let you see what’s happening in real time.
2. Direct access to the development team
Development teams often speak in technical terms rather than business value. You need a direct line of communication with the development team to make sure they understand the business function you intend to get out of a feature — not just the technical requirements.
Ask: With whom should I be communicating?
Avoid companies that use project managers as middlemen to relay all information to developers. You need to speak about issues directly with the specialists responsible for them so nothing gets lost in translation.
Project managers should be solely responsible for managing scope — otherwise projects can easily veer off course.
3. Value-driven language
Agile developers don’t spew technical jargon when discussing your application features. They break down product functionality into small chunks of actual business value.
When the development team speaks in terms of technology, you can’t weigh in. True agile companies use business language both internally and externally to stay laser-focused on solving your business needs.
4. A definitive project timeline
True agile development firms succeed because they measure team velocity and can accurately predict how long each task will take.
For instance, they should track how many widgets the team can stamp out in a certain time period, team capacity and other critical metrics.
Ask: How do you measure the project timeline?
If your development company estimates the timeline or uses uncertain language like “we think,” they likely struggle with managing team productivity or breaking down a large effort into small deliverables.
5. Short development cycles
Short development cycles are foundational pieces of agile development. A firm should want your feedback as soon as possible to avoid project waste and misaligned expectations.
Think about it this way: If you receive a feature that doesn’t solve your business need, would you rather waste one to two weeks or one to two months? Rapid development keeps your project moving — and in the correct direction.
Ask: How long are your development cycles?
Aim to review small chunks of work every one to two weeks so you can give feedback and make small but critical adjustments along the way.
6. Clear definitions of “done”
Clear markers of success keep you and your app development team on the same page.
“Done” to a developer might mean a specific feature has been implemented. But if the business value is not apparent, you might think differently.
Ask: How do you measure success?
The firm should have concrete ways to measure success. Deliverables should be specific and have hard deadlines.
You’re investing thousands in a business application that should pay for itself multiple times. But entrusting your application development to a company using outdated methods will draw out your project and dwarf your return on investment.
At MXOtech, we’ve spent years fine-tuning our agile development process to deliver the best applications and experience possible. We leverage data to accurately predict project timelines and give you full access to our systems.