In a previous blog post we spoke a lot about focus - core and non-core tasks. We got feedback that “core and non-core” are difficult to understand - and we agree, thus we try to define things in a better way.
In this follow up post, we focus on separation of thinking and doing. After all, businesses should not outsource thinking, but it is smart to outsource doing to ensure agility and to keep fixed costs in control.
There are a number of ways that businesses can improve the output from SDaaS (Software Development as a Service) partners and scale up the speed of development. Here are a few of them.
This means that businesses need to have a good understanding of what the product is, what it does, and how it works. Only then can they determine which tasks require thinking and planning, and which are ready for development. From there it is quite straightforward for core teams to define the tasks related to development they outsource, and which they need to do themselves (the core tasks).
The scope of each task also needs to be clear. What exactly needs to be done in order to complete the task? What is expected related to testing, naming conventions etc. Defining these things will ensure that the core team doesn't miss out on anything important, and it keeps the software development process aligned between all parties.
One important thing to say to your SDaaS partner is to define the expectations - do you need something quick & dirty or do you want everything optimized and tested on all fronts? This seems like a no-brainer, but that is exactly the reason why you should define this.
All the things above are good practises, but - at least for NerdCloud - you do not have to document yourself to death. We have skilled team leads who will ask questions to clarify things if needed.
When you outsource tasks, it is important to have someone in your team who is responsible for leading and coordinating these efforts. This will help to ensure that the work is done to the correct standard and that it integrates well with the rest of the product.
NerdCloud works as an extension of your team. It's important that you lead the development, test the code, and identify and notify of any bugs. Make sure you have one person in your team who is accountable for whatever task you are outsourcing, and who has a firm understanding of what is required.
Oftentimes, when a new feature is outsourced, there is a temptation to rush it so that it can be released as soon as possible. However, this can often lead to lower quality code and more problems down the line. It is better to take the time to get it right from the start, as outsourcing partners will need some time to understand the product, the code, and the existing architecture
NerdCloud process always starts with making task estimates, and only when estimates are approved the real work starts. To keep this simple, we split all tasks that are over 8 hours to smaller parts and open up the elements within the task estimate. This way the core team can get a realistic view on the timing of the project, and thus steer the development in a controlled way.
A SDaaS partner is there to help you with high-quality execution. If you lead the project correctly, you'll benefit from this type of execution from them.
There are many reasons why NerdCloud is the perfect SDaaS partner for your software development needs. Here are just a few:
If you want to benefit from the best parts of outsourcing, without the bad parts (we know what they are), let’s talk!. We will be more than happy to discuss your specific needs and see how we can help you achieve your goals.