Debunking Full Stack Role

Over the years, IT roles have evolved accordingly to technological trends playing catch up at many junctions. As times passed, I have tried different types of roles in various forms of organisations. However, we have kindly seek to divide domain into project manager, business analyst, developer and tester. With emergence of Cloud technologies and Agile, these roles are gradually merging again into a role called Full Stack.

What is Full Stack role?

Full Stack role is nothing new but a rebranding of an old role I used to call Software Engineer! In fact, I would say that Software Engineer can do much more. That will be a debate in another article. To understand Full Stack, we need to delve into a bit of history. Back in Open Source days, a Stack is refers as a set of systems that is required to run the application. The most famous stack will be LAMP (Linux Apache MySQL PHP) in the Dot Com age. Basically, full stack role will involve a mastery of the solution stack e.g. LAMP stack.

3 Myths to Full Stack Role

For those who are in the Dot Com era, we will be de facto Full Stack! This also applies to techies who have worked in Startup. After all, you are expected to setup everything from end to end from Servers to Applications.

Myth 1: Full Stack is a specialised role.

As opposed, Full Stack role involves knowledge to set up end to end solution. This is actually a generalist role to configure the system architecture which is getting common in Cloud Technologies. Only then, the deployed application can be transferred to the Subject Matter Expert (SME) for engagement with users.

Myth 2: Full Stack role is difficult to find.

Once you understand the fundamental of Full Stack Role, you will realise Full Stack has existed in many parts of existing IT roles. This role can be easily found in Agile team or Startups as they are expected to handle a variety of solutions stacks. In many cases, SME or Solution Architect can often act as Full Stack developer.

Myth 3: Full Stack is a competitive advantage.

Sadly, coming from the world of Open Source, it is quite depressing to see the misunderstanding of Full Stack role. One may feel that having Full Stack is a competitive advantage. In fact, this is the opposite. Full Stack knowledge will become a commodity because most of Cloud Technologies offer templates with quick deployment methods that can be setup within hours. We shall see a decrease in this role as Cloud technologies mature. On the contrary, there will be a continued focus on SME and specialisation of domain knowledge. Let us not be sidetrack and go back to being a generalist just because it has a nice ring in “Full Stack”.

Jack of all trades, master of none

Quote

Transport Management System (TMS) 101

Transport Management System (TMS) is a system that is part of logistics with a focus on transportation. It is exciting that TMS will be going through a new phase of evolution. Like many legacy systems, the impact comes from the changes in consumer behavior and cloud technologies. For those new to TMS, this will help you provide a crash course to TMS.

What is TMS?

TMS is the system that automate the process to manage the transportation operations. This can come from the goods handover from warehouse to port port to port, or port to customers. TMS will handle the orders from customers, delivery shipments by truckers or carriers, transport tracking and payment process for the transportation move. In simple layman terms, it is the view to move goods from point A to Point B.

Benefits of TMS

The key competitor for TMS is Excel. It is surprising to see many organisations relying on Excel, phone calls and even chat applications to handle transportation needs. Often, there is no dedicated TMS team handling this domain. Everything will be recorded ultimately in Excel. Moving to the current technology landscape, you can see a major benefit of TMS will be data visibility. Customer can now see their goods moving from warehouse to delivery. Truckers can also pick and accept jobs timely leading to better truck or equipment utilisation.

Future of TMS

Soon, more organizations will be embracing TMS with Cloud technologies. Data visibility is a major push factor as customers want to know the value they are getting from transportation. The lower cost of iOT and GPS tracking has provided TMS with near real time tracking of goods movement. Green Logistics and Sustainability is another factor to get information using TMS regarding costs vs carbon footprint.

Review of Map Engine

Geospatial data is gaining popularity with cloud technologies and iOT (Internet of Things). With mobile devices, this data have become ubiquitous and must have. However, getting this data to traditional desktop is still progressing slowly as you usually require a map engine to be integrated. I did a quick review with some popular map engine to see if I can setup a simple map page within a day.

Review Steps and Criterion
  1. Google search of popular Maps with the key words – online maps, maps API, maps engine.
  2. Maps reviews on setup and costs.
  3. Maps that can be used in China, because majority of popular maps are blocked in China.
  4. Build a simple web page and access the map API to query address by Lat/Lon, also known as Reverse Geocoding API.
