Digital Transformation & Cross-Functional Teams

One of the important aspects of Digitial Transformation is the introduction of cross-functional teams. A cross-functional team is a group of people with different functional expertise working toward a common goal[1]. Cross-functional teams include people from various departments with different functional expertise working towards a common organizational goal. This teams also might have people from outside of the organization such as suppliers, key customers, etc.

The purpose of the cross-functional team is to facilitate innovation through creative collaboration leading to higher throughput and quick problem resolution. Another purpose of the cross-functional team is to break the silos that typically happen in big organizations and instead try to build bridges for communication. All the people in a cross-functional team have various levels of expertise so even if the posed problem is not solved, it can easily be taken to an “expert” by the team for doubt resolution and a probable way forward. All in all, cross-functional teams do lead to improved coordination across various functional areas.

Cross-functional teams are a necessity for an organization to introduce digital transformation and venture into the field of Digitalization. The most important part of breaking of the silos or creating fast throughput communication bridges between various operational areas in the organization is the key for succeeding in the process of digital transformation. In the Projectified with PMI podcast, “Digital transformation – What it takes”[2], Anand Swaminathan cites an example of the ING company which is one of the largest financial conglomerates, who created cross-functional cross-discipline teams to provide a customer with the full experience of ING products & services. They called such teams as tribes & squads who work towards providing the best possible solution to their customers.

One more example was cited for the medical field where hospitals reorganized the teams to deliver healthcare centered around patient needs thus optimizing the patient throughput and reducing patient wait times. I do agree to the benefits of having cross-functional and/or cross-disciplined teams providing for faster turn around times. But such teams can only provide for faster turn around times till the problems faced are generic and do not require any special/expert in-depth consideration.

When a customer, for instance, comes in with a very specific problem which needs deeper analysis from experts in the area for a proper resolution, cross-functional teams are way more inefficient at handling this kind of situations. An example can be a child who enters an ER complaining of chest pains. Or a customer who already has billions of dollars invested in funds and now wants to move them into crypto. Also, research-intensive tasks such as finding a new DNA sequencing algorithm or optimizing the frequency utilization for a given band will pose some great challenges to cross-functional teams which they will not be able to clear.

In general, any problem which has not been solved previously will be a difficult one for cross-functional teams to handle. Digital transformation has various levels of success depending on the industry type and the way external and internal stakeholders & customers interact with the eco-system. Personally, I see the cross-functional cross-disciplined teams as assembly pipelines[3](progressive assembly) in a broader sense. Of course, it does not mean that the cross-functional cross-disciplined teams work in a sequence without variations. What I mean to suggest is that the efficiency of the cross-functional cross-disciplined team is greatly enhanced by having the “semi-assembled parts” ready! As long as the teams are not going to invent a new “assembly part”, everything should go smoothly.

As I see it, the way these teams are successful is because most of the problems faced by external/internal customers are not new and have already been previously solved. The cross-functional cross-disciplined teams take advantage of the previous experience to provide a faster solution and in doing so add to the previous experience. So my take on the aspect is to regard cross-functional cross-disciplined teams as structural organizations that can reduce the organizational overhead as well as break the silos and increase cross-functional communication.

And it does not mean that specialized organizations and roles are not needed anymore. Specialized organizations and roles just do not solve the already solved problems and hence the increase in efficiency since 90% of the problems are being solved externally from the core/expert group. I have seen organizations deeply involved in research, for instance, taking the cross-functional team as buffered pools for doing systematic research. This has a negative effect on digital transformation hindering the actual output of such research focussed organizations.

Please do post comments as I would like to understand if this is a general sentiment across the industry.

