What are 5 important things to consider when commissioning a digital project?
So, you've made the decision to commission a bespoke software development project. You've identified a need within your organisation, you've asked the critical "why" questions, and you've determined that developing a new digital solution will bring clear benefits—whether it's improving efficiency, enhancing customer experience, streamlining operations, or opening up new revenue streams.
At this stage, you know what you want to achieve, and now it's time to consider how to make it happen effectively. There are many important factors to think about—such as Data Privacy and managing the types of personal data your system will handle, Regulatory Compliance that may apply to your industry, and ensuring User Accessibility for inclusivity.
The full list of considerations is extensive, and maybe one day I'll write more on those subjects. But in this article I've covered five key areas which will provide a strong foundation for starting your project on the right track. These aspects will help you plan more effectively, mitigate risks, and set your digital project up for long-term success.
1. Intellectual Property: Who Owns What?
Intellectual Property (IP) refers to the ownership of everything that's created for your project—whether that's code, images, or design assets. This is not just a technicality; establishing who owns what is key to ensuring you have the rights you need to use and modify your digital product.
Licensing: It's common for digital projects to use various third-party components, like fonts, images, or software libraries. You'll need to make sure you have the correct licences in place. For instance, if a designer uses a font foundry typeface, you must know if the font licence allows commercial use, or if there are restrictions on how you can use it on different platforms - web, mobile, print etc. These details can impact the long-term usability and legal standing of your project.
Open Source vs Proprietary: Developers often rely on open-source software for projects. Open source can save time and money, but it comes with specific licensing requirements that you should understand. For example, some licences require you to publicly share any modifications you make, while proprietary solutions may give you more control but at a higher cost.
Ownership: It's also essential to discuss and agree on the ownership of the final product. Typically, the client will want to have full rights to the software that is built, but there are often parts of the project—such as reusable components—that the developers retain IP rights over.
As software developers ourselves, we often create components that are designed to be reusable across multiple projects. Retaining IP rights over these elements allows us to reuse them in future work, which keeps development efficient and cost-effective for all clients. However, this doesn't mean that the client loses out; instead, these reusable components are licensed to the client, granting the right to use and modify them as part of their project.
This approach benefits both sides: the developers can continue to build on well-tested components, and the client gets a reliable solution without needing to worry about extra costs or restrictions related to modifying their product. It's important to have a clear understanding of how these licensing arrangements work, so you can have full confidence in your rights to your digital project while respecting the developer's ability to continue innovating.
2. The Work Around the Work: Non-Functional Requirements
Often, when planning a digital project, all the focus goes into what the user will see—features, functionality, and design. But there's a lot of work behind the scenes that needs attention too. These include non-functional requirements and aspects such as environment setup and DevOps, testing, scalability, and security.
Environment Setup and DevOps: Before your product can be built, the development team will set up the development environment(s) and consider AWS accounts, infrastructure and deployment environments. This includes choosing the right tools, setting up version control, and establishing a deployment pipeline. DevOps practices help automate these processes, making development more efficient and reliable. By investing time in environment setup and DevOps, you can ensure a smoother development process and faster delivery of your product.
Testing: Quality assurance is not a one-time exercise. There are multiple stages of testing, including unit testing, integration testing, and user acceptance testing (UAT). Each stage plays a role in making sure the product works as intended and meets user expectations. Allocating enough time and budget for proper testing is crucial—it's far easier to catch and resolve issues early on rather than after launch.
Scalability: Scalability refers to your system's ability to handle growth. This is an important consideration if you're expecting your user base to increase over time. A solution that works well for 50 users may struggle with 500 if scalability hasn't been built into the plan. By considering scalability upfront, you can ensure your system grows smoothly as your business expands.
Security: Security is a non-negotiable aspect of any digital project. This involves risk assessing and protecting user data, preventing unauthorised access, and ensuring the system is robust against potential threats. Security measures such as encryption, secure authentication, and regular security reviews should be part of your initial discussions. A security breach can cause significant financial and reputational damage, so this should never be overlooked.
3. Priorities: What's Crucial Now vs What Can Wait
It's easy to get caught up in creating a solution that does everything you could possibly want. We've done it ourselves when building our own products. However, prioritisation is key to getting a project off the ground effectively and within budget. A good strategy is to define what's essential right now versus what can be added later.
The MVP Approach: One effective way to approach prioritisation is by defining a Minimum Viable Product (MVP). An MVP includes only the most essential features that solve the core problem for users. It allows you to launch sooner, gather user feedback, and then improve or expand the product based on real data. This approach keeps costs manageable and reduces the risk of investing in features that users may not actually need.
Stakeholder Alignment: It's also important to align with all stakeholders on what's essential for the initial release and what can wait for later phases. This helps manage expectations and ensures everyone is on the same page about what will be delivered - and when.
In line with our Core Value of Transparency we'll always be happy to give you our honest opinion and suggest areas of a project that we feel are unnecessary. We're not being mean, we just want the project to succeed and we want to focus our efforts on the essentials!
4. Ongoing Maintenance: Planning Beyond Launch
A digital project doesn't end with its launch. Ongoing application maintenance is essential to keep your product running smoothly, up-to-date, and secure. This is an area that's often overlooked, but it's critical for the long-term success of your project.
Bug Fixes and Updates: After launch, it's common to discover bugs or areas for improvement based on user feedback. You should budget for ongoing development time to address these issues. Furthermore, regular updates will be needed for security reasons, as software environments evolve, and threats change over time.
Platform and Technology Changes: The platforms that your product depends on will also update over time. Whether it's mobile operating systems, third-party integrations, or web browsers, changes in technology can require updates to your application. Planning for maintenance ensures that your solution remains compatible and functions effectively in the long term.
Hosting and Monitoring: In addition to code maintenance, consider hosting and monitoring costs. If your digital product is hosted in the cloud, you'll need a plan for infrastructure costs, monitoring performance, and ensuring availability. This will often involve a monthly or annual cost, so it's important to plan for this from the outset.
5. Budget, ROI, and KPIs: Defining Success
Every digital project involves an investment of time, money, and resources. To make that investment worthwhile, it's essential to define clear goals and understand the budget, return on investment (ROI), and key performance indicators (KPIs).
Budget Flexibility: Set a realistic budget but be prepared for some flexibility. Digital projects often involve unexpected challenges, and having a contingency budget allows you to address those without derailing the whole project. Be clear with your development team about where the financial boundaries lie and establish a plan for how change requests will be managed.
Return on Investment: ROI can be measured in different ways depending on the nature of your project. For some, it's increased revenue; for others, it might be improved efficiency, reduced operational costs, or enhanced customer satisfaction. Understanding the expected benefits will help you evaluate whether the project has delivered value.
Defining KPIs: Establishing Key Performance Indicators allows you to measure success effectively as clear metrics provide an objective way to assess whether your project is meeting its goals. KPIs could include metrics like user acquisition numbers, task completion rates, or sales conversions.
Rather than revenue, your key success metric could be time saved and efficiency on manual tasks that can now be automated through software. A difficult one to measure, and possibly subjective - but having some estimates of time saved can be useful in measuring the sucess of a product.
Final Thoughts
Commissioning a digital project is a significant undertaking, and careful planning is essential to ensure success. By considering these five areas—Intellectual Property, non-functional requirements, prioritisation, ongoing maintenance, and budgeting with defined ROI—you'll be setting a solid foundation for a well-managed and successful project.
Each decision you make early in the process can have a significant impact later on, so it's worth taking the time to get these aspects right. Working closely with your development team, aligning expectations with stakeholders, and planning for the long-term sustainability of your product will all contribute to achieving your business goals effectively.