Shortlisted Maps
  1. Google Map
  2. Baidu (In mandarin)
  3. Amap (In mandarin)
  4. HERE
Google Map

Plus point of Google Map is the common information found for its API. However, Login and credit card information is now compulsory to use Google API. There is also no secure way to access China maps and you may need Google.cn.

Baidu

The login keep asking for a local China phone number, assuming it is for WeChat. You will need strong mastery of Chinese as it seems geared only for China market. No pricing is stated.

Amap

Like Baidu, the entire experience is similar. Login with China mobile is being asked and integrated with WeChat. No English support is provided and pricing is also not stated.

HERE

HERE map is an upcoming map engine by a consortium of cars manufacturers. The documents are straightforward and easy to implement. There are news that they are covering China. So, it will be a map engine to look out.

Summary and Mixed Map

Overall, China coverage are limited to China map engines. Google and HERE are pretty well supported for the rest of world. There will need to be detailed testing on the accuracy as these are high level evaluations. From organisation view, it will be cost effective to support a single map engine. However, due to country constraints, there may be a need for multiple map engine support,

Architectural Thinking 101

I recently took an Enterprise Architecture (EA) course and find Architectural Thinking very refreshing. It is worth to provide my two cents worths and an introductory view because many of us are caught up in the details of system development.

What is Architectural Thinking?

The first thing that Architectural Thinking that comes into my mind is the Building Architecture. Like a building, architect plans and design the construction and utilisation of the space within a site. There are also considerations of human elements, environment and aesthetics. Similarly, Architectural Thinking is the mindset to consider the design of business and IT domains. It also align the business goals and strategic drivers so that IT landscapes can adapt and respond to changes.

Challenges

Theoretically, Architectural Thinking is a perfect approach to transform your organisation into a architectural centric fit between business and technology. In reality, the transformation is complex due to disparate data, stakeholders, system and environments. The course outlines a systematic blueprint to addresses these challenges and implement Architecture Thinking with Architecture Development Method (ADM). Another way is to adopt Cloud technologies to manage your architectural framework (see Helping Enterprise Architecture (EA) be Agile with Cloud).

Checklist

Overall, a simple checklist is sufficient to check if your organisation is ready for Architectural Thinking.

  1. Do you have an Enterprise Centric strategy?
  2. Do you have blueprint Architectural Diagram for business and IT?
  3. Do you have stakeholder maps?
  4. Is there guidelines in developing your Architecture?

For many cases, your organisation could be in stage of discovery in this digital transformation era. It may be worth to be systematic and consider investing your resources with Architectural Thinking. You could also check the reference source – Combining Design Thinking with Architectural Thinking.

Customer Experience 101

Customer Experience (CX) is an emerging trend in many organisations. Sales, customer service and customer support are being renamed into Customer Experience teams. However, are we ready for CX?

What is Customer Experience?

Customer Experience is a holistic management of customer touchpoints from infancy to “forever”. It is an integrated view to provide a positive and lifelong effect on overall consumer satisfaction. The experience combine the cognitive and affective state of mind to increase expectations beyond the customers needs. In layman terms, it is to make customers so happy and satisfied that they engage in a lifelong relationship with the organization. One such company that comes to mind would be Apple.

Why Customer Experience (CX)?

CX sounds like an idealist view and one wonders how this differs from a combination of presale, sales, customer support and customer service. As mentioned in my previous study of overall consumer satisfaction, there are different aspects of satisfaction components in consumer. All these satisfaction parts may lie in different parts of the organisation and beyond like third party vendors and logistics providers. CX aims to unite network together from these disparate systems, service providers and organisations into a single integrated experience.

Reality Bites

In reality, how many of us have really experience CX? It is common for loyal customers to be let down by services that are beyond the organisation such as third party logistics and vendors because these information are not shared. For many years, Customer Relationship Management (CRM) have been touted as the game changer for capturing customer relationships to achieve similar objectives. CX may suffer from the same verdict as CRM if many of these customer data remains in silo. Data analytics, machine learning and many other cloud technologies looks promising to change and make CX a success. By then, what will CX be rename to?

Agile POC with Cloud

It is a fast life now. Setting up server used to be months compared to minutes of provisioning one in Cloud. First, you have to prepare and renovate a server room, if you do not have one. Then, the physical server may take weeks to arrive. After that, you have to purchase the required licences for the server operating system (OS). Installations and configurations will take another week or so before the server is ready for usage.

