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.

Chatbot is the New UI

User Interface (UI) has always been a hot topic to simplify usage for system. Recent cloud technologies have evolve UI to a next level which is not seen in the past. We are now able to use machine learning to recognise natural language for Chatbot. How will Chatbot change our paradigm towards software development? Let us break Chatbot into basic components for easier understanding.

Machine Learning

Machine Learning (ML) have materialised AI (Artificial Intelligence) in action response logic in systems. This makes perfect sense to introduce machine learning framework into systems to handle predictable events with users.

Natural Language Processing

System response have been constrained by standard system logic processing. Natural Language Processing (NLP) gain a lot of breakthroughs with the addition of machine language framework with speech and voice recognition and natural language understanding.

Chatbot

The RE introduction of Chatbot is due to the advances made on the two fundamental concepts of Machine Learning and Natural Language Processing in its ability to replace the UI. Users can really interact with minimum switch cost, decrease training time and high stickiness for superior Chatbot.

In 2021, we should expect to see a fierce battle of Chatbot in the future Cloud space due to COVID-19 pandemic and the need to distance and remote work from home. Do watch for more updates and review about Chatbot technologies.

Netflix, TV and Cloud Musings

What do Netflix, TV and Cloud have in common? In a way, they represent a behavioral change in users. Needless to say, I am one of those who have spend more time on Netflix than using my TV. It leads me to wonder if my TV is now a display relic in my house. This invoke a reality check in my traditional IT skills.

TV and my cable set top box

Cloud skills are like Netflix. To me, it is a positive change from traditional IT to evolve to new paradigms. However, not all companies have been quick to embrace the Netflix model and suffered badly with this change.

Profiles pics in Netflix

From user view, there has been very low barriers in making the switch from TV to Netflix. The Netflix model is designed to be simple for any users who are using a mobile phone. Similarly, cloud skills are actually much simpler that its traditional counterparts. Anyone who are familiar with internet can easily pick up cloud skills.

So, why are there a quirk of companies in acquiring specific cloud skills? Isn’t it much cost effective to allow existing resource to learn and acquire the needed cloud skills? After all, we don’t really need much help to learn and watch Netflix! 🤭