Saturday, 23 July 2016

The PayTV Platform VS Product Debate

This post has been on my TODO list for four years. It started as trying to clarify the role of the STB: Is it a Platform, or is it a Product?? I now feel this debate needs to be extended beyond the STB domain, and instead focus on the bigger picture - the end-to-end video technology stack. And in order to do this, one has to start right at the beginning - understanding the future design of a PayTV business...This blog post is a work in progress, my thoughts are not fully structured and far from complete...I needed to get this thing off my Trello TODO list because it was starting to burn a hole in my screen, so here goes...

The topic of what drives innovation in software companies in terms of understanding the differences between a Product versus a Platform is not a new one. It has been discussed since the early 90s in lead up to the evolution of PC Operating Systems & Applications, early 2000s on the dawn of the Internet age, mid-2000s on the rise of mobile platforms and the resurgence of Apple. Citing a few articles that discusses this topic of Platform/Products, by Michael Cusumano, a leading expert on the subject:

However, in the context of Digital TV, Pay TV or what the market is now calling "Video Entertainment", I feel not much has been written about this subject. This is probably because of the largely historical nature of these technology & architecture platforms being proprietary, in what has been quite a much-guarded and competitive landscape by technology vendors traditionally in the Set Top Box middleware space.

I believe the very same challenges that existed twenty years ago in the PC-world are really no different to the challenges Pay TV software systems face today. Whilst Pay TV exists to generate as much revenue from its subscribers as much as possible (one really can't argue with that bottom-line), one cannot ignore the fact that there is an enormous amount of software systems that power the business (consumer devices, broadcast systems, security & encryption software, billing & subscriber management systems, and more recently internet-backend services that deliver digital services on additional devices other than just set top boxes) so much so, that one could even argue that Pay TV is fundamentally, a software technology-driven business - and since this is pretty much the reality of today, then the topic of Product v Platforms in PayTV is all the more relevant!

Historically, the medium of consumption of PayTV, was through a device called a Set Top Box (STB). A piece of hardware that allowed a customer access to the content broadcast. The STB offered rudimentary user interface (an application / electronic program guide) that primarily allowed users to find content to watch - and this basic use case can still be considered the primary use case for PayTV, despite the bells and whistles that come with flashy graphics. The interface exists to allow users to find and watch content, period.

I believe the STB, in terms of software architecture, has to evolve from the once historic notion of being viewed as a standalone product, to instead becoming part a platform ecosystem, just like any other modern operating system (iOS, Android, etc.) that exposes a set of capabilities that allows for re-use of software components across devices. That, with the increasing convergence of mobile/internet/broadcast, the STB can no longer be considered its own island, with its own unique software stack (some might argue that these stacks are archaic), somewhat silo'ed & isolated from more modern technologies as in the case of platform software driving pretty much the mobile (smartphone / tablet) devices.

I have worked in the STB world for pretty much most of my career. I've always felt that we were really reinventing software systems, architectures and design patterns that was pretty much known since the sixties (really). In the last eight years, we started moving to the converged world, merging broadcast-and-internet TV, and in doing so, the constraints of the STB world start to reveal itself, especially when it came to inter-networking features, light-weight components and services-based design patterns and the challenge of essentially re-using software components across different devices. I've seen companies and teams struggle to adapt to this new challenge, especially when it came to the topic of truly understanding what it means for differentiating a Product or a Platform?


Is the Set Top Box a Product, or is it a Platform??

An example STB Platform
I believe the days of the STB as a unique device for viewing content, the primary means of interaction, and the constraint of being stuck in the world of broadcast TV - are over.

Customers don't care what a PayTV operator labels & markets its device as. The STB is simply, a means to an end - a thing that lets you connect your TV to access a world of content provided by a PayTV operator through a transport medium (satellite, terrestrial, broadband, whatever). And that in the connected world of the internet, customers expect to access the same experience on any mobile device (because it is possible and it's expected).

So initially, in isolation, just looking at the STB alone - I view the STB as providing platform software, just like iOS or Android.
From a hardware perspective, the STB device hardware too, is also a platform that allows the PayTV operator to incrementally add features over time. The hardware usually shares future-looking capabilities that STB software can realise over a period of time (usually 5-7 years, but this time is being reduced to more like 3-5 years shelf life).

