Tripod Technologies - Home Page
 
FREE INFORMATION:
Why Tripod T3 Breakthru Approach Services Who We Work With News & Events Free Resources About Us Contact Us
Man In Front Of Laptop Computer
Capital Efficiency 101 for Your Software Development
Learn More »
How To Build Quality Software -- Without Breaking The Bank
Learn More »
A Simple Guide To Setting Up Regression Test Automation
Learn More »

 

Forward to a friend

5.5 WAYS TO MAKE SURE YOUR SOFTWARE DEVELOPMENT PROJECT IS UNDER BUDGET

Many people have had experience working on software development projects whether with internal software teams or external software development companies. It's no surprise to hear that most of those projects typically run over budget. But what might be most interesting is that there are very specific processes that when implemented actually ensure that software development projects come in at or even under budget, regardless of whether you execute it with an internal team or hire an outside firm to deliver the work.

1. UNDERSTAND SCOPE AND SCOPE CREEP
One of the main reasons software projects go over budget is the addition of scope to your project. Typically increased scope and scope creep is caused by a lack of understanding of the "true project scope" at the beginning of the project.

It is critical that you understand the scope of your own project before you begin the project. One effective way to do this is to define exactly what you want your software system to do, and very specifically, what business NEED the software satisfies.

Take enough time and work with the people that will eventually use your software to understand all the specific situations the software needs to handle, and exactly how they want the software system to work. Create an internal team of stakeholders who will be impacted by the new software system, and work with them to gain agreement on how the system will work, what it will look like, and how it will feel to interact with it. Make sure your team is in 100% agreement on these requirements before your software team starts writing a single line of code.

Make sure your team identifies all the external systems your new software will interact with or connect to. Then work with your software team to scope these integration points accurately at the outset of your project. Don't underestimate the work necessary to make different systems work together, and make sure you include stakeholders from these external systems in your planning effort. Dependencies and integration points with external systems are frequently overlooked and create challenges for new software projects.

2. KNOW YOUR TECHNOLOGY
There are a wide variety of technologies, products, tools and architectures for your software project. While it would be very appropriate for your internal or external software development team to recommend the right combination of tools for your project, it is important that you understand the pluses and minuses for the technologies selected for your project.

To make that easier, here are a couple of very important questions to ask about the technology recommended for your project.

  • Has the recommended combination of technologies/products been implemented to solve a similar problem within your company?
  • Have they been implemented within your industry or with other companies like yours?
  • Has the exact combination of technologies & products been implemented in other companies? Specific versions of the product should be included in this question.
  • How have the technologies/products performed in the above situations? What, if any, are the stability, scalability, security and reliability issues associated with the proposed combination of technologies/products?
  • Has the team assigned to work on your project ever implemented this set of technologies/products before? If so, when? What were the challenges and how did they overcome them? Ask for specific details.

If you find that there are parts of your system that include risky technology solutions, replace these with more stable, proven options or eliminate these from your project. This significantly reduces the technology risks associated with your project, and provides added confidence that the project cost will be at or under budget at the conclusion.

Remember that this new system will be with you for many years. Make sure you have the right management tools in place and that if future development is required, your internal team is capable of making these changes quickly and easily with your existing set of tools.

3. KNOW YOUR TEAM
First, make sure you know what your internal team can and cannot do. This is really important to understanding whether you need external help. It will help you know what you should expect from an external team and the costs associated with their contribution to your project. If you choose to use an external software partner, it is equally important to understand what your software partner is capable of and the extent of their team's abilities. This understanding prevents you from paying for needed expertise that might not be resident within their current organization.

One check point for evaluating your potential software partner is their experience with the technology that will be part of your project. Maybe more important than practical technical experience is a detailed understanding of your business - if they don't understand your business, they will not be able to create the software to drive your business. Remember that if you have an internal development team, they might be able to supplement an outside software development partner with a deeper knowledge of your business. If the prospective partner has industry expertise, it's usually one indicator that they have dealt with similar challenges from similar companies and have found appropriate solutions.

Regardless of whether you are handling the project in-house or with an outside firm, make sure you know who will lead your project and make sure they have experience managing similar sized projects with similar technologies for similar companies.

Another way to ensure that your software project will come in under budget is to evaluate the development process for your project. You should be able to see exactly how the requirements will be created - or better yet - actually creating the requirements, specifications, and detailed solution descriptions with your participation throughout their process.

If you are looking outside for resources, one aspect that is often overlooked is company culture. Make sure your culture and your software development processes are a match. How do you handle commitments to project timelines, budgets, pride, praise and penalties? If you drive your internal team to hit project deadlines, but your partner approaches deadlines as a guide that can be missed or adjusted, you might have a mismatch that will create unnecessary challenges for your project. If you are handling the project in-house, make sure your internal team clearly understands your desires around project timelines, commitments and deliverables.

4. UNDERSTAND THE PROCESS AND MAKE SURE IT IS PREDICTABLE
One of the most important predictors to delivering a software project at or under budget is the presence of a predictable, repeatable development process. Review the risks we identified above and make sure the process addresses those risks with methodologies designed to limit the risk. In addition, there are standard software development life cycle best practices that should be a part of any process.

If you are going to utilize standard software development life cycle best practices, then you need to review any process to ensure that it includes a source code repository, tools for configuration management, build management, requirement tracking, bug tracking with resolution, and valid testing processes.

Most importantly, the process should be centered around you. After all, if you aren't providing the input and if you aren't included in the process, the chances your project will run over budget are high. You should be actively involved in the project at all phases of the project. Don't wait until the development is over to see the product. Your development team, internal or external, should be running an iterative process that allows many small checkpoints for you and your stakeholders to validate that the software works exactly the way you expect it to work.

5. SWEAT THE SMALL STUFF
To bring a project in under budget, the details are critical. You need a detailed project plan that outlines all aspects of the project with task assignments and detailed timelines. Without this, your project has the potential to run late and run over budget.

In addition to a detailed plan, an experienced project manager on your staff or from an outside provider takes a good plan and turns it into a highly efficient project. Your project manager should be a strong communicator and someone who pays attention to all the little details. Be aware of any cuts or compromises made to the process that might be needed to bring your project in on time and at budget. These compromises could impact your software product's ability to meet the initial requirements.

Your project manager should have a good idea of the realistic metrics to illustrate the project status. This is more than a set of pretty charts, but an ongoing analysis of standard or custom project management metrics that are used to evaluate the progress of your project at any point during development.

Agree on the timing of your progress measurement before you start your project, as some agile methodologies force you to measure progress on a daily basis, while other iterative methodologies have weekly or bi-weekly measurement periods. Choose a frequency that is realistic, provides actionable measurements, and then stick to it throughout the entire project.

5.5 COMMUNICATE EARLY AND OFTEN AND LISTEN WITH BOTH EARS
This point cannot be stressed enough. It is not just top-down communication - you also need bottom-up, peer-to-peer and matrix communications. Implement tools that make it easy for your team to communicate, track progress, identify issues and resolve bottlenecks. As the project owner, you have to constantly listen to all project stakeholders and team members. Don't ignore any issues that might impact your project. Challenge your software development team to deliver progressive solutions that keep the project moving forward.

Forward to a friend



HOME | WHY TRIPOD | T3 BREAKTHRU APPROACH | SERVICES | WHO WE WORK WITH | NEWS & EVENTS | FREE RESOURCES | ABOUT US | CONTACT US
© Copyright 2010 Tripod Technologies
Website By Square 2 Marketing