On Digitalised Product Management

Again. Having read the few words from yesterday, it’s probably difficult to follow. So, let me try a bit more structured to write up on the points I was trying to make are:

  1. Product and Service Business are different cultures.
  2. Both have established methods.
  3. Digitisation requires Digital Transformation.
  4. Digital Transformation won’t happen without a conscious decision.
  5. Digitised Products need to consider both.

Product vs. Services Business

This is the part with the margins. While the first lives off high enough margins in the retail chain, the later lives off customer satisfaction, with basically very thin margins.

Management Methods

Things require a stock and supply chain. A service requires time to response and time to resolution. Or response time, for interactive services. And so do physical projects require different management methods than services do.

Digitisation requires Digital Transformation

Putting a chip in it is not the single answer to achieve Digital Transformation. It requires to combine product and services business and that process is the actual transformation people are looking at.

Digital Transformation won’t happen without a conscious decision

Very much as #3, just putting a chip into a product will not be sufficient, because the product will work so much different than before and the customers expectations will not be the same either. However, it requires a component that contradicts traditional management behavior as well as financial expectations. Therefore, somebody high enough will have to take a decision and carry it until Digital Transformation happens.

Digitised Products need to consider both

And so, finally, a digitise product needs to be managed with services and the tangible parts in mind. While a product is produced, a service is operated. The product will have development cycles that are much longer and the supply chain needs to be managed, while at the same time the service attached to the product needs to work to the customers expectations and evolve much different.

On Digitalised Product Management

Now the family left me here for the afternoon, I have some time to exercise blogging and put down a few thoughts on my recent job. To write in a cosy environment, a lit the fireplace at the house we are staying in. The result is as favourable as you may imagine. Only the missing bear fur could add to the feeling. The role in marketing, “Product Management”, hasn’t been that cosy recently, for a few reasons, that are more related to corporate behaviour than to individual contribution.

While I will need to avoid mentioning the actual product I am still working on, and it’s probably difficult even not to have any references, the below still tries to explain the tensions that exist in the world of traditional industry, moving towards a digitalised service business, in which tangible products get marginalised.

The primary reason for me, an computer engineer, having spent all his life in service business and so to say “in the cloud“, to come to a marketing oriented role is to design and develop – as in business, not as in a computer programming – a connected product.  The Internet of Things, if you want to. Whereas many companies have Things already. But they want to offer smarter things, that’s why everything gets connected. Now connectivity has to offer many benefits over traditional products, but they’re not the primary value proposition the customer pays for. The customer still pays for the product. And in the market, any customer will ask for the smartest product available. Just like I wanted to light a fire. One that was good and warm, and keep my cosy. And to do so, I had to collect some pinecones, that would easily catch fire. It was bothersome, but necessary. 

The things industry is not very familiar with service offerings. It’s actually something fundamentally different from the internet or services industry. To put it boldly, what a customer expects from a product: something solid. And what a customer expects from a service: something that is available anytime. (Like, literally, in the middle of the night!). While Things are sold physically and can be produced on stock, a service cannot be hold until the customer asks for it. Value through a service is created by making something more convenient. I’d have paid somebody to cut and carry the wood required to light a fire. But I had to do it myself, and that was  not only tiring but also heavy work. While, as a customer, the thing I’d buy is the wood, I would spend a premium for somebody to do the work. To add the service. Probably not much, but hey. The same happens for businesses.  While still everybody produces products, the more convenient products are in the customers favour, only at a small margin, though. Just to make an example, just recently Oracle, a business to a majority based on the sales of products, databases, announced to acquire Accenture, a consultancy service, to add services to it’s portfolio. Others have doubts this merger makes sense, exactly for the above reason. Margin driven things companies will have a difficult time appreciating low margin service as part of their portfolio.

Just like me. I wanted to sit in front of a warm fire when spending my time without the family. It’s very clear I’d need pinecones and wood to get that, and I’d pay for it. However, if some other guy selling wood sells cut wood and carries it to my house for a fee, I’d probably appreciate that more convenient offer. But that decision has to be made very conscious, and people responsible for the service in that organisation can’t be measured on financial goals as their product colleagues, but customer satisfaction.




Celery Worker wide configuration

Celery is a distributed task execution environment for Python. While the emphasis is on distributed in this software, the concept of having workers allows for settings beyond the individual task. While the first rule of optimisation is “don’t”, sharing database connections is a low hanging fruit in most cases. And this can be configured per worker with Celery provided signals. To create a database connection for individual worker instances, leverage these signals to create the connection when the worker starts.

This can be achieved leveraging the worker_process_init signal, and the corresponding worker_process_shutdown signal to clean up when the worker shuts down.

The code should obviously be picked up at worker start, hence the tasks.py file will be a good location to keep these settings.

Example tasks.py:

from celery.signals import worker_process_init
from celery.signals import worker_process_shutdown

app = Celery('tasks', broker=CELERY_BROKER_URL)
db = None

def init_worker(**kwargs):
  global db
  log.debug('Initializing database connection for worker.')
  db = sqlite3.connect("urls.sqlite")

def shutdown_worker(**kwargs):
  global db
  if db:
    log.debug('Closing database connectionn for worker.')

The example above opens a connection to a sqlite3 database, which in itself has other issues, but is only meant as an example. This connection is established for each individual worker at startup.

Digitalisierung – Die den Code der Welt von morgen schreiben

Welche Verantwortung tragen Softwareentwickler für die gesellschaftlichen Veränderungen, die sie vorantreiben? Die Antwort ist komplexer, als es der Mythos vom Programmierer als Rockstar erscheinen lässt.

Auch die Süddeutsche greift das Thema der moralischen Verantwortung von Programmierern auf. Teil des Problems ist, dass die Profession – der Wahrnehmung des Authors nach jedenfalls – als rein technische Tätigkeit wahrgenommen wird. Vergleichbar des Berufs eines Maurers und weniger der eines Architekten oder Bauingenieurs.

Tatsächlich versetzt die Digitalisierung aber jeden in die Position, mit äusserst abstrahierten Programmiersprachen, die teilweise mehr schon menschlicher Sprache ähneln, einen Beitrag zur weiteren Digitalisierung zu leisten. Webservices oder Chatbots zu programmieren ist mit detaillierten Anleitungen einfach zu erlernen und Schritt für Schritt auch dem Laien nachvollziehbar. Viele der zu Betrieb notwendigen Services sind kostenfrei erhältlich.

Es gibt gewissermaßen keine Einstiegs-Hürde. Weder in der Ausbildung noch finanziell. Diese technische Ermächtigung der Gesellschaft und die Lücke in der Wahrnehmung ist zu einem erheblichen Teil auch der Demographie geschuldet, so finden sich unter Digital Natives kaum über 40-Jährige.  Genauso wie sich unter Konzernlenkern kaum unter 40-Jährige finden.

Und so ist die Tätigkeit des Programmierens nicht länger dem Programmierer – mit einem Diplom von 1995 – vorbehalten, sondern in der Breite der Gesellschaft angekommen. Phänomene wie 4Chan oder Anonymous entstehen aus dieser technischen Möglichkeit, entkoppelt von moralischen Richtlinien. Dort werden Beiträge erzeugt, die tatsächlich ethische und moralische Fragestellungen aufwerfen.

Es werden nicht Regeln von heute sein, die das Zusammenspiel der Gesellschaft in Zukunft regelt, die kommende Generation wird im Internet neue Regeln für den Umgang miteinander finden.

Source: Digitalisierung – Die den Code der Welt von morgen schreiben