Vietnam: A Smart Software Outsourcing Destination

  • Vietnam is quickly gaining popularity in the IT outsourcing world due to strong fundamentals.
  • Hiring software programmers remotely in Vietnam is a reliable, budget-savvy option.
  • Potential challenges to outsourcing in Vietnam are not as great as they may initially appear.

A Rising Star in the Information Technology World

Less than twenty years ago, the internet barely existed in Vietnam. Now, as in most modern parts of the world, it’s becoming an integral part of life—especially for the country’s increasingly young and urban population.

Despite Vietnam’s short-lived relationship with the internet, the country has quickly advanced to be an ideal location for IT outsourcing. In fact, Vietnam was recently ranked sixth in global software outsourcing according to consulting firm A.T. Kearney—a major jump from even just a few years ago.

This may come as a surprise to many readers, but it’s no mistake that IT outsourcing in Vietnam is booming in popularity. Many factors, both organic and intentional, contribute to the country’s growing strength in the IT industry.

Tech giants, including IBM, Intel, and Microsoft have established firm footholds in the country while countless small and medium businesses are constantly sprouting up in Vietnam’s increasingly bustling cities. Japanese companies, especially, have recognized Vietnam’s IT potential and have recently invested in 54 new IT projects representing a whopping 19.6 percent of foreign investment into the country, totalling in the billions of dollars.

These are just a few examples of a sector that is just beginning to shine.

From here, we’ll take a look at why Vietnam is a good choice for IT outsourcing, and the factors that contribute to its place as a rising star in the IT industry.

Positive Economic and Demographic Trends

Vietnam’s economy continues to grow at one of the world’s quickest paces. Its annual GDP has more than doubled over the last ten years, lifting millions out of poverty. Roughly half of Vietnam’s population is under 30 and the country is rapidly urbanizing, especially in major cities like Hanoi, Ho Chi Minh City, and Danang. This means that not only is there a vast labor pool to draw from, but there’s also an overarching positive economic trend that lends itself to a modernizing and expanding economy.

Far from being the agrarian backwater it once was, Vietnam is fully entering the modern era. Its cities are undergoing a vast transformation into cosmopolitan and competitive economic centers with vibrant and diverse economies.

One of the greatest symbols of the country’s transformation can be seen in the ubiquitous tech-savvy youngsters obsessed with their latest smartphone, tablet, or computer. The popularity of new software and technology is no less here than in any developed western country. In fact, newcomers to the country would be stunned to see the similarities between the online habits of Vietnamese youth and the youth of most western countries.

A Young and Eager Workforce

There are some significant differences that set Vietnam apart from western countries, however—and from countries that many consider competitors in the world of outsourcing.

A recent study demonstrated some interesting findings among IT workers in Vietnam—especially those who plan to remain loyal to their company. The insight gained is valuable in helping understand the mentality of Vietnamese IT workers, and what makes them tick.

  • 84% of Vietnamese IT workers chose the field because they love computers
  • IT workers value learning opportunities and growth—a large majority of those who plan to stay in their current job for more than a year mentioned both categories as important
  • While many workers would choose to work in product companies as compared to outsourcing companies, there is an overwhelming preference for working for foreign-owned companies versus Vietnamese companies. Thus, outsourcing companies have an edge against Vietnamese companies due to a worker’s expectations of greater opportunities for growth.
  • Vietnamese are excited to work with foreigners. Again, this is largely due to their expectations of growth and learning in their field.

Companies that treat their employees well can generally expect great loyalty from them, since a stable income, combined with future opportunities, is highly prized in Vietnam.

A Low Cost of Living, A Low Cost of Hiring

Vietnam is certainly still a developing country, but it is doing so rapidly. Nonetheless, its GDP per capita is far less than half of regional competitor Thailand, for example: wages in Vietnam are low compared to the rest of the world.

However, the comparatively low incomes in Vietnam change dramatically when one looks at its purchasing power parity (PPP)—essentially, GDP per capita as adjusted for cost of living. Vietnam’s PPP per capita is roughly three times its GDP per capita, meaning that a dollar goes far further in this country than it would in many others. Spending any amount of time on the ground in the country would give a quick demonstration of how much this matters.

For those companies who are looking to outsource their labor, this is fantastic news. It means that a fully-qualified software programmer could be hired for as little as $12 per hour—a bargain for any western company looking to hire a programmer. It also leads to an attractive salary for any local IT worker in Vietnam: a win-win situation.

Strong Investment in Education

There are plenty of these software programmers available. One of the main reasons behind this is Vietnam has made leaps and bounds in its education over the past two decades, and the results show. In the 2015-16 PISA (Program for International Student Assessment) survey, Vietnam ranked 21st out of all countries surveyed, on par with Australia and ahead of supposed educational behemoths like the USA, France, and Sweden. The test measures scores in mathematics, reading, and science, and has been used as a benchmark for education for more than twenty years.

