The Challenges of Business IT Alignment

Business IT Alignment is a necessity in today economy. With the speed of technology deployment and Agile approach, features can now be deployed daily. Often, business are frustrated by IT over lack of innovation. On the other hand, IT are annoyed over the changing requirements. This is a quick summary of these challenges I encountered over the years.

  1. Timing is key. Consistent alignment is recommended.
  2. Manage stakeholders expectation, not user expectations.
  3. What you want is not what you need. Wants and needs is a constant battle for alignment.
  4. Business or IT Sign off is not alignment. You will need communication more than a sign off.
  5. Remember to build for unarticulated needs. What you cannot see is could be the key to alignment. Dig further.
  6. Speak a common language. Carrier, trucker and vendor may mean the same thing.
  7. Giving in to business or IT does not mean you are aligned. Alignment means a common understanding.
  8. Learn to design your solution for alignment and adapt for change.
  9. Always include political factor as part of alignment process.
  10. If you cannot be aligned, it means that neither Business or IT is ready. Do not come to alignment for the sake of alignment. It is common not to be aligned.

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.

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.

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!

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!

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.

Helping Enterprise Architecture (EA) be Agile with Cloud

Strategic and Operational excellence are key objectives for many organisations. It is difficult for organisations to achieve both at the same time. Most organisations tends to focus on one or another, investing resources in either one. Business often emphasis strategic needs while IT focus on operational excellence. There comes a period where an organization needs to bridge these objectives together. Enterprise Architecture (EA) is one such bridge to bring these two objectives together.

Enterprise Architecture (EA)

Enterprise Architecture (EA) aims to provide a holistic view of business and IT with the aim of aligning strategic and operational excellence. It aims to provide a bridge between business and IT with standardized EA framework of common vocabulary, models, tools and content metamodel. However, the notion of EA can be very far fetched and ideal to reality because many of EA program are abstract and conceptual in nature.

Agile and EA

The practices of EA runs contrary to the discipline of Agile. Huge efforts are expended to standardize and collate information at Enterprise level losing sight of Agility. Traditional EA ultimately fails to deliver because it is not able to address the business needs timely. Enterprise strategy become obsolete and irrelevant as technologies innovate faster and faster. As EA continue to remain coupled to traditional waterfall, Agile methods gradually become the mainstay for adapting to business excellence.

How can Cloud help EA be Agile?

Thus, we have seen huge gap of EA in being Agile. Luckily, this can be addressed by Cloud technologies. Any system within cloud platform can be quickly be viewed holistically and automatically be generated as a blueprint of EA. Cloud technologies have also retain its Agile capabilities to fit strategic innovations for business while fulfilling operational excellence.

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.