Any and all custom software development projects come with a level of risk and stress. After all, you’re trying to build something never built before. And many times, this means you’re using an outside resource. That makes the entire process feel even scarier.
Let’s frame the situation further:
- You’ve been tasked with finding a software development consultant who can implement a replacement for your department’s aging data management solution.
- You and a core group of your team members have met with several development consultants.
- A few bids are factors larger than the budget you’ve been given, but most are comfortably within budget.
- Management has made it clear there will be no additional funding available beyond the provided budget. But you’ve done your research. You’re aware that ~50% of software development projects run over budget.
All the proposals sound reasonable. How do you vet the right software development consultant?
A coin flip is tempting, but you’re probably unwilling to risk your career with that tactic. Join me as we explore seven signs you’re working with the right software development consultant.
Sign 1: A Strong Discovery Process That Answers Who, What, Where, When and Why
All software projects start with discovery. The goal of discovery is to identify the project scope so we can accurately estimate the cost and timeline for implementation. The ability to accurately estimate project scope is inherently tied to uncertainty. If we liken our project to building a puzzle, our puzzle pieces are equivalent to features, and our project is equivalent to the completed puzzle. The more time spent envisioning a solution, the more individual puzzle pieces (features) we expose. This increases the resolution of our puzzle picture and, at the same time, decreases our uncertainty in project scope, timeline, and cost. Most discovery falls short in the ability to expose ALL the puzzle pieces by asking the who, what, where, when, and why for a given feature.
Who: Who is using the feature? Is it being used by multiple user groups? Should everyone have access to this feature?
What: What is this feature accomplishing? What does it do? What other areas of the application does this feature impact?
Where: Does this feature have dependencies? If so, where do those dependencies come from?
When: Is this feature part of a larger sequence of events? Are there time restrictions for this feature?
Why: Why does this feature exist? Is it necessary? Why is the feature being implemented as prescribed?
Good consulting and, in turn, discovery, demands we ask ALL these questions to expose ALL the pieces of our project puzzle. Failure to do so results in missed scope, increasing cost and timeline projections.
Sign 2: Risk Assessment
Did you know your project is risky? In fact, all software development is risky to some level. No matter how straightforward your specifications might seem. There’s always a chance some unforeseen circumstance may unfold, causing cost and timeline increases.
Experienced software consultants will identify common software development risks that relate to your project early on in discovery and share those risks with you. Not only will they share the risk. They’ll build a risk mitigation plan and cost/timeline exposure estimate to reference if a risk is triggered. These estimates help stakeholders make proactive budget decisions.
Sign 3: Assumptions Gathering
For every feature estimate, an implementation assumption is made to provide a cost estimate and overall project cost. Most assumptions are internally dependent on the software consulting team and need not be identified and documented. Communicating externally dependent assumptions is vital for the success of any software project.
Are you building a feature that requires pre-existing user data? Did the development team share their assumption that you would be able to provide the user data to them in a specific format? What 3rd party data connections? Does a feature require integration with another internal system? Was the assumption that your in-house team would expose that data to the new solution communicated?
Missed assumptions can impact project cost and timeline and burden other organization resources.
Sign 4: MVP & Release Planning
Large projects inherently require more resources and planning. They are prone to increased risks, all leading to a greater chance of project failure. Look for consultants who keep an MVP (Minimal Viable Product) mindset. Does a given feature need to be in the first release of the application? Are there parts of a feature that could be delayed as a later release?
Business value t-shirt sizing is a great exercise for identifying and prioritizing your project’s feature set. It involves assigning a business value t-shirt size (XS, S, M, L, XL) to each feature relative to the sizes of all features in the project. Once assigned, business value t-shirt sizes can be combined with effort estimates to identify features with a low business value impact but with a high development cost. These features should be considered for later development releases or excluded from the MVP project to be implemented in a later release.
Sign 5: Modern Technology Preferences
It’s safe to say that every software development consultant will have their preference for programming languages, frameworks, and hosting environments. However, popularity of languages and frameworks wane over time. Out-of-date frameworks and programming languages are more susceptible to vulnerabilities and can have a low pool of skilled developers available to support your application.
Google trends can help you analyze the popularity of a given programming language or framework over time. Developing your application on a well-maintained, utilized, and supported framework or language can help reduce its long-term maintenance costs and increase the ability to find qualified developers to extend and maintain your application.
Sign 6: Feature Lifecycles
As a project transitions from discovery to development. We move from identifying our puzzle pieces to assembly. Look for software development consultants who keep a feature mindset. Each puzzle piece assembled, or in project terms, feature developed. Requires a lifecycle of events that repeats until that feature is complete to ensure the quality of the solution produced. Below is a list of key lifecycle events to discuss with your potential software development firm that will help ensure the correct implementation of your project vision.
Priority: Is this feature being implemented in the right order? Is there a release plan for grouped feature sets? Features should be grouped and released together in testable sets of functionalities or Epics. Delivery of features in this manner allows for independent testing and verification of functionality across company departments and stakeholder groups.
Code Quality: Ask development teams to share their internal code review processes. All project code should be peer-reviewed prior to the merger with the main code base. Developers should also audit project code at key development milestones to ensure best practices and security standards are met.
Definition of Done: Key project stakeholders should be involved in Acceptance Testing throughout the development lifecycle. A feature should not be considered complete unless verified by the owning stakeholder. Ensuring this allows for a shortened feedback loop and implementation time for scope revisions or bug fixes.
Forecasting: Feature development will be an ebb and flow of hit and missed implementation time projections. Following Agile development methodologies allows project teams to forecast an accurate cost and timeline at any point of development by measuring work already completed and the remaining work to be completed.
Sign 7: Long Term Support
Your product vision may not match your customers’ expectations. Your application may experience higher user loads than anticipated. If there’s a production bug, how long will the turnaround time be for a fix?
Custom software development requires ongoing maintenance and support. Look for a consultant looking to partner with your company and support your application in the future.
Choosing the Right Partner for Your Business & Project
With all of these factors to consider, finding and choosing the right software development consultant can feel even more daunting. This checklist will hopefully help you better evaluate each, though.
Our team prioritizes the above development project characteristics and may be your right partner. Contact us today to talk with a consultant and learn more about our work and process.