In addition to Vietnam’s vast improvements in its educational system, there are more than a hundred thousand Vietnamese students who study abroad each year. This gives them not only access to some of the world’s top schools, but also exposes them to cultures other than their own. As anyone who has travelled or lived abroad knows, exposure to other cultures is crucial to working well with people from other countries.

Vietnamese students don’t have to go out of the country to get a world-class education, however. A full branch of Fulbright University was opened in Ho Chi Minh City in 2016—in the city’s Hi-Tech Park, no less—and Cornell University is advising VinGroup on the opening of a world-class university to be opened in Hanoi.

These come on top of already well-established RMIT (Royal Melbourne Institute of Technology) campuses in both cities, and represent milestones on the road to further educational development in the country.

A Government with Vision

Perhaps one of the biggest differences that sets Vietnam apart from both competitors and neighbours is its government. Although many still hold the view of the Vietnamese government as rigid and hardline socialist, that is now far from true. In fact, the government has a long-reaching view of continuing to transform Vietnam’s economy into a high-tech powerhouse. To wit, in 2012 the national government set a goal to have 45% of Vietnam’s GDP derived from the tech sector by 2020.

Whether or not that specific goal is met, the point stands: the government is betting hard on the country’s tech sector, and is thus keen to favor it.

Potential Challenges

Outsourcing always comes with its potential challenges. However, those challenges may be more minor than they originally appear when closely inspected.

The Language Barrier

While it’s true that Vietnam is not as proficient in English as India, Malaysia, or the Philippines, it still ranks seventh in the Asia-Pacific English Proficiency Index.

This index, however, ranks the country as a whole—the tech sector is overall far more educated in language than the general population. Combined with the fact that English is the lingua franca of the internet and the tech sector in general, IT workers are constantly exposed to English and have a much higher command of English than the average citizen.

The Cultural Barrier

The cultural barrier between Vietnam and western countries is shrinking by the day, especially since so much of its youth is deeply involved in the internet from an early age. Although the Vietnam War is the first thing that many westerners think of when they imagine the country, most young Vietnamese see the war as a history lesson rather than as a memory. In fact, the country is open and welcoming to foreigners, and old and young alike generally express curiosity and interest when meeting a foreigner.

The Time Barrier

Vietnam is indeed far away from many western countries, especially when it comes to time zones. It’s at GMT+7—5 hours ahead of the UK and France, for example.

Companies who outsource, however, should be well aware of the potential challenges and benefits of working with time differences. If managed correctly, time differences can lead to greater efficiency as long as communications are well managed.

The Final Word

Vietnam’s role as a major player in the IT game is just beginning. With the strong foundations already laid, the country and its citizens can be expected to increase their presence in the global IT realm.

For now, companies looking for a bargain in IT outsourcing need look no further than Vietnam. It’s the perfect combination of price, ability, and flexibility. As it stands, there are numerous foreign-managed firms in Vietnam that can help you make informed decisions about your outsourcing needs.

Les Manuscrits du PO – User Story Mapping

Démarche utilisateur en Agile

La démarche Agile trouve une majeur partie de sa raison d’être dans le fait de réfléchir les choses pour chaque “persona” (ou utilisateur final), et avec la perspective de chaque persona. Cela explique entre autres, le formalisme des users stories, définissant la valeur dans ce cadre. 

Comme nous le verrons plus tard dans l’article, être centré sur l’utilisateur sera une des clés pour la problématique de réponse à une analyse de besoins, et comment le concept de Story Mapping s’articule autour de cette problématique.

 

Qu’est-ce que le Product Backlog ?

Un des outils les plus utilisés par un Product Owner lors du développement d’un logiciel est le “Product Backlog”.  Celui-ci est composé d’une liste ordonnée de fonctionnalités, besoins ou correctifs, à réaliser, les plus prioritaire situées au début de la liste. Ces éléments sont appelés des User Stories, et vont composer ce qui est requis dans le produit. Le product backlog est l’unique source des besoins courants et des futur changements, étant ainsi évolutif dans le temps.

Comment récolter et organiser le besoin ?

Il existe de multiples façons de récolter les besoins pour un produit, et ainsi créer les premières versions d’un Product Backlog. Ce processus est en général très coûteux en temps et en ressources.

L’une d’entre elles, pourtant, est redoutablement efficace, permettant de grandement optimiser ce temps et ces ressources: Le User Story Mapping.

Le Story Mapping

C’est une pratique Agile inventée par Jeff Patton qui se veut visuelle et interactive, centrée sur la définition d’un produit, s’appuyant sur la vision des utilisateurs. C’est un moyen simple de visualiser les histoires racontées par votre logiciel.

