January, a time for goals and planning the year, but also a good time to review the previous year for what worked and how to embed the processes and skills into our mobile app development teams.
This January I started with reviewing 2017 with the teams and individuals that make Polymorph a success. In Five important mobile app and IOT development lessons we learnt in 2017, I spoke to Agile managers about their experiences and in this article, I approached our great developers to ask what factors are required for a strong mobile app development team.
What I discovered is that many aspects overlap and that hard skills like understanding processes and writing solid code are as important as the soft skills like listening and adaptability are essential to a strong mobile app development team.
This says a lot about where Polymorph’s core focus is as a company. In mobile app development, the focus is now squarely on the user and how we create a product that helps the user. Combine this with the remote first nature of our company in which we rely on clear communication within our mobile app development processes and you can understand why soft skills are focused on.
On the user
Because mobile applications are in users’ “top pocket” and therefore front of mind it is critical to value their input from the earliest possible opportunity.
Ideally mobile app development teams should be highly cross functional and empowered to wear many hats, especially the hat of a prospective user. By envisioning the mobile moment within which the software is likely to be used enables the discovery of unique scenarios and contexts aiding the rollout of usable software that your users will enjoy using and keep coming back to.
On staying competitive
- The mobile device market and OS for mobile devices is a rapidly changing environment because of the high standards and demands set by users and competition. For this reason the tools, patterns, languages, techniques, libraries etc is ever changing at a rapid pace and evolving. To survive as a mobile developer you must be capable and willing to embrace change, willing to learn all the time and move fast with the trends or you will fall behind and eventually out.
- Friendly banter between iOS & Android. Eg. Android brings in a cool new feature and the iOS guys feathers are flared trying to be cooler, and vice versa. This healthy competition improves code quality and is fun.
On prototyping, testing and integrating the learnings into the app
Effective prototyping and it’s continuous evolution allows a mobile app development team to have a single source of authoritative “canon” to which they can refer. This does pose a challenge as project timelines become elongated but does save time and frustration on behalf of team members needing to track down undocumented business rules or UI logic in closed Jira board tickets or previous versions of a codebase.
On leadership and managing teams
- Take care to play the strengths of team members, and not their weaknesses. I’m also learning to delegate more effectively: When asking someone to take care of something, a very effective acceleration tool is to decide together when the next checkin should be, to see what progress has been made. It not only helps your own planning, but it also helps the person you delegate to, since it prompts them to think about what progress they could show by that date. In other words, it helps them plan.
- Each member of a multi-disciplinary mobile app development team has an area of focus and responsibility. Key to getting the team to gel is to allow each member to be autonomous, in other words to have sufficient freedom to make decisions in their areas of responsibility. Often it is tempting for Product Owners to micromanage, but micromanagement does not bring the best out of creative knowledge workers!
- Creative knowledge work can be highly subjective. While objective metrics such as page-load speed certainly exist, many of the calls that the team needs to make on a daily basis are subjective (such as the speed of a transition) and hard to motivate for. Instead of having tribal wars over these matters, a team needs a clear decision-making structure to make these decisions without wasting precious time in endless debate.
- Ability to learn new things and experiment with different ideas, be open the change and be able to adapt. Change is a constant in development these days.
- Love for what you do, this came through when talking to other developers. They can feel if somebody has a passion for mobile development.
Expressing oneself is important. Being able to communicate to the member in the team and listen to what the other members have to say.
And to end, when I asked one of our senior developers for his top five, he sent me the below. The longest sentence is 8 words, but the intention of each speaks volumes.
- Good leadership
- Clear & open communications
- Familiar with the development process
- Experience working together
- Each member is working towards a common goal(s)
No matter what you build this 2018, I hope your team learns well, communicates well and works well together.