[1] – Krajewski, L. J. and L. P. Ritzman. 2005. Operations Management: Processes and Value Chains. Pearson Education, Upper Saddle River.
[2] – Project Management Institute, Inc (2018). Digital Transformation: What It Takes | Projectified. [online] Pmi.org. Available at: https://www.pmi.org/learning/training-development/projectified-podcast/podcasts/digital-transformation-what-it-takes [Accessed 18 Sep. 2019].
[3] – Wikipedia Contributors (2019). Assembly line. [online] Wikipedia. Available at: https://en.wikipedia.org/wiki/Assembly_line [Accessed 27 Apr. 2019].

Project Benefits Management Plan

According to PMBOK, “The project benefits management plan is the document that describes how and when the benefits of the project will be delivered, and describes the mechanisms that should be in place to measure those benefits. A project benefit is defined as an outcome of actions, behaviors, products, services, or results that provide value to the sponsoring organization as well as to the project’s intended beneficiaries”[1].

This document is a living document and according to me, its life-cycle starts way before any business plan is laid out. Information exists for this but maybe not in a centralized place. Many factors such as business execution environment changes (evolution, devolution or revolution) and/or strategy, management and economy changes are the ones which trigger activities that generate a probably viable business sustenance/execution plan.

Formation of a project and/or group of projects/programs comes way later in the picture. Risks, assumptions, and timeframe for benefits realization are the most important key elements that shape a project and/or program. Investments and ROI of a business proposition play a very tangible role in idea generation which later based on other factors can lead to project ideas and/or planning of benefits realization.

Needs assessment and business case generation/analysis comes at a later stage after the investment model and ROI generation has been effectively strategized. All big companies including start-ups take this very effective approach to project initiation. In practice, I have seen the business case and project benefits plan going out of sync even though the strategic owners of both of them are more or less from the same organization. At times, both of them will be creatively used to influence a go-no-go decision on a project and/or make-buy decisions.

In general, if a project slips the implementation timeframes, the timeframes for benefits realization also slips. And at times, business case might make sense in a long term strategic perspective but the immediate benefits realization might get hampered and become invalid. Personally, I would prefer if the strategic owners of the business plan and benefits realization plan are in sync with the project sponsors. Project manager, in this case, is a mere executioner with very little control on the external factors. What is your view?

[1]  Project Management Institute (2017). A guide to the project management body of knowledge : (PMBOK guide). Newtown Square, Pa: Project Management Institute, p.33.

Project & People Management

Project management has been very much talked about and PMBOK is an excellent resource to get all the relevant information. I think people everywhere in public & private life do understand the value of project management. Simple tasks in everyday life (eg: go for an offsite meeting on Friday evening ;)) are looked upon as projects by parents. Everybody involved (husband, wife & children in this case) needs to be on the same page when it comes to execution.

In a professional project that I am involved with right now (automotive), the project initiation factors are manifold including “New Technology”, “Competitive Forces”, “Market Demand” & “Strategic opportunity” as well as “Business Need” to stay relevant in a slow-changing industry. The automotive industry by itself has been very innovative and has been incorporating new technologies as fast as it can. But the processing of artifacts in the industry has more or less been the same from the beginning.

Typical projects in the industry last for 15 years with about 5 years of development lead time, 5 years of shelf time and 5 years of support services. The SW projects, on the other hand, are not that long (typically the life of an SW is maxing 2-3 years) after which a new version or upgrade needs to be issued. The contradiction in the industry now is to get the people in the industry to understand SW methodology and to get the people in the SW to understand the automotive industry!

People working in their respective fields are excellent in their field of knowledge and very reluctant to change their way of thinking and/or processing information. If I take an example, fully autonomous vehicles will be running multi-core HW with a full-fledged POSIX compliant OS plus applications running on it. Now the SW for such a complex system needs to be updated. The size of updates is up in GigaBytes. So the downtime for automobile during servicing, production, etc. might increase if the old way of doing updates is not modernized. But doing this modernization will in effect change the whole process of procurement, production, and service in the industry.