As application owner, it is a time consuming to conduct new proof of concept (POC) by going through all these steps to acquire a server. In many cases, we skip POC and move directly to project phase to save on these lead time. Now, POC can be easily implemented with Agile by Cloud. It is time to brace ourselves to a brave new world!

Why POC

The emergence of Cloud accelerates how we can do our proof of concept (POC). With the difficulty of getting hardware, POC is often avoided for conservative organizations. It is less risky to stick to proven technology and applications. Waterfall process also slow down the process as having POC adds cost and time. While these are common excuses of not having POC, the advantages outweighs the cons for new technology like Cloud. This is because POC will lower uncertainty and risk by exploration in real environment for many stakeholders.

Agile POC with Cloud

Cloud technologies have changed the mindset towards POC. The constraints of acquiring hardware are nearly eliminated and thus solving a huge lead time issue. Server provisioning templates or machine images can also be setup to iterate POC quickly with ease. The best timing is the adoption of Agile methodologies and Cloud technologies that fits the implementation of POC.

To POC or not to POC

From stakeholders view, there seems little disadvantages not to conduct POC to mitigate risks for new technologies. Business can evaluate the relevance with minimum costs before making decisions to invest in full implementation. Information Technology (IT) team can review new capabilities without plunging into unknown from preparation with POC. To POC or not to POC, you can easily decide with Agile and Cloud.

Resilience Coding

All Roads Lead to Rome

Medieval Latin

Coding is becoming a commodity now from learner as young as six to oldest at 82. A simple code can be IF ELSE logic in excel formula. Codes can also be easily recorded and auto generated like Robotic Process Automation (RPA). The emphasis had evolved to objective driven coding more than a means to an end.

Fundamental is Resilience

Like a Kungfu master, the key in being resilience lies in a strong foundation. There are many good coders around, so what makes you stand out? Basics and fundamental allows you to focus and be resilience in achieving your end. There are so many similar solutions around. The one thing that differ lies in your fundamental mindset to path your coding to your “Rome”.

Cloud Computing Power

In the past, computing power was limited and constrained by disk storage. There was much focus on elegant codes to achieve the results. Now, it has shifted to getting what we wanted instead of how to get it. Moreover, Cloud technologies allow you to scaled your computing power easily. One such coding language to achieve popularity is Python. Its is geared towards readability and resilience aka machine learning.

Machine Learning is Resilience

Machine learning is not human intelligence. It is just a means of resilience codes leveraging on raw computing power. The perspective of coding is less elegant now and more towards being resilience. After all, you are less likely to be limited by disk storage or computing power. You have more cloud techniques at your disposal to achieve your results. If you give up, you fail. If you are resilience, so will be your codes!

A lesson from The IT Crowd

Hello. IT. Have you tried turning it off and on again?

Source: The IT Crowd
Speaker: Roy Trenneman

On numerous occasions, we have a one liner requirement that require us to implement the request in our application system. Getting such a requirement always lead me to seek solace in a the famous funny classic show “The IT Crowd”. The phrase is one of my favorite in the show because I always feel like a reboot could be great!

Eager to Please

We are sometimes the result of our own action. It is natural to please the customers without know why they need it. Usually, the person conveying the message are not a suitable person to articulate the customer needs. Thus, do we “shoot the messenger”? Unfortunately, our old code of chivalry have prevents us from doing so. So, what are the next course of action we should consider?

Customer is Not always Right

Firstly, the organization must understand that customer is no longer always right. It is interesting to find that many demands are actually made from internal to implementation team with the thought that giving what customers wanted will please the customers. In summary, the purpose of giving is to please the customer. It is time to throw our old ways and consider a new way of handling requests.

Shooting the Messenger

A request should not always be translated to a task or action. This enlightenment means we must drop our chivalry and “shoot the messenger. Of course, this is not literally and meant that we must drop the practice of the reliance of passing the messages. With Cloud technologies, data can be easily be obtained to confirm or disprove requests. The key is to understand what customer really needs.

Customer Experience

