After successfully delivering over 300 digital projects we know the ins and outs that can come as a surprise if you had never completed a software project before.
We decided to create a list of 50 things that are invaluable knowledge if you want your project to be successful and go as planned. The list is divided into phases that are natural for all software projects. So what are those important questions and considerations?
Let’s dive in.
Planning the project
- Target the right audience. Get to know your users, do the research to create personas and ideal client profiles. You can create a user task survey before the project - it helps you gather the user input and plan the project based on real data. Based on this you can have the right tone of voice, be more professional or playful depending on who you want to reach. Surveys can also help you in defining user pain points to remove them in the new system - this will instantly improve your conversion.
- Business goals and your company strategy are as important for the tech agency as the technical scope of work - use the knowledge and experience of the company you hire to contribute to your project success, not only technically. Set data-driven business goals and calculate ROI after the completion.
- Discuss the non-exceedable budget for the project and its maintenance after the launch - based on this information your technical partner can suggest cutting-corners solution or decide on a more future-proof approach that will require more time in the beginning, but then will save you hundreds of hours in maintenance. Get a quote for the cost of support and maintenance after the launch.
- Choose one product owner from your company - this person will have a deciding voice when stakeholders opinions are not aligned. Make sure the agency you work with also indicates one person that will be with you throughout the whole project.
- Define the scope but accept the fact that it won’t be crystal clear from the beginning. You can however expect the right level of detail and transparency to make sure you are not surprised in the end.
- Document every workshop and brainstorming session. You should feel motivated and inspired after a fruitful workshop session, but knowledge and inspiration fades in time. It is a must to have tangible results of your work - documentation, Miro board, system map. Ask for it.
- Assess the technical debt. If you already have a website, it can be tempting to use it as a foundation and add on top of it. It is not always the best solution. Your technical partner should advise you whether it does make sense to work on the current solution or if the technical debt is too big and you should create a website from scratch?
Creating the user experience
- Prepare visual benchmarks. Look at your competitors and companies from the same industry. List a few that you liked with reasoning and share with your agency.
- Remember that usability is more important than the visual. The fireworks can be a nice visual addition, but what matters most for the user is the ability to accomplish user tasks fast and intuitively.
- Battle-test your design. Run user tests on the wireframe stage and the design phase to do tweaks and adjustment before the development starts. It is a small investment compared to launching a non-functional system.
- Some high-end design solutions might cost thousands to implement. Design should be consulted with developers. Especially with it comes to frontend.
- Give access to assets, brand guidelines and content beforehand. If you can prepare a real copy before starting the design, it looks different from Lorem ipsum. Collect the images, as working on stocks won't show you how the website will look like after launching
- Consider using unique content that nobody has. You can stand out by presenting your offering in a better way than competitors. If you are selling physical products, why not do a photoshoot of them?
- Choose a typeface that can be used in multiple scripts. If you are considering a multi-language website it is a must. Remember that some languages use different alphabets - Latin, Arabic, Chinese.
- Always start with a mobile-first approach. Mobile screen is way smaller than the desktop thus it is better to plan the content there first and then expand.
Developing the website
- Your engagement is crucial to finish the project happily. Ask about progress, run thorough UATs, ask for partial approvals if they are not offered as standard, participate in demo meetings and provide feedback regularly.
- Set the performance expectations early and discuss them in the process. How fast should the website work? What is the accepted loading time? What traffic do you expect?
- Establish a clear communication strategy with your agency. Discuss how you should report bugs, changes and errors. Email, phone or maybe Jira ticket?
- Work with the system yourself. Don’t be afraid to test, break, assess intuitiveness, ask for changes. See how it works and become independent as early as possible.
- Keep an eye on the budget. This part of the process involves a lot of people (developers, testers, project manager), which means the project cost grows fast. Make sure to track the spendings and check if it is going as expected with agency’s project owner.
- List all integrations with external systems. In partial tests and approvals test the system connections thoroughly.
- Consider the site flexibility. Hardcoding is usually cheapest, but then you rely on your agency for every change you need to make. Make sure you have the power to manage your own site effectively.
Creating visual assets and content
- Map all content you'll need. We personally love the Core content model, which is not only helpful in planning the content, but also makes sure it’s relevant for your users and your business goals.
- Set reasonable benchmarks and make sure that you can produce matching content. Sometimes when inspired by industry leaders (for example Apple with their superb engaging website) we are setting such a website as a standard, forgetting that such content is usually created by a dedicated team. If you don't have the resources, you should find a more relevant one.
- Don’t leave copywriting and translations for the end of the process. It will take more time than you think.
- Set the tone of voice for your content matching your ideal client profile and keep it consistent.
- Write as simply as possible. Don’t expect the reader to know the term or abbreviation, remember content is not about what you want to say, but what your audience need to know before purchase decision. Make sure your content is human-readable, do not complicate your communication.
- Your offering presentation is crucial. Let the agency know what quality and how many photos you are able to provide. Do you want a site like Apple? Remember that you must have dedicated perfect content (photos, videos and text).
- Plan the content migration. Transferring the content from the old site is as important a phase of the project as the design of redevelopment. Clearly define what should be migrated, and plan the content migration at least a few days before the launch.
Publication date
- Plan the launch date smart. Don’t launch on Friday and before holidays as if anything breaks, it might be hard to find available support. Don’t launch before a hot date (e.g. Black Friday)
- Request a staging version to test. It should mirror what will be available in production and be fully operational.
- Connect monitoring tools. It will check if your website is up and running and notifies you in case of any issues. It should monitor both the app and the server.
- If possible do not promote the website before launch. It will help you avoid stress, after the launch when everything is up and running don't forget to brag about it (PR moment).
- Make stress tests before launching. Especially important when this product is totally new and you expect a lot of people visiting your website
Maintaining your system
- Prepare for the maintenance cost. Your website requires hosting, and maintenance to work properly. Discuss with your agency how the process will look after the launch.
- Avoid technical debt creation. Allocate part of the budget for technical debt and for updating the system to be sure it's secured and you don't create technical debt.
- Collect user's feedback. Allow the users to give feedback and funnel it to the right place (users are free testers).
- Regularly check the performance. Tools like Google Page speed can help you verify if you are not losing traffic due to bad performance.
- Maintenance is not about adding new features. You will want to change the website, but you should not mix maintenance with new development.
- Ask for a backup and check how it works. Ask your agency about backup - when it is created, for how long it is stored.
- Use the system. Take the time to understand how the system works and what its limits are, try to do most of the work by yourself. Ask for workshops and guidebooks to be sure that you are independent.
- Access the statistics. Check the analytics and plan next steps based on the real data. By understanding the basic analytics you can check it yourself regularly and iterate often to optimise your product.
- Prioritise security. Hackers exist, security is really important, especially if you are using a popular off the shelf solution (in example WordPress or Drupal).
- Onboard new people to the CMS. The provider can help. If the rotation at your company is high, a user manual could be needed and will speed up the onboarding process.
Adding features and extensions
- Bundle the changes into bigger chunks. This is more time and cost efficient to ask for multiple changes at once.
- Make future-proof decisions. Be aware that new functionalities may have an impact on the present ones and it should be tested properly. Sometimes buying existing plugins will impact your GSI and loading of the page
- Deploy often. Work in small batches of tasks and deploy them more often. It's easier to test them when you don't have 100 tasks plus you will be able to deliver new features faster.
- Use repeatable elements. This way your system is easier to maintain and you keep it consistent.
- Don’t overdo plugins. Sometimes buying existing plugins will impact your GSI and loading of the page
- Don’t water the dead plant. If you need so many changes, you are almost rebuilding the system, you are risking creating a spaghetti monster. Sometimes it’s more efficient to start from scratch.
If you have a software project in mind and want to sleep calm while the experienced team is working on it, contact us.
Author