In general, I find that people, especially in the automobile industry are unable to grasp the importance of changing the processes and philosophy to fit in with the needs and demand for modern-day technology. The project manager is more involved with doing people management in this particular project. Some of the tasks like:

  • Getting different teams to talk to each other
  • Promoting common vocabulary
  • Plugging in the core software into the electrical and mechanical engineering teams
  • Requirements management
  • Communications towards stakeholders including 3rd parties
  • Driving infrastructure changes related
  • Assigning ownership (especially because the old ways of attributing ownership is not applicable anymore)
  • Most importantly, changing the mindset of people

I personally do think that people management in this project is as important as project management if not more. Since a lot of things are new, people are afraid of executing tasks since they might end up on the wrong side of the door. People hence needs to be managed so that they feel more confident and more cozy with the changing environment. So according to me, it is not only the project that one needs to manage, but one also needs to manage all the multitude of people who are even remotely going to be affected by the product/services change that the project is driving. And this can be quite overwhelming especially because of cultural differences as well as the fear of failure. Plus there are no real guidelines here.

Digitalization – What is it?

Before I start writing on Digitization/Digitalization, maybe we should spend a little time in exploring the alternative “Analogization”! Now I have made up that word and probably the more appropriate word might be “Materialization”[1][2] but comparing the past/existing with the upcoming/future will give a perspective and provide a context for my thoughts.

As human beings, we have been generating information right from the start of our existence and materializing it as physical objects. These physical objects were hard to manage, cross-reference, study & derive from. With the new age technologies, we are now at a stage where we can convert all the physical form of materializing information into digital bits & bytes that can be read, stored, coded and decoded by computers (Digitization).

Digitization of information is not only limited to converting materialized formats (image, text, sound, etc.) to digital ones but also to create an environment / eco-system around data which had no prior existence in any usable sense.

To give an example, I get stuck in traffic while going to the workplace every day at certain times. Digitization of this information allows for something known as extrapolation[3] which when combined with similar data from millions of users allows one to predict accurately as to for what time he/she will be stuck in traffic and probable solutions to avoid the same!

Targeted advertisements[4] and the more recent and sinister Cambridge Analytica scandal[5][6] and “vote steering”[7] are very much applicable (maybe somewhat immoral) uses of such information. But before I write more, I would again like to differentiate between data[8] and information[9]. In general, data by itself makes little sense unless and until it is put into a context which then gets transformed into information.

So “Digitalization” itself allows for converting data into information very quickly and in most cases in very sensible ways. This allows for and facilitates changes in processing, interpretation, replication, and application of the information in various aspects. The impact of Digitalization is not local and can have an impact on totally unrelated fields/markets. An example is an enhancement in Artifical Intelligence algorithms[10] which can create fake videos!

Can you see Mona Lisa talking in the above picture? Now the impact of this research is not only on Mona Lisa or image processing fields. This technology can be used to create information which can influence morals, ethics, freedom, democracy, art, literature, etc.

Digitization has helped with:
– Faster collection of data
– Faster generation of data
– Faster and deep cross-referencing of data

Digitalization, on the other hand, has helped with:
– Replication, extrapolation & interpolation of data
– Finding relationships between variables in totally unrelated/unexpected ways
– Contextualizing data and generating information impacting
* Eco-system
* Processes & ways of working
* Influencing individuals & societies alike

To end, I would say that “Digitalization” is here to stay. It is up to us to accept it, embrace it and drive it in a more thoughtful pattern. Materialization (Analogization) is of a foregone era. Transformation of various markets, innovation, business, eco-system, technology, rules & regulations, IPRs, etc. is happening at an unimaginable pace because of digitalization.

Even professions which have been termed as less likely to be automated (eg: Teaching) is already heavily influenced. My daughter’s MATH teacher is a website named “Nomp.se” and for many people, YouTube is a better place of learning than traditional classrooms (MIT OpenCourseWare)!

