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.

Coopetition the New Economy

Competitions are a thing of a past as consumers became flicker minded and switch cost is lower due to advent of technologies e.g. having different video conferencing application in a mobile. Monopolies discourage innovations and create unfair pricing for consumers. Many countries even have laws regarding competition to prevent creation of monopoly e.g. Singapore Competition Act. A new breed of organization emerges where competitors works in cooperation across different regions. A world of coopetitors!

What is Coopetition?

Coopetition is a fusion of cooperation and competition. In today’s economy, monopolies are frown upon and even illegal. It is not unusual for competitors to collaborate and cooperate for mutual benefits. Many examples existed such as airlines alliances with their codeshare connection, automotive partnership that owes HERE maps and Alibaba network of merchants, suppliers and eCommerce shops.

What Cooperate yet Compete?

All these coopetitors have a common objective to increase competitive advantage, enlarge market share, extend market reach and coverage with the consumers. This would create a network effect globally as a single organization will take a longer period to achieve this. Moreover, technologies have disrupted barriers and amplified threats of market entrants to traditional industries. By sharing, these organisations can create greater value in combating these entrants. Vice versa, new startups can allied together to take on existing incumbents. Without coopeting, these objectives would be impossible.

COVID-19 Effects on Coopetition

Perhaps the best case study of Coopetition comes from COVID-19 pandemic. Covid Vaccines have taken less than a year to be developed compared to several years for a typical vaccine. It will be impossible unless information is shared and collaborated among old foes and competitors. Another example is the collaboration between transportation providers, Food and Beverages (F&B) businesses and food delivery during COVID-19 lockdown like ComfortDelivery in Singapore. Will your organization be mature to coopete against this new breed of alliances?

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?

Implementing Waterfall Agile

Agile software practices can be implemented with discipline in majority of projects. In many organizations, the project approval and management remains in Waterfall mode. So, how should you approach to be Agile within the Waterfall culture?

Agile within Waterfall

As mention in my previous article, it is a challenge to apply Agile within a Waterfall organisation. As opposed with many bias, Agile is a very practical and disciplined practice. Implementation of Agile will first require a mindset change for the team. However, some teammates are so entrenched to Waterfall approach that Agile becomes a drastic change. Similarly, organisations are resistant if you choose to declare the usage of Agile in your project management. So, a neat approach is the ubiquitous introduction of Agile using its techniques. Two such methods are timeboxing and product backlog.

Timeboxing

Timeboxing is a technique to complete the assigned tasks within a fixed time. It is used in Scrum as daily meeting and sprints. Waterfall have a longer time horizon, fixed milestone and timeline. There are similarities of timebox and Waterfall. You can easily apply timeboxing in your development team to score quick wins from Agile. Over time, you will learn how to timebox and coexist within Waterfall plan.

Product Backlog

Product backlog is an artifact of Scrum that can be utilised for Waterfall. It is very similar to feature list, requirements, issues or parking lots. Unlike Waterfall, Agile consolidates anything required by the product into a single backlog. Priority and business value are set as well so that business and IT have a single view of the product backlog.

Be Realistic

You must be mindful to be realistic in your Agile expectations. Go for baby steps if your organization is traditionally Waterfall. Telling your management that there will be no project manager due to Scrum would scare the “hell” out of them. Be bold to apply and fuse components of Agile within the Waterfall cycle. Like Agile, you need to keep iterating to arrive at your definition of “done”. You need self reflect and benchmark your success of implementing Agile. In time, you will reap the benefits as more Agile components replaces Waterfall. Lastly, be resilient and do not give up as Agile is here to stay.

Green Logistics 101

Green is the new fab now. Singapore has just announced its Green Plan 2030. Green Technologies, Green Fuel and Green Logistics are some of the futuristic areas that will be gaining popularity as sustainability become a concern for Earth survival.

Source: Google Trends
What is Green Logistics?

Green Logistics refers to the flow of logistics that are conducted in a sustainable way with the purpose of reducing the carbon footprint. The other key objective of Green Logistics is to focus on the transportations of goods in order to minimize the impact on environment.

How Cloud helps Green Logistics

Green Logistics is not new. It is an ideal way to save the world but languish for many years as conceptual ideas because of higher consumer costs to be Green. The arrival of Cloud technologies have revived the interest of Green Logistics with the sole purpose of Greater Good i.e to commoditize carbon cost using Cloud computing.

Commoditizationc of Carbon

Carbon are being commoditised and implemented as Carbon Tax in many countries. The aim is twofold, to reduce carbon gas emissions and passed this carbon cost to consumers through taxes. For the first time, Carbon can be measured and be quantified like commodity. Higher carbon will translate higher cost for the consumers. Carbon heavy industries like energy sector is the first to be impacted. Similar for logistics, majority of carbon tax will derive from fuels.

Future of Green Logistics

The measurement on the consumptions of carbon will spur customers and supply chain providers to offer carbon services or Green Logistics. Cloud technologies will be adopted to capture these carbon usages. The first adoption will be the iOT of fuel in vehicles. Next, massive digitisation of data such as weather and traffic conditions will be captured for route and load optimization. With these information, Machine Learning (ML) can provide detailed analytics on how reduce Carbon Tax without increasing consumer costs. It will be exciting to see Green roles or Green Technologist in Logistics sectors. Green is the new Change, let us embrace it!

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.

Book Review: Built to Last: Successful Habits of Visionary Companies: 2

Built to Last: Successful Habits of Visionary Companies: 2 by Jim Collins and Jerry I Porras is a good bedtime read of organisation culture and case studies of successful organisations. No spoilers will be revealed in this review.

  1. This book provides case studies approach in understanding organisation cultures and successful leaders.
  2. It is a smooth read and not heavy with theories.
  3. There are comparison studies done with real organisations. This gives you an introductory insight to various multinational (MNC).
  4. One of reasons which I know of this book is its focus one organisational cultures. Organisational cultures comes from people or leader who created a success company.
  5. Creating a company and sustaining a company is highlighted in this book.
  6. Lastly, you get to know many MNC and other related business books.

Overall, this is a pleasant read of business book that will guide you into the world of MNCs. Lots of success examples are quoted ranging from leadership to organisational cultures. While there are critics of the book on lack of research depths, I feel that this book is geared towards the general audiences who are new to business books. After all, it is also one of my first business books I read.

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

Pseudocode as a Job Skill

Java, PHP, JavaScript and C are some of popular programming languages that have been used in application development and widely stated in job requirements. Yes, I deliberately drop Python because I still feel it is trendy due to machine learning (ML). However, Pseudocode is one job skill that has been neglected to be stated in mainstream job ads.

What is Pseudocode?

Pseudocoding is not actually a programming language but a technique to describe readable system steps for users and developer. It is structured in such a way that is readable for end users yet functional for developer to code in any languages.

Sample Pseudocode
Why Pseudocode?

In my “old days”, pseudocode is important and taught as part of computer subject. It is a must-have skill for all coders for its emphasis on algorithm over programming syntax. As such, it is surprising to me now that some coders do not know pseudocode when being asked to demonstrate this skill. A good coder with strong Pseudocode skillset can easily switch across different programming languages compared to one who only know certain programming languages.

How to Choose Excellent Coders

Like all arts, normal coders are easy to find. The excellent ones needs to be sift through the midst of programming languages as they transcend across different codings. One way to identify such developers is to apply the fundamental practice of using Pseudocode. There will be a shift in mindset to reduce the reliance of hard skill and turn to applying the basic logic of programming with Pseudocoding.