Project Owners: You are the Most Important Key to Custom Development Success!
Sometimes the single best option to automate a process or launch a new business is to build a custom application.
While building custom applications can offer a significant return-on-investment, they also come with a unique set of challenges and risks.
As the executive sponsor, your role as project owner has the most influence over controlling these risks. You can set the entire project up for success (or failure) by how you approach these five critical factors at the beginning of your project.
Set a Realistic Project Schedule
Not surprisingly, projects often require more time and become more complicated than anticipated. Allowing for a generous amount of time to educate your technology partner on the specific details and interdependencies of your current systems is a critical component of your future success. It is important to build rigorous requirements to maximize the productivity and ROI of your newly improved processes. Few things can wreak havoc on a project timeline and budget more than discovering new requirements or changing requirements late in the process.
Despite everyone’s best efforts, early deadlines seem to be a frequent casualty of the process. Flexibility that allows you to move your final deadline or adjust your planned minimum viable product is often a wiser move than taking short cuts in development time. These short cuts inevitably cost you more money and time in the future.
It is also critical to build a timeline that allows for adequate testing throughout the project life cycle. Lack of appropriate and thorough testing leads to lost time for fixes and re-writes and often leads to user rejection and disillusionment with the new system.
Choose a Partner Based on Capabilities Not Connections
Choosing the most appropriate partner can be a challenging proposition. As with any discipline, there are a wide range of IT skill sets and experience to choose from, such as network administrators, software architects, back end and front end developers, DBAs, etc., with expertise in a variety of technologies. The right technology stack for your project needs to be primarily determined by your requirements. In some cases, it may make sense to evaluate what the right technology match is for your project requirements before you select a development partner.
Selecting the right partner should be based both on their proven track record as well as their approach to your project. Ultimately, your goal is not building software, it’s building your business. A good partner will not just be an “order-taker.” They will work with you to understand your business strategy, objectives and manage risks. A great partner will work with you to redefine your project if they believe there is a better approach to meeting your business goals.
When evaluating potential partners, consider the following:
- Do they have experience with projects similar to yours?
- Do they quickly grasp your business model and the business case for your initiative?
- Do they take time to learn about your business?
- Do they consistently offer business insights relative to your situation?
- Do they challenge your ideas and suggest alternative ways of doing things?
- Do their ideas make sense from a business perspective?
- Can you see yourself working closely with them over a long period of time?
Bottom line, your partner should not only be technically competent, they should be someone you like working with and can help you think beyond the obvious.
Align Your Budget and Your Expectations
To achieve the lowest total-cost-of-ownership over time normally requires that a scalable, extensible architecture be put in place from the beginning. This enables the application to grow with your business without you having to incur substantial development costs down the road.
Normally, this requires more investment in time and money than designing an application for just the here and now. If you have a limited budget for the initial build, you’ll need to decide, with your partner, where you can build flexibility into the application and what by necessity will need to be hard wired. This is not an unusual situation, but it does require accepting the reality of an approach that may cost you more down the road.
If you’re an early stage startup developing a commercial software product for resale you should consider proving your business case with a minimally viable product. A minimally viable product does just enough to get your business started and enables you to learn what your customers really want before you invest in an enterprise class platform. The strategy requires that you be prepared to accept the concept of throwaway costs or planned obsolescence.
The two most common pricing models that IT firms offer for custom development are fixed bid and time and materials. Fixed bid is when you and your partner agree on a set price for designing and building your software. This approach is designed to mitigate budget risk, however it can compromise the overall level of completeness and quality of the final product.
It’s extremely difficult to be 100% accurate with an initial estimate at the start of a project. Because your partner is in business as well, they will strive to meet your project needs without losing money and hours due to unforeseen issues. A partner may opt to cut corners or produce a product that meets the bare minimum requirements you have agreed upon. They may also renegotiate the terms of your engagement if they get too far behind financially.
If you are planning a project for a fixed bid, be prepared to stay fully engaged with your partner throughout the project so that you can mitigate these potential risks as much as possible.
Time and Materials
Time and materials is when your partner provides an estimate at the beginning of the project and you agree to pay for their services on an hourly basis. While this arrangement may seem to favor your partner, it often produces a superior finished product because it incents you to be fully engaged and your partner to continuously have your best interest top of mind. Issues that come up during a fixed bid project are likely not to garner the same attention and consideration from your partner as working under a time and materials project due to the added expense. You’re also much more likely to stay engaged and focused, heavily scrutinizing and managing your partner’s project plan, line item estimates, choices of technology, etc.
Remember You are a Critical Member of the Team
Most software development firms use some form of an Agile development process. As the Project Owner, your input is needed throughout the process to ensure that the final product is a success and achieves the highest user adoption possible. When you plan your project, be sure you plan to be a part of the project team too.
Missing status meetings and ignoring user testing deadlines almost always leads to rework and overruns. If your company has multiple stakeholders with equal authority they must also stay engaged until go-live or be willing to accept the consequences. In this situation, your stakeholders are also accountable for resolving any conflicts they may have for the project goals. Inevitably, if this accountability is placed on just one partner without clear goals, it will increase the cost and timeline for your project.
Communication is the Key to Success
If you ask any experienced project leader what is the single biggest impact on timelines and budgets, most will agree that it’s communication. The demand for clear, concise communication is most intense during the planning phase. Misunderstandings and omissions of essential requirements at the beginning of a project result in major rework later and stress between you and your partner.
It’s also common for there to be honest misunderstandings regarding project status. Oftentimes IT professionals will communicate status in terms of sprints, milestones and hours to complete tasks. While this is information is important to know, you should also always be aware of your budget to project completion ratio.
Building custom software requires you to make hundreds of decisions. Some are small in nature but most build off prior decisions creating a long chain of interdependent interactions. This requires you and your partner to stay in close communication throughout the entire project life cycle.
Designing and building a custom software application requires a significant time commitment, attention to detail and determination to achieve the best possible outcome. Your willingness to go into the process with the proper expectations and to accept the demands of your role is the most important key to project success.