While offshore development or outsourcing IT services may be a practical solution for startups and enterprises alike, how do high quality dev shops actually prove their value?
We received 474 inquiries last year from listed companies looking for digital transformation solutions to entrepreneurs with innovative app ideas. Below are the 5 main areas that digital agencies and development teams can differentiate themselves and build trust with potential clients from day one.
The explanation is more important than the “Yes/No”.
A digital agency’s value is their strategic and technical decision making, not just implementing any feature list they receive. Creating a product with a quality codebase depends on effective collaboration with a client. The design and development team can help a client consider features that add value to their users if they take time to fully understand a client’s vision and product. Good agencies don’t just say yes and add a price tag to every feature request, especially when it is costly and doesn’t add value for a user. Constructive push-back is crucial.
A design and development team also doesn’t shy away from explaining decisions or inviting feedback. For instance, a team should also be able to prioritize features and explain the thought process. Another example is that a team can can discuss the benefits and drawbacks of using various technologies, such as hybrid vs native app approaches for mobile users (and the price difference). Agencies deliver quality products because they can educate and create a process to involve clients that ensures an alignment for product delivery.
Resist the race to the bottom for project quote estimates
Like other agencies, we are pressured to give project estimations off the bat based on whatever documents provided (even when they’re not entirely clear or relevant) and lower prices to be competitive for bids. The problem is that estimations are just guesses before the design specifications or feature list is finalized. If an agency commits to a project with a fixed budget before deciding on a clear feature list and roadmap, they have set a time bomb that misaligns interests. Fixed cost projects without a clear roadmap means extra work when a project overruns, and evaporating profit margins for the agency, which then wants to sign off the project with whatever seems functional. This results in low software quality with a code base that is not maintainable for the client, and low profit margins for the agency. It’s a lose-lose.
Our approach is to give development estimations if we have good enough wireframes and documentation. We work with clients to do a design project first and lining up the development part as our design process is being wrapped up. Clients can ask agencies for a list of requirements and deliverables to understand better how they price.
Tie quotes to iterations and methodologies
From design through to public launch, a solid development team probably has an iterative development process, such as SCRUM methodology. For SCRUM methodology, features are built in sprints with allocated time to address minor bug fixes as a best practice for ensuring efficient development and code quality. The most accurate way to quote is by feature, but agencies should also consider how they will build software QA into their quotations.
Even though clients may come with a fully-baked idea, agencies can propose breaking down complex projects into phases where appropriate. For example, an entrepreneur may only need a high-fidelity prototype to do user testing or pitch to investors before deciding whether to develop an app. A consumer app can also begin as an MVP with core features, developed on iOS, to test a market before investing on the Android version. Larger projects that need phases can be planned with each phase delivering a functional product to stay within a client’s budget, spread risk, and give time for feedback before proceeding further.
Demonstrate a solid approach to UX/UI
Project teams in agencies are lean and every member needs to deliver beyond their role. The best agencies will often have UX/UI designers who can consider technical factors behind the features they are designing. Engineers also need to think about optimizing UX and will take the time to think about how a feature is implemented to, for example, reduce page load time for a web app. Account managers or project managers should be able share past case studies of how an agency brings product features to life from the design through to technical components.
If an engagement is design-only, the design team should have a clear list of deliverables and docs that any software development team can use. If an engagement is only for the software development part of a project, agencies can ask clients for design documents, guide them with a list of documents the engineering team needs, and perform a code diagnostic for an app develop by a third-party. Again, these steps ensure that parties are aligned, no assumptions have been made, and features are not left undocumented in the scope of work.
Clarify project scopes and provide clear reports after kick-starting
Of course, projects still need ballpark estimates. The ballpark estimates help both sides save time in deciding whether to continue the conversation. For potential clients who do follow-up, the goal is to clarify the scope of work. A responsible agency will want to clarify the feature list and user stories to define the project scope. If no documents are available, they can provide the design service.
If a development team gives only a fixed long-term timeline after receiving an enquiry, clients can ask for a breakdown that includes estimations for each feature (such as login, search, cataloging, etc.) in estimated man-days. Our company’s project managers and developers use evidence-based-scheduling for project estimates.
In addition, signing on a client requires a continued commitment to service. A great agency will share how they setup communication channels and project trackers (such as Basecamp). Since we develop iteratively with 2-week reports, our clients can receive information such as the list of finished items, days spent on the current version, a testable build link, the QA status or scheduled test, and a list of known issues (bug reports). Builds may be uploaded to TestFlight (https://developer.apple.com/testflight/) or Hockeyapp (https://hockeyapp.net/) for clients to check out and create bug reports.
Hand over clean code
During initial discussions, clients should ask development teams whether they will hand over upon project completion. At Oursky, we hand over the codebase to our clients so they can manage or modify it as they like. The code also comes with clear git commit histories for third-party teams to take up. When clients have access to the code base, they have the freedom to return to a vendor or to hand off to their in-house team or third-party vendor to do maintenance and feature upgrades.
A vendor’s ability to share their process transparently, create realistic project scopes and estimates based on a client’s budget, and commitment to close communication are key to delivering quality digital products. Many clients have returned to work with Oursky over the years to upgrade their products or work on new ideas, and together, we’ve built award-winning apps that have been included in the Apple App Store’s “Best Of” lists. We also have 5 screening questions to ask app vendors to see if they use development best practices.