Elle permet de:

  • Rendre visible le flux de production de valeur
  • Montrer les relations entre les fonctionnalités principales et leur décomposition
  • Aider à vérifier la complétude d’un besoin fonctionnel
  • S’assurer de la cohérence des releases planifiées

Les artéfacts d’une User Story Map

Utilisateurs (personas)
Une fiche simple définissant les types d’utilisateurs de l’application.

Activités
Elle définissent les principaux groupes de tâches effectuées par les même types d’utilisateurs, dans un même but

Squelette – Flux narratif
Usages, listés de gauche à droite, dans l’ordre temporel. Ils détaillent un peu plus les activités, tout en restant haut niveau. Ces usages peuvent être considérés comme les “Epic Stories”. Les questions à se poser pour déterminer les usage de votre logiciel ou produit:

  • Que fait cette personne avec votre produit ?
  • Que fait-elle ensuite ?


Taches – Details
Les tâches sont une décomposition des usages. Le but ici est de fournir le plus de détails possible, tout en gardant une cohérence (verticale) avec l’usage. Décomposer les tâches permet également de les regrouper, de les ajuster, de créer de nouveaux usages.

La verticalité sert ici à classer les tâches par priorité. A ajuster à tout moment lors d’un atelier de Story Mapping.

Les tâches seront la base de la création de User stories, quand il s’agira de constituer le product backlog, et démarrer les sprints.

Séparateur de releases

Une fois tout les taches récoltées et priorisées, l’étape suivante consiste à tracer une ligne horizontale servant à délimiter la prochaine release et donc, son scope.

Il est important de se concentrer sur le contenu la prochaine releases, et laisser pour plus tard le détails des releases suivantes.

L’usage est de fixer comme objectif de ne garder que 40% maximum des fonctionnalités dans la prochaine release.

Processus de création d’une Story Map

  1. Mettre en place le cadre
    1. Faire un descriptif court du produit ou du logiciel afin de cadrer et mettre des contraintes
    2. Quoi: nommer le produit, les fonctionnalités à rajouter au produit, les problèmes a résoudre
    3. Qui: nommer les différents types d’utilisateurs, établir les “personas”. Pour chaque type d’utilisateur, établir l’intérêt d’utiliser le produit
    4. Pourquoi: Décrire l’intérêt pour l’organisation d’implémenter le produit

  2. Etablir la carte de la vision globale
    1. Se concentrer sur l’histoire complète, haut-niveau sans rentrer dans les details → construire le squelette de la Story map
    2. En commençant par le type d’utilisateur le plus important pour la réussite du produit: Imaginer une journée typique d’utilisation du produit, les activités seront ainsi réparties de gauche à droite, suivant l’écoulement temporel de cette journée d’utilisation
    3. Identifier les activités, en groupant les tâches d’un même type et suivant un objectif commun. Les activités émergent généralement au fur et à mesure que l’histoire se dévoile
    4. Ajouter des types d’utilisateurs, lorsque ceux ci sont identifiés. Procéder aux mêmes actions pour ces utilisateurs et mettre à jour les tâches et activités pour ces utilisateurs

  3. Explorer
    1. Continuer de détailler les activités et découper les tâches conséquentes en sous tâches et détails d’interface utilisateur.  Ajouter, subdiviser, réécrire, réorganiser les éléments de la carte
    2. Ne pas hésiter à donner trop d’information, ou de penser en dehors du scope, l’idée est ici de récolter le plus d’information possible. Le scope sera réajusté plus tard
    3. Considerer les nice to have, les variations, les exceptions, les autres types d’utilisateurs
    4. Régulièrement relire la Story Map pour vérifier sa consistance horizontale (temporelle) et verticale (activités et sous tâches les détaillant) et mettre à jour les priorités
    5. Impliquer différentes personnes liées au produit: Business owners, développeurs, architecte, etc..

  4. Définir le scope des releases
    1. Se concentrer sur le scope de la prochaine release, en traçant une ligne le délimitant du reste des incréments du produit
    2. Se donner la contrainte de n’inclure que maximum 40% des tâches dans cette release, le reste sera distribué dans les releases suivantes
    3. Se donner plus de flexibilités sur les scope des releases suivantes, celles-ci seront ajustées dans le futur
    4. Pour chaque release, définir son objectif et impact, ainsi que les métriques de sa réussite

  5. Formaliser une vision, stratégie de développement
    1. Cette ultime étape servira à établir la première version du “Product backlog”
    2. Diviser la première release en 3 phase de livraisons:
      1. La version la plus simple et fonctionnelle du produit
      2. Une version plus riche du produit, ajustée avec les feedback
      3. Une version raffinée du produit

La suite

L’atelier de Story mapping n’est qu’une des étapes dans le cycle de vie d’un produit. Comme démontré, il permet de rapidement donner une première vision claire d’un produit.