[1] – https://www.merriam-webster.com/dictionary/materialization
[2] – https://english.stackexchange.com/questions/482439/a-word-that-means-the-opposite-of-digitization/502604?newreg=8446bb56c8dd4deaacc9c3385ba3ad26
[3] – https://en.wikipedia.org/wiki/Extrapolation
[4] – https://medium.com/better-marketing/the-great-hack-reveals-facebook-ads-arent-just-selling-leggings-ea50b2191bf
[5] – https://epic.org/privacy/facebook/cambridge-analytica/
[6] – https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal
[7] – https://www.wired.com/story/moveon-sway-midterms-with-facebook-ads/
[8] – https://en.wikipedia.org/wiki/Data
[9] – https://en.wikipedia.org/wiki/Information
[10] – https://bigthink.com/technology-innovation/new-ai-can-create-fake-videos-of-people-from-a-single-picture?rebelltitem=1#rebelltitem1

Compile Gargoyle for Netgear R6220

I recently got a Netgear R6220 router, an AC1200 dual-band router with very impressive specs. It was awarded the best router in 2016 and now in 2019, I still think it is a very good router. It has a 2 core Mediatek MT7621 (MIPS) processor with 128 MB RAM & 128 MB ROM i.e. ample space with some good processing power. Below you can see the impressive specs. BTW: I got this for almost 15 USD which was a steal!

root@OpenWrt:~# cat /proc/cpuinfo
system type             : MediaTek MT7621 ver:1 eco:3
machine                 : Netgear R6220
processor               : 0
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VPE                     : 0
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 1
cpu model               : MIPS 1004Kc V2.15
BogoMIPS                : 584.90
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VPE                     : 1
VCED exceptions         : not available
VCEI exceptions         : not available
root@OpenWrt:~# cat /proc/meminfo
MemTotal:         124016 kB
MemFree:           67696 kB
MemAvailable:      50560 kB
Buffers:            2460 kB
Cached:            12820 kB
SwapCached:            0 kB
Active:            25640 kB
Inactive:           5116 kB
Active(anon):      18372 kB
Inactive(anon):      144 kB
Active(file):       7268 kB
Inactive(file):     4972 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         124016 kB
LowFree:           67696 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         15476 kB
Mapped:             2920 kB
Shmem:              3040 kB
Slab:               9628 kB
SReclaimable:       2636 kB
SUnreclaim:         6992 kB
KernelStack:         448 kB
PageTables:          336 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       62008 kB
Committed_AS:      23588 kB
VmallocTotal:    1040376 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB

I am running OpenWRT on this router. You can use the OpenWRT information page to install OpenWRT over the stock FW.

Now OpenWRT is good but I miss some of the user-friendly features from Gargoyle FW, which is another open source FW based on OpenWRT. One of the best features is the Quota & throttling support in the UI. I can do all these things in OpenWRT but again, it is a lot of manual steps and I also want somebody like my wife to be able to manage the router as well if needed.

The current binaries available for the MT7621 does not have R6220 profile and also, it does not have the latest OpenWRT base. Hence the only option is to compile Gargoyle and create a working FW. Below are the steps for the same. The code below is self-documenting but do ask me your questions in comments as needed.

The original source is: https://github.com/ericpaulbishop/gargoyle. I have a forked version available at: https://github.com/wolverine2k/gargoyle. Start working on the master branch since that is up-to-date and being actively worked upon upstream.

git clone git@github.com:wolverine2k/gargoyle.git
cd gargoyle
git checkout master
make ramips.mt7621

If the compilation is successful, you should have the necessary binaries generated in: ramips-src/bin/targets/ramips/mt7621

Gargoyle R6220 Firmware Images

You might face error with obfsproxy-legacy which I faced. So I had to apply the patch to get it to compile. Now simply do a sysupgrade on your OpenWRT FW to enjoy Gargoyle. I will put another blog post if I find any instabilities.

More documentation on the same can be found at: https://www.gargoyle-router.com/wiki/doku.php?id=developer_documentation