Collaboration between an internal team, and external company has always been a delicate game of balance.
As an app developer focused on the enterprise market, it is common for us to work with companies that already have large, internal teams of developers and IT experts. Many of these companies would like to consider using internal teams to develop apps, but there are a number of factors to consider; and the result may require some or all of the development to be outsourced.
With mobile’s established strategic importance for organisations, many are building out their internal IT teams with mobile developers to handle development or maintenance in-house. Developing mobile apps internally will provide cost savings in the long term; the business will have more control over projects and involve internal experts with in-depth knowledge of the business; and there will be more flexibility to accommodate further development.
While the benefits to organisations are vast if they are building teams with strong capabilities, partnering with other technology companies can still be important for these teams. Working with external companies to better understand new innovative technologies and how they can be used across the business is often still a requirement.
Also, by the very nature of internal projects, the approach and internal processes may slow delivery times down; and therefore external resource may be employed for more urgent or specialised projects.
One of the major constraints to internal IT teams, in respect of developing an app, whether native or web based, is whether the particular skill set and experience is available within internal teams. Unless companies have developers with specific expertise in mobile language – HTML5, Java, Objective-C, C# or C++, firms can sometimes struggle to create apps in-house.
It’s understandable why companies would want code to be in a language internal teams are familiar with. Firms with internal IT departments often want to be able to maintain apps they have deployed. This can help with lifetime costs, if firms can utilise existing resource. Though, this approach can lead to problems, as developing mobile apps is unlike creating desktop or backend systems.
When creating apps, experience is key. Apps need to be designed to be as battery efficient as possible. Many variables need to be considered in order to create an app that is easy to use, delivers meaningful value to the user (by making their job easier) and is designed for future compatibility.
Often, internal teams won’t have the required skills for the app element of creating mobile projects. What they do often have however is the ability to create the backend services and systems to enable mobility. This is when a collaborative approach can be a mobile project dream.
However, it is often not only the development aspect of the project which external resource can be useful for. Depending on the skills and requirements of internal resource, partnering with niche app development and mobile experts can help fill the gaps.
Support can be provided in the planning phase of any project, or even when an organisation is looking at developing its mobile strategy by using an external expert as a mobile consultancy. Involvement of external support can be isolated to assisting in the development of the mobile strategy or strategic thinking for certain projects.
Where organisations have adequate development expertise, the necessary skill set for developing engaging user experiences and user interfaces may not be supported internally. Therefore involving external design resource may be necessary.
Collaboration is key between internal teams to find the right opportunities and priorities for mobilisation. It’s also important, throughout projects, to involve the target stakeholders to ensure projects deliver value to them and that their needs are taken into account to deliver the best possible end product.
To get the best out of a collaborative approach, it’s important to work closely with partners so they understand the internal expertise, who is going to be involved and with whom decision making lies. Planning for how to work collaboratively is essential to clarify the roles everyone will play and to put proper feedback processes in place.
1. Make the dependencies clear
An app project often requires a client side project manager who, depending on the size of the project, is dedicated to liaising with internal teams to ensure documents and work can be reviewed at the right time.
2. Communicate the impact of delays to projects
At the start of a project, clients will often have an end date in mind when they need an app to be ready for. The whole plan will be created around achieving the end date, with some leeway in place. Delays can have a serious impact on the end date of projects, and even cost of the delays result in changes being made.
Apps are often the front end piece for a programme of work including all sorts of teams client side. External project managers are not always dealing with decision makers, especially in large companies. They have to deal with tech teams, marketing, end users and a variety of other stakeholders. Co-ordination of all those teams, who are often working on other projects, with conflicting importance, is tough. The red tape and process can be restrictive at times.
3. Document everything
This is really key for collaboration. It’s important that conversations and deliverables are documented and reviewed, but also that anything relating to the design, user experience, integration or development is fully documented. It can be worrying to see that this isn’t standard practice in the industry. Often at Mubaloo, we are asked to do a code review of another developer’s work and find that no documentation exists. This makes it very hard for internal teams to maintain projects.
Documentation is key, so that if any problems arise, teams internally and externally can see what has been agreed and work to rectify issues as and when they arise. It also means that when projects are handed over to companies, they can fully understand the code, should they need to make upgrades.
4. Be as flexible as possible, where it helps to deliver the best possible solution
Whilst a set day and hourly rate is commonplace, some flexibility is required to get projects out at the required standard. Delays are almost inevitable for a variety of reasons, so it’s important that internally external partners are flexible and that clients are flexible too.
Sometimes changes will be requested, but it’s important to recognise that these will impact end times and that they can always be implemented at a later stage. Apps should be thought of as living, breathing entities that can be upgraded or altered once they are out there.
Collaboration versus working for
One of the reasons that Mubaloo started putting focus into changing from planning to strategy, was that we saw collaboration as important.
When we first started, we built to our clients’ brief. As our experience grew, we realised that often clients didn’t always know what they wanted, or the best way to go about it.
In order to get the best possible result from creating apps, we started working with clients as collaborators to help firms understand their roadmaps, their objectives and the technology they were using. This meant that we could help them to improve the way they approached mobility. Now, we see collaboration as key to successful projects and for creating the right types of apps, for the right type of user.
Collaboration involves including as many stakeholders as possible and having the support of the right people. Even where clients are looking to fully outsource their app development, the collaborative approach is important. Inevitably, this leads to the best result and the best ROI.