Guide to Successful Custom Software Development
A Client Guide from Our President/COO Heath Clinton
If you or your organization is considering custom software as a solution to further your business, you may not know where to start. You may not know exactly what you need. That’s okay. In my role as Phase 2’s president and COO, I’ve seen what works and what doesn’t from both the client-side and the developer-side. I want to share what the client or organization might want to know – and quite frankly, should do – to ensure success.
Helping organizations with the adoption of technology – more specifically, software – is something I’ve found a true passion for. Over my 25 years in this industry, I have not only helped clients but also consulted with friends, acquaintances, nonprofits, and startups. I’ve seen the benefit of digital transformation and how well-written software can ease burdens and increase efficiencies. I hope my experience can help you as you begin this journey. To be brutally honest, developing custom software isn’t easy and will be challenging for a multitude of reasons. But hopefully, these suggestions will help set your expectations and build amazing software that meets your needs.
Use an Experienced Technical Advisor
You need someone in your corner who you trust as your technical advisor. I am not talking about your nephews’ girlfriends’ brother who lives in a dorm room and hacks code during evenings and weekends. I mean someone that has experience both from a technical and business perspective. A professional who can be a sounding board for your organization. This person will prove to be an invaluable resource as you embark on this journey.
Some organizations have this resource in-house. If so, I highly recommend keeping them engaged although they may have other responsibilities. This resource does not have to “live” in the project daily but should be available for advice along the way. They should also play a role in selecting a good development partner in the beginning. If an organization does not have this in-house resource, a software consultancy like Phase 2 would fill this role.
Commitment from the Top Down
If you are the decision-maker and signing the checks, commit to more than hiring a development partner, signing the agreement, and paying invoices. Custom software development is difficult and ambiguous. To ensure success there will need to be a cultural drive starting from the top level.
Not only must the project’s sponsoring executive stay involved, but also be the project’s cheerleader to the rest of the organization. It’s exceedingly difficult to see success and get through the process efficiently if the executive sponsoring the project is disengaged. White spaces lead to a lack of trust, which rapidly leads to relationship issues between the organization and the development partner. One of the main reasons custom software projects fail is lack of transparency or communication and the organization not being informed.
Stay in the Game
Many times I have seen a lot of excitement during project kickoff but when the client’s team becomes distracted with other responsibilities, they lose track of progress, milestones, etc. Though all of the reporting and transparency is there from the development side, if the client’s team members are not paying attention, this can lead to cross-team dysfunction. If this happens and causes the project to go off the rails, there could be flawed building of features or inaccurate solving of problems – which ultimately leads to extended timelines and budget issues.
The team from the client’s side has to stay engaged. A good development partner should have touch points built into their process based on each identified role on the client’s internal team. If at any point something doesn’t make sense, please ask questions and encourage your team to ask questions. You are paying a pretty penny for this product and the development services, so speak up and don’t be shy. Again, communication and transparency between the two parties is paramount.
Treat Them Like a Partner and Demand Accountability
Treat your hired development partner like a true partner and not like a vendor. If you have found a good partner, they will act like an extension of your internal team. When you do this and establish trust by both parties, the probability of achieving success is much higher. The 1980s dictator/beat-your-vendor-down type of business philosophy will not be productive. Software developers are insanely passionate about building amazing products. If leadership on both sides does their job supporting the actual engineers, they will build a quality product.
Certainly, your development partner must be transparent and held accountable for quality, deliverables, timelines, and budgets. If you find a quality development partner with the right processes in place and first-rate talent, there’s no reason to manage them down. I guarantee doing so would be counterproductive. In my experience, the folks you have hired to solve these hard problems will look out for your best interest. So treat them as a business partner, that’s what they are.
Ensure the Right Resources are Allocated
Support your development partner with the appropriate internal resources. Set them up for success. Expect working software to be delivered frequently from your development partner. You should have your internal team ready to test, review, and accept the deliverables. For instance, you don’t want a backlog of newly written code sitting in a repository waiting to be tested, accepted, or deployed. This backlog will lead to frustration, rework, and missed deadlines and budgets.
Further, ensure you have resources and infrastructure ready to work at the same pace as your development partner. This process should be scoped and outlined in your initial project plan. Doing so will ensure proper expectations are set from the beginning of the project. If this is done correctly with the consistent alignment of both parties, the project should move along according to the project plan. Make sure you have the right internal resources and processes to move through the development process with your partner.
To Summarize This…
This is a brief look at a few of the responsibilities the client has in the custom software development process. This list is not by any means all-inclusive and certainly could be elaborated on. First and foremost, make sure you have a development partner that you trust. Phase 2 prides itself on our transparent process and client communication. We’d love to answer any questions you may have about this blog or the custom software development process.