This may sound like commonsense, because it is what consumers are used to with more modern  iOS & Android platforms, right? Yes, but in the world of PayTV, I've seen how technology implementations can go wrong, costing PayTV operators lots of time, money and energy, lost opportunities, lose market share, etc - due to not taking time to properly assess the nature of their products and services as well as the underlying technology ecosystem needed not only to satisfy their current business needs, but also the systems to power & drive future growth (at little cost, avoiding long development cycles, re-work and silo'ed ring-fenced deployments making maintenance a nightmare).

I also believe that we need to go further than just thinking in the STB-world - we need to think about a platform world, a world of re-use. The same applications and user experience must exist on all devices, regardless of technology domain. If the customer is expecting this unified seamless experience, in the same way the software components need to be shared across the architecture domains. I don't expect there to be separate application development teams per device. What usually happens is a PayTV operator has separate vendors, with their own stacks, a development team for STB, another development team for iOS, another team for Android, another team for PC/Web - all implementing pretty much the same thing. And similarly, separate infrastructure services teams (broadcast headend, internet online backed teams) usually fragmented, working in silos, often with duplication of services.

So the question for me has evolved: it is no longer about the STB being a product or a platform. It is about the End-To-End PayTV Technology Platform - how should a Video Technology Ecosystem be structured today?? Out with the old, in with the new is what I say ;-)


Why understand the difference between a Platform & Product?

Sunday, 19 June 2016

Reflections on my career in Software Engineering & Management

I was going to keep this post in my own internal reflections journal, but then decided not to, and instead, take a leap and make this public, since it may be of use to people who find themselves in a similar situation as I did, that is - the choice of branching out from software development path into the project management path.

So in sharing my experience, I hope it could help and benefit others, seeing that recently I've been approached by a few engineers about switching from a technical path into a project management path, which is the path I've been exposed to - and a path, that I myself am now, again find myself at a juncture, where I'm considering about what to do next(!).

Courtesy (link)
I am by nature, what you would call a Switcher (previous company even made a "switcher video" for people who moved around the organisation). It is probably down to my wiring, my upbringing & challenges growing up, experience of reality and my internal motivations that drives this behaviour - my own biases - that kick in and call for a change of some sort.  It is a state of restlessness that can only be resolved by a change, which I now find myself in, having given myself till March 2017 to implement my next transition.

The rest of the post is set as a series of Questions & Answer session that I had recently with myself, as part of my own introspection, as I took a long walk in the park, on a beautiful winter morning, just after sunrise, and did some soul-searching...I was the only walker, so I had a verbal conversation with myself:

Why did you choose a career in Software?
Why did you switch within software engineering roles?
Would you recommend software engineers to switch domains?
Why did you leave Software Coding and switch to Project Management & not pursue a path in Software Management?
What happens to your technical skills, are they still sharp?
Do you think it mandatory to get a PM Certification?
Do you regret the choice you made into Project Management?
Do you believe you've met your aspirations from Project Management path, looking back from where you started?
Given your PM journey, do you still consider yourself a Project Manager?
Given your experience, what next lies for you in the path of Project Management Career? Where to from here?
So what is this thing called "Project Leadership" then?
Where to from Here? After Project Leadership, what's next?

Thursday, 2 June 2016

Life logging LIFE-WORK balance May update

I am continuing my experiment to find the LIFE-WORK balance that I set out earlier this year, when I created my RAGE model to track my personal & professional aspirations, goals, expectations against my current reality. We are already into June, where does the time go?! 

At the end of April, I decided re-calibrate some of the Personas, thus updating my persona rankings. Going forward from start of May, for the next three months, my focus was aimed at these, major change bumping up my coding time (which was non-existent for a many years):

Looking at the big picture summary for May, across my new top 10 personas, here's how I'm progressing:

Nothing red, but still not good enough - I should be able to do better, but where is my time being spent then??

Life-Work Balance?

So in the grand-scheme of things, if I was to take the fifty thousand foot view, and look at whether my life is balanced or not, this is what I see:

Roughly, I follow the generally accepted norm that we sleep for a third of our lives!
And the remaining time is split, almost equally between Life and Work.
And in a nutshell, it appears, at face value that my life is pretty balanced - hooray!!! Wohoo!!

But why do I feel like it's just NOT enough?!

Can I get my WORK to actually be part of my LIFE?? This is a topic for another day, however, I need to continue tracking and quantifying myself to drive the behavioural changes I need!

Lets keep going. How is my LIFE and WORK split?

Insights  - Playing with the Levers

May was not a particularly great month for me:

  • My working hours as a consultant increased, which had a direct impact on my own personal pet projects like new ideas & innovations (e.g. Personametry did not get any airtime in May)
  • I made a start with learning to code again, started with Javascript & AngularJS. Coding time ate my blogging time, although I did manage to write two blog posts in May, and my blog hours increased nicely.
  • It is clear as day, that either my day job becomes a job where I innovate on new ideas, or I have to take time away from consulting and create the space I need to just follow my passion for new ideas. I still aspire to cutting down to a 3-day work week, but it's proving challenging.
  • On the life-side, maintaining it fairly steady - although I've had trouble on the Health & Fitness stream, that has seen a decline. 
  • Figure out how much sleep I could do with - can I go with less than six hours sleep? For how long?

So it's a game of levers...I don't think all the bars will end up balancing out, but I can strive to get close to levelling a few...the experiment continues!! Which lever(s) should I pull next??

Thursday, 12 May 2016

Consulting, Star Trek Prime Directive & My Simple Rules

DISCLAIMER: This is another idea or concept that just might not work, or people might find it a bit edgy...but it's been on my mind of late, and so I needed an outlet, hence this post, likely to need a few iterations :-)

In Star Trek, there is this philosophy called the Prime Directive, where an advanced civilisation, when either coming into contact with, or observing from afar, a culture or civilisation that is less advanced, or, the culture is at an early stage of growth / innovation / expansion, the rule is one of non-interference. Interfering or exposing advanced technology (or a culture) to a somewhat less-advanced civilisation might end up causing more harm-than-good, so it's better to stay away (as a right of non-imposition / interference).

Can this concept be applied to consulting, or even your workspace in general?
Star Trek
As the right of each sentient species to live in accordance with its normal cultural evolution is considered sacred, no Star Fleet personnel may interfere with the normal and healthy development of alien life and culture. Such interference includes introducing superior knowledge, strength, or technology to a world whose society is incapable of handling such advantages wisely. Star Fleet personnel may not violate this Prime Directive, even to save their lives and/or their ship, unless they are acting to right an earlier violation or an accidental contamination of said culture. This directive takes precedence over any and all other considerations, and carries with it the highest moral obligation



My Own Prime Directive (Simple Rules)

I believe some parts of this philosophy can be applied to the subject of consulting, coaching or projects that touch on change & transformation, for example: agile-transformation, or even the reverse, going back from "wrong agile" to a structured, predictable waterfall, classic command-control-central-planning methods...the situation in my context: coming from a world of advanced software engineering into a world just starting out, without having an actual mandate for intervening on changing process & methods (even though you know there is a better way)...or in the project world, how to work with people still entrenched in methodology dogma, instead of seeing projects as a people leadership activity, run by conversations & commitments and less so on Gantt-chart-style, date-status-checker-are-you-done-yet project management...

Being a consultant, at least in my experience, you need to have one or more prime directives of your own, some simple rules to guide you along a path that not only protects you as a professional (as well as a person / individual), but more importantly protects the clients (civilisations) you encounter during your formal engagements, including adhoc interactions & connections.

You could say I've been a consultant for the last five years, even though from a job title front, it is going on for 150 weeks and counting, nearing the three year mark. Before returning to South Africa, I had worked for international companies that specialised in Software & Systems Design & Engineering. I had the privilege to work with a few great teams, engineers, managers and leaders where I learnt the arts and secrets to some fairly sound, tried-and-tested Software Development & Project Management methods, including large-scale agile frameworks (which I've written about previously). Leaving the UK I'd just come off one of the largest, and most intense projects in my career to date (read here) - it is the kind of project that essentially kick-starts your career into consulting, it was my Everest where I knew instinctively that that project was as good-as-it-gets, and the probability of experiencing another similar monumental project in my future was going to be pretty low...