Cette carte d’histoires, sera ensuite une base solide à la constitution du Product backlog, qui sera évolutif dans le temps. La suite, dépendra de chaque projet, de chaque produit, de chaque logiciel. Avec par exemple une décomposition en Sprint pour une project logiciel en Scrum.


Astuces

  • Ne pas être trop strict sur l’organisation temporelle
  • Faire intervenir différent types de personnes impliquées dans le produit: Business owner, utilisateurs finaux, développeur des logiciels,  etc..
  • Etre flexible sur la création de la story map: rajouter des colonnes si besoin, des séparateurs etc..
  • Ecrire lisiblement sur les post-its
  • Ne pas hésiter à ré-écrire un post-it et jeter le precedent
  • A tout moment, pendant l’atelier, prioriser
  • Des ateliers de story mapping peuvent nécessiter plusieurs heures, voire s’étaler sur plusieurs jours
  • Il est normal de devoir utiliser une espace conséquent pour lister toutes les tâches (souvent des centaines de post-its) sur différents supports: plusieurs murs, sol, tableaux etc..

 

Sources

My PCS Mobile

My PCS Mobile is mobile wallet dedicated to the PCS MasterCard® user. It allows them different features (reload, P2P transaction, premium upgrade). It is also the first MasterPass certified wallet for the french market. The app also includes a mobile KYC solution.

Client: Smartlink SA.
Concept: Mobile payment solution.
Platform: Android, iOS.
Technologies: HTML5, JavaScript, CSS, AngularJS, Ionic framework, Java for Android, C-Objective, Spring MVC, ServiceMix.
Database: MySQL, MongoDB

World Mobile Recharge

With the World Mobile Recharge application, it becomes possible to credit anyone’s prepaid mobile phone number, anywhere in the world. Simply enter the phone number, select the amount and checkout. Over 100+ countries and 350+ telecom operators supported worldwide.

Client: Smartlink SA.
Concept: TopUp and Order calling card (new version is supported).
Platform: Android.
Technology: Java on Android.
Database: MySQL

Airtime Web

Airtime Web reloads prepaid mobile phone all around the world. This is a multi-network website to manage the product price of Merchants or Retailers. With a friendly layout, Airtime Web gives to its users an accurate overview of all the transactions, total sales as well as the total profit.

Client: Smartlink SA.
Platform: Web.
Technologies and Frameworks: Spring MVC, Spring Data JPA, ActiveMQ, Bootstrap, KnockoutJS, MongoDB, PostgresDB.
Database: PostgresSQL, MongoDB.

BackOffice Web

BackOffice Web was made to manage the users of the Smartlink applications: PCS Wallet, WMR with multi-tenant technique. BackOffice Web facilitates the administration of our system with outstanding features: Group Manager, Template Group Manager and User Manager. The system helps the tenants to download the transaction reports and ensure the KYC compliance.

Client: Smartlink SA.
Platform: Web.
Technologies and Frameworks: Spring MVC, Spring Security, Spring Batch, Spring Data, JSP, AnguilarJS, Bootstrap.
Database: MySQL

Unchained-network

Unchained-network is a product conceived by Extatik (a digital agency based in France) aiming the federation of extreme sport adepts. SmartDev has built this network from the scratch with  the Ionic, Cordova and Swift technologies. The application allows the users to create customized pages and consumes the Google Map APIs.

Client: Extatik.
Concept: Sport Social Network.
Platform: API, IOS, Android.
Technologies: Ionic, Cordova, Swift, nodeJS.

POND Mobile

Pond Mobile is an app that allows users from all around the world to call their friends for a very low rate. Pond Mobile, is built over a private VoIP network and already servers thousands of users. Pond Mobile application conveniently allows its users to pay their bills by credit cards.

Client: POND Mobile.
Concept: VoIP Phone App.
Platform: API, Android, IOS.
Technologies: Ionic, Parser, PhoneGap.

TRALALA Hotel Website

TRALALA Hotel Website is a successful Agile offshore project built up to manage the services, facilities as well as the events of TRALALA Hotel. This website is also a powerful tool to interact with customers and increase sales.

Client: TRALALA Hotel
Concept: Hotel Management
Platform: Responsive Web
Technologies: WordPress, MySql

SmartPay

SmartPay is a white label platform dedicated to the prepaid card market. It provides a list of features out of the box : real-time card balance, transaction history management, peer to peer, reload method, mobile KYC. It helps card program owners reducing their call center cost and providing new revenue streams.

Client: Smartlink SA.
Concept: Mobile Money Management.
Platform: Android, iOS, Web Service.
Technologies: Java for Android, C-Objective, Swift, Spring MVC, ServiceMix.
Database: MySQL, MongoDB