After “shooting the messenger”, organizations shall turn towards a new role called Customer Experience (CX). This role is like an ambassador who learns, understand and even feel the customer wants and needs. The role go beyond passing message to needs analysis and “deep learning” to provide a positive experience aka consumer satisfaction (You could refer to my initial study on overall consumer satisfaction). Deep learning requires capture of data points to measure with the purpose of improving customer experience. So, is your organization agile enough to take the step to “shoot your messenger” and transform to Customer Experience?

Meanwhile, I can only stick to Netflix watching The IT Crowd.

A basic CX read, Customer Experience: What, How and Why Now

What is Shadow IT?

I came across a term Shadow IT and find it “amusing” and yet relatable. Shadow IT are Information Technology (IT) systems setup by non-central IT teams with the objective of bypass or overcome the cons of central system. Looking back, I had been on both ends of Shadow IT, a creator and eliminator.

Making Sense of Shadow IT

What gives rise to Shadow IT? Waterfall evaluation, procurement and budget approval often takes longer time to review as usual. From business view, this contradicts agile and speed of adapting to change. With agility, Shadow IT provides a window of innovation and prototypes to the incumbent central IT.

Cooperate, Assimilate or Eliminate

Like rebels, the objective of Shadow IT serves an alternate voice to centralised IT. If the Shadow IT remains niche, it may usually end up being a cooperative system and even can integrate to the central system. Of course, there will also be a scenario which Shadow IT become the innovated solution and this could be easily assimilated into the incumbent IT with better budgets and resources. In worst case, Shadow IT may face elimination organically from pressure like compliance and security or inorganically from obsolete technology or support.

Future of Shadow IT

Cloud technologies have actually encouraged Shadow IT and central IT must recognise the value of Cloud towards Shadow IT. Sandbox can be created to allow business to create Shadow IT in a controlled space. There will come a time where Shadow IT coexist and central IT must learn to manage and leverage the advantages from There are some interesting read that you may want to check it out for this topic e.g. Shadow IT A Complete Guide – 2021 Edition.

Waterfall Agile Hybrid for Cloud

Agile is a pretty huge demand skillset now. It must be surprising to think that Agile was once frown upon as a non-mainstream methodology in the past. I used to be one such “hidden” Agile practitioner until I came out in 2013.

Journey to Agile

Agile have its roots from many models and one of them was Rapid Prototyping Development (RAD). I was exposed to RAD using tool like Visual Basic. This was where I begin to explore incremental changes deployment rapidly contrary to a traditional Waterfall development model. Without realizing, I had started my journey towards Agile methodologies.

Formalize Agile with XP

As I became more experienced with RAD, I decided to look into a formal methods that could incorporate changes faster and systematically. A new paradigm opened up in the form of Extreme Programming (XP), with concepts of pair programming and emphasis of code quality over documentations. It was not easy to implement XP in a traditional team setting compared to using Agile by myself.

Minority Agile

The limitations of Agile shows itself when I tried to implement XP for teamwork. The Agile mindset was more difficult to adopt for many as majority of education system had emphasised on Waterfall model. The lack of support towards Agile methodology was disheartening during the period of 2005-2012. However, I had persisted with Agile even though it remains as minority within the IT space. Putting my signatory in agilemanifesto.org had helped to serve as a constant reminder to strive on with Agile.

SCRUM certification

In the midst of my search for an Agile company, I came across a job requirements for SCRUM. In a way, the emergence of Agile or SCRUM in job ads shows signs of change in the Software Development Lifecycle (SDLC). A key reason for this change came from the shorter deployment time of mobile application and eCommerce. Gaining confidence that Agile will be the game changer, I got certified with SCRUM instead.

Waterfall Agile Hybrid Model

The expected surge in Agile did not really take off as much as I expected from 2014 to 2016. SCRUM soon died away as well. As what Agile preach on handling change, I learnt to incorporate Agile practices within a Waterfall model which I termed the Waterfall Agile Hybrid model. This model fits systems best with configuration paradigm and cloud technologies while conforming to the norms of Waterfall.

Waterfall Agile Hybrid for Cloud

The explosion of cloud technologies pushed Agile into mainstream! Cloud implementation multiplied and marry Agile with it. The rest becomes history as Waterfall took a backseat. While Agile becomes the new norm for Cloud, the Waterfall roots remains entrenched in many parts of organizations ranging for budget planning, approval process and finance. Thus, Waterfall Agile Hybrid model remains relevant until an organization completes its transformation to a pure Agile entity.