So when I started with my next project going back five-years ago, the landscape of the company, the product roadmap & projects portfolio was almost a copy-and-paste of my last project but tuned down by a factor of say 20 notches or so. I saw that as an opportunity to leverage the wins (and learn from the pain-points) of my Everest project, looking forward to create something similar but evolved...

It turned out it wasn't going to be that straightforward in reality...this particular civilisation was only just starting out, so I had to be mindful of the state & maturity level (new team, new to agile, new everything) just as when our Star Trek Explorers come into contact with less advanced civilisations and need to reference the Prime Directive. And the role I played wasn't grand divisional manager, but a role limited to program delivery (leaving the technical & rest of development processes in the hands of the respective managers). Even though I had come from a world of great industry, here I was faced with the challenge of working in a world just starting out...the choices:

I could go in all gung-ho guns-blazing (I'm the professional, I'm experienced, I've got years of experience, what you're doing is so minor in comparison to my last project, just listen to me, I'm the Expert, You listen-and-follow-me, I'll fix your entire division up even if it's outside my world of Project Management, I'm a generalist, I've seen it all...), heavily & dogmatically prescribe a blue-print, cookie cutter process, and do what-it-takes to enforce (bulldoze-through) the adoption;

OR

I could pick and choose the core concepts to focus on (in-line with the organisation's state of development i.e. similar to how a civilisation has advanced technically/socially/culturally), that would incrementally lead to the organisation's goal (deliver product), but at the same time forge the road ahead on which their teams would grow, learn, develop & empowered to own the problem-space (allowing them to make mistakes along the way).

Sunday, 1 May 2016

My RAGE life logging April update

At the start of this year (2016), I made a firm resolution to keep track of the things that matter to me, in whatever aspect of my life (which I call "Personas") [As a Husband, Father, Blogger, Professional Consultant, Friend, etc.] - when I developed a model called RAGE which stands for Reality Aspirations Goals Expectations. 

For each Persona, I interrogated each strand: What is my current reality (the situation as it stands - is it good, bad, healthy, needs work, etc.).  What are my Aspirations (where would I like to ultimately see my self as this person?). Can I set some short, medium, long-term goals? What can I expect to achieve (given the reality)?

I ended up creating a set of 22 Personas, which I ranked and prioritized toward the tail end of January. I then decided to track the time spent in each of these roles, checking against the goals that I'd set. Since February, I have logged a total of ~2,236 hours, which roughly works out to 93 days (24 hours) which is just over 3 months of data. I have religiously logged every activity related to a persona, using the popular timekeeping software from Harvest. And now that it's become a habit, I will continue to do so for the remaining 9 months, lets see how long it goes on for.

April Insights

Three months of data has now revealed some interesting insights - the month of May has called for a course correction. More of this later. Looking at April, this is how I spent my time:


In terms of the top 10 areas I spent my time in April:

And comparing the last three months, for each of the Personas, according to the rankings I set out for in the beginning of the year:

The shaded area in yellow shows the top 10 personas that emerged from my ranking exercise at the start of the year. There were some obvious red areas that has now forced me to recalibrate going forward into May...

Here is a month-by-month view of the top 10 areas:

Recalibrating Personas for the next 3-month Iteration

Given this data, it has forced me to re-assess some of the areas in my life. One of my hypotheses was that I may just be infatuated with a certain area, the proof would be that if I was really interested and committed to something, then I would make an effort to work on it. It so happens, after much reflection, I have now adjusted my personas in the following way:
  • Improving my technical skills as a coder is now more important to me than being an investor, job hunter, software professional or a potential company employee. Moved up from 7 to 13 in the rankings.
  • Whilst being an investor is an aspiration, the fact is that I don't really have tons of money to invest in, and that trading in JSE is more of an experiment in savings than a major part of my life. If I were to ask myself the question "who am I really?" I would rather identify myself more as Coder/Software/Innovator than an Investor. So Investor has moved down from 14 to 8 in the rankings.
  • Job-Hunter: This has become a background activity. It is no longer as important as it was to me in the beginning of the year. With all other things going on in my life, I am comfortable with my current situation, and therefore this persona does not need prominence in the top 10 anymore. I will still respond to head hunters and seek out potential opportunities linked to my aspirations, but it's now becoming a stealth activity. Moved down from 15 to 6.
  • Potential Company Employee - similar to job hunting, this persona should really disappear off-the list, anyway it has moved down from 12 to 2.
So I've re-calibrated my Personas, meet Persona Ranking Matrix Version 2 for the next 3 months:

Outlook going forward

With the recalibration done, the tracking history, with the new top ten looks like this:
New baseline for tracking

Reflections

Since the start of the year, I've made a commitment to focus on improving the areas of my life:
  • As a Husband, I've made headway into spending quality one-one-one time with my spouse. I just need to maintain it going forward. Doing this has taken a hit on my work, but being a consultant, it has made it far more easier for me to set aside time, during the work-week. I believe that alone time is important to nurture and grow the relationship, time with the kids is seen as family time (a separate activity). I will try to continue to taking a morning off out of my work-time to focus on this.
  • As a Father, I'm spending a decent amount of time with my kids. My eldest son has most of my time these days because of his interest in becoming a Hafiz.
  • As a Muslim, it is becoming a constant background activity again. Whilst some people (Muslims) might be surprised by my openness, praying 5 times a day is kinda expected, and the norm - but in reality, it needs work. Not only this, one needs to go beyond the basics and really try living completely, it's a state of mind and heart, that is quite difficult to achieve. I am on the road, there will be uphills and downhills...since starting tracking data again, I am hitting a rate of completing one complete Quran recitation every three months...it's a start. I try not to be dogmatic in this area, I'm no saint...being in control of emotions / anger / discipline / calmness is the ultimate aspiration (and I'm quite far away from that!).
  • As an Innovator/Entrepreneur - the going has been tough. The hours I spend focusing on this is the early hours of the morning, and weekends. Being a consultant again helps, as I can take time out from work (which means not getting paid) and focus on my ideas. I am pleased with the progress I'm making with Personametry, and have decided to focus on just one idea at a time (I have tons of them).
  • As a Technical person, software programmer or coder - I have decided to focus on this more. If I am to start up my own product, like Personametry, to save money and resources, I should just do it myself (which means learning to code in the modern web app / iOS / Android frameworks). I'm an old C/C++/MFC/Windows coder...
  • As an Individual, pursuing hobbies, health and fitness is really a weekend activity. With winter coming, I need to look at better ways of indoor training, and also complement training with other learning activities (like podcasts, etc.). I have regressed on my cycling since March (used to ride alone on the road, but recently been put off by the crime and now looking at cycle parks as the safer option)...I also need to work on cutting down the time I spend Resting/Sleeping, trying to bring it to around 6 hours of sleep every day, and need to improve my boot-up time, takes me 30-45 minutes from the point of switching the alarm off, to hitting the keyboard!!

If I were to map my 24-hour day....

The experiment continues...here's a version of how my 24-hour day could look like going forward the next three months:

What else am I up to?

Personal Kanban

This is a post for another day, just to give you an idea: Before my RAGE model, I maintained different Trello boards for the different things I was focused on. Each board had its own TODO list, which made it difficult to track. I also had one board called my "General Brain Desktop" as a dumping ground for any idea/thought that popped in my head. These boards grew over time, making it a bit messy...so I'm in the process of consolidating ALL into just one board, my Personal Kanban board. So far I've got hundreds of cards spanning all 22 Personas. I've shared this board with my wife, so she has a view into my mind-space...


Personametry Heart Rate Variability (HRV) Tracking w.r.t. Stress Monitoring

For the month of April, I've logged my heart rate diligently, daily day-in, day out. Took it to work every day, took samples before-and-after meetings. Took samples when I'm driving. Took samples when I was doing this (blogging), or playing with kids, or spending time with my wife...This experiment is about measuring my HRV and drawing relationships between HRV and Personas/Activities - and checking if I could get some readings about Stressful situations...Expect another blog post in May.

Jozi Quantified Self & Personametry Meetup Group

I went out on a limb and set up my own Meetup group for Personametry. Twelve people have already signed up for this, so I need to work on running my very first meetup soon...