Wednesday, 27 November 2013

Gaps & ... Other Gaps

When producing a cross-platform solution, you could be lucky, & you're solving a problem that someone else has already more or less solved, so the cross-platform infrastructure gives you enough support to implement the whole solution (given enough libraries).
However, you could be less than fortunate, & all of the googling in the world won't come up with someone else's trailblazing through your problem.

This is when it's time to get creative. A good cross-platform environment will allow you to build your own modules of some sort that are effectively native. In effect, this defeats the whole purpose of having a cross-platform delivery model, but in the real world this is often necessary.

It also means that you will either still need the development environment for creating native apps (or at least libraries), or else you will need to be able to reach out to contractors or out-sourcers who can do that work for you. The good news is that you are now specifying a very tightly-defined piece of functionality.

For example, if you want to use the on-board voice recognition, then you need to get down into a native interface. For iOS, you theoretically can't access Siri. For Android, there often is a way, dependent on the device, to access such services. If you can define your new library's API, then someone else can provide that solution for you - & they'll be able to get it right, quote reasonably effectively, & give you a fair idea up front of how functional the unit will be. They can do that because they are concentrating on a given mobile platform, & because the unit of work is easy to understand.

The gap now is in co-ordinating the piece-workers with the architecture of the solution, managing their deliverables as a part of the project plan, & ensuring that there are agreed-on test cases for acceptance of those units.

That's the new gap.

Once upon a time, it was a matter of having a team that could work on a solution, & they would skill-share to ensure that the components all came together, integrating their tests from component up to UAT. Processes like CI/CD assume that work is continuous & centralised (on one development platform, not necessarily geographically co-located). Co-ordination becomes key once more - relationship management, project management, integration - & there is a rising importance in understanding testing - not just how to perform tests.

Cross-platform development is not a silver bullet, but it changes the game to focus your technical resources on what matters - the UX - & your management resources on what they're good at - relationships.

No comments:

Post a Comment