Is it a bad idea to outsource software development? Let’s look at some examples of terrible IT outsourcing projects and think if there was a way to avoid failure.
How to Organize Remote Cooperation in an IT Outsourcing Project?
Follow this smooth project transition plan to make sure the new vendor has all the required information, and the outgoing team gave you all the knowledge, documents and rights.
With some of our clients, we work mostly or entirely remotely. That is why it was crucial to establish processes that allow us to keep them in the loop and give them the way to engage with no need to show up in our office. We would like to share with you the best practices worked out through the last few years to make these tough times slightly easier for you.
In this blog post, we will cover:
- 3 ingredients of a successful project
- Tips on how to organize a remote project
- Managing the project – all about Agile/Scrum sprints
- Tools we use for remote cooperation
- Dealing with issues during remote cooperation
- Tips for business owners for even better remote cooperation
3 Ingredients of a Successful Project
We speak from our experience – open communication, transparency, especially in terms of progress, and proper management are the keys of any successful project, not only a remote one. However, during a remote project, you need to take extra measures to ensure them. Here’s what we do:
To communicate openly during the app development process is unquestionably essential. It needs an effort to establish rules and learn how to act by them, but it’s worth it. In remote communication, there’s no room for understatements, words unsaid or guesswork. Small misunderstandings can transform into huge issues. While communicating with clients, we never hide if something goes wrong. In a team, everybody communicates clearly about their progress, issues, doubts. Everybody is encouraged to speak up and express their ideas freely – it applies to both clients and team members. We highly appreciate feedback, pay special attention to responding timely and providing help where needed.
Open communication connects with transparency. During projects, every member of our team is transparent in terms of tasks, their implementation and time spent on each one of them. Clients can track the progress in tools and review time spent on the project. We’re also transparent in terms of costs. In the case of Time&Material deal, at the beginning of each month, we provide clients with timesheets along with tasks and deadlines. With Fixed Price deal, we specify the time and price of creating each functionality and present it to clients with all the deadlines.
The last ingredient of the successful remote project is proper management. We’ll explain it in more detail later, but the most important things are: you need established rules, convenient tools and a person who will control it all.
How to Organize a Remote Project?
We organize our projects according to Agile/Scrum methodology and work in sprints, which allows us to maintain transparency and efficiency. To avoid chaos, we set long and short-time goals. Short ones keep the team focused, motivated and ensure that everyone knows what to do on a particular day – these are the tasks we choose for a particular, short period. Long ones give the team a direction – these are the results we want to achieve for your business.
What is more, all of our projects are coordinated by Project Managers. Their role is to make sure that everything is delivered timely and everybody knows what to do. They stay on guard of perfectly organized cooperation based on established rules, well-known and agreed by both sides.
To manage remote cooperation even better, each company needs to choose tools that best suit their needs. These tools should allow for communication, tracking the progress in the most efficient way and storing all the necessary files. We normally use Slack, Jira and Confluence.
Managing the Project – All About Agile Sprints
We always organize the app development process according to Agile and Scrum. That way of managing projects allows us to provide you with the highest level of transparency. Clients are always up to date with the progress and able to track the time we spent working on the project. Every 2 weeks we deliver a new, working app build.
Sprint is the core of the Scrum framework. It’s a period when specific work has to be completed. It can last 1-4 weeks. Traditionally, we organize 2-week sprints. During Sprint Planning we choose tasks that will be included in the nearest ones. Then, each day begins with Daily Scrum. It’s a short meeting to keep every member of the team updated, synchronize the activities and set up a plan for a day. Dailies support transparency between team members. At the end of each sprint, we organize a Sprint Review. It’s time to assess everything that’s been done, present the results to clients and gather feedback. The last piece is the Sprint Retrospective – we use whiteboards to list what went well and what needs improvement.
Traditionally, all of the meetings take place as video conferences. We only gather for Sprint Retrospective. Although, in tough times like during the coronavirus crisis, we use tools for online whiteboarding and organize it remotely with no loss.
Tools We Use For Remote Cooperation
To organize our Agile/Scrum projects, we use 3 fundamental tools. They allow our clients to follow the progress and contact us easily at any time they want:
Slack is a great communicator to reach somebody quickly. It’s easy to organize voice calls, video calls as well as video conferences. Slack allows everyone to set up a status so you can immediately see f.ex. who is available or who participates in another meeting at this moment. Any company can set up their personalized statuses to increase team transparency. Slack is especially appreciated by the clients who like to stay in touch with the team every day. We create workspaces and channels connected to particular projects and only people who participate get access, to protect privacy, data security and prevent chaos. As our client, you would be invited to a special channel which would allow you to contact the whole team directly – and vice versa.
We use Jira to manage the whole project. Project Manager creates a project backlog with all the tasks that need to be delivered based on the specifications we established. These tasks are then assigned to particular team members. Jira allows for effective workflow – it shows the current status of work, we see whether the task has been started, is reviewed, accepted or finished. It’s easy to see how the progress flows and assess the planned date for each release. What is more, the tool allows to estimate the time needed to do the task and then log how much it actually took. Time logging lets us for more accurate estimates but it also has a value for clients. They can see how much time and when each team member spent for the project, filter the data and generate timesheets. Jira provides a clear overview of the time spent on the project. Of course, our clients receive access to their projects in Jira and can monitor everything live. Besides, we send them timesheets at the end of each month.
It’s a space to gather all the project’s specifications and documentation. We use it to store the crucial project files in a safe place that is easily available and convenient to use. We set up a secured space for each of our projects and give access only to essential people. Confluence enables us to store files that can be edited or commented easily.
Dealing with Issues During Remote Cooperation
In the end, there are a few issues that can typically arouse doubts during remote cooperation. Sometimes it’s hard to trust a partner when we don’t meet with them regularly offline. Understanding it perfectly, we’ve established a set of practices to guarantee safety to our clients.
We build it on a solid foundation: detailed contract with NDA, transferring IP rights to our clients, and contractual penalties if there are any delays because of our fault. It’s essential to be responsible and engage in the client’s final success.
A carefully-crafted contract is one way to provide security for clients. Others are
- being GDPR-compliant,
- being transparent in terms of what’s going on with the project, how much time we’ve worked,
- informing about any issues or doubts,
- and being open for clients’ questions, concerns, or changing requirements, providing the fastest response we can.
Many business owners are afraid that a software development company doesn’t understand their vision and the final effect won’t be compatible with it. They also have concerns about understanding developers’ jargon. All of these concerns grow bigger during remote cooperation. That is why we start our projects with workshops and research with clients on board (we can do it remotely!), to learn the most about ideas, requirements, business and market needs. What is more, Project Managers are the filter between developers and a client, providing a better mutual understanding and frictionless communication.
Tips for Business Owners for Even Better Remote Cooperation
Use this checklist to make your online cooperation with an IT outsourcing team even more successful:
- Make sure you have a convenient way to talk to your IT outsourcing provider and team members.
- Get access to all the tools needed.
- Expect full transparency from your IT outsourcing provider.
- Communicate with your team openly, give them feedback.
- Track the progress – make sure you’re always up to date with any issue, familiar with the tasks that are currently in progress.
- Check out the timesheets to get a clear overview of the time spent on the project.
- Set up fixed meetings, for example, weekly meetings for updates, videoconference at the end of each sprint to be presented with progress and be able to test your app.
- Make sure the IP rights are transferred to you.
Organizing the IT outsourcing cooperation remotely needs establishing a few ground rules, using several tools and management practices. That way, it can be done successfully. However, before signing the agreement with a software development company, make sure you can trust them: read reviews on websites like Clutch, check out their portfolio, read your agreement carefully. If you choose the right partner, they will lead your project to success even if the cooperation will be entirely remote. It’s all a matter of responsibility.
You may also like..
MVP allows you to validate your idea, gather feedback and identify your users needs. And Flutter is a perfect tool to do it time- and cost-efficiently. Discover 7 reasons to develop your MVP with Flutter.
There’s a way to start an app development project without any face-to-face meeting, with no risk, disruption nor quality loss. Check our battle-tested process.
PWAs allow business owners to move their operations from offline to online quickly and cost-efficiently. See how to raise your conversions during a crisis.