Abstract Object Oriented Analysis and Design in Python

Abstract Object Oriented Analysis and Design in Python

Often, when programmers are introduced to “serious programming”, one of the first things they are taught is Object Oriented Analysis and Design (OOAD). In this software design methodology, things in the “real world” are mirrored within the code; a person becomes a Person object, a car becomes a Car object and an electricity transmission line becomes an Electricity Transmission Line object.

The thinking behind this design methodology goes as follows.

“It works in the real world, as you can see. Therefore, if you mirror exactly what you see in the real world within the computer system, then it must work.”

Things are not always that simple, however.

Distinct Systems and Indistinct Systems

Generally speaking, when we come to model a real-world system in a program, we may be presented with two types of systems: distinct systems, and indistinct systems.

Distinct Systems

A distinct system is one in which everything is well defined and things proceed according to a specified plan. An example of a distinct system is a car engine. Here, every part is mechanically engineered to a nicety, and only interacts with the other parts in the engine according to a strict set of rules which were precalculated prior to constructing the engine.

If we adopt the classic object-oriented design methodology here, we will be on firm ground. Since “real life” is modelled precisely, there is no reason we cannot represent reality in an exact object model.

Indistinct Systems

In contrast to distinct systems, indistinct systems are marked by fluid dynamics, nebulous boundaries and unpredictable interactions. For example, think about trying to exactly model an economy in a object-oriented programming language.

Here, the clear-cut categories and predictable interactions loved by object-oriented design quickly dissolve. For instance:

  • Business Definition: A business can quickly “change shape” from being a small startup to being an internal corporation.
  • Interest Rates: Interest Rates can be viewed from many different perspectives:
    • Central Bank Perspective: Raising interest rates can be a measure to curb inflation, ensuring long-term economic stability.
    • Consumer Perspective: The same rise can mean higher borrowing costs, dampening the ability to buy homes or make large purchases.
    • Business Perspective: Higher interest rates could increase the cost of financing, potentially discouraging investments in expansion or R&D.
  • Currency Evolution: What might begin as a novel form of digital currency, e.g. Bitcoin, can evolve into a major financial asset class influencing central bank policies and facilitating international trade.

If a programmer attempts to use classical object-oriented design to model a system that handles these realities, they may soon find that they have designed themselves into a corner, and the clear-cut distinctions they made between different classes prevents them from being able to implement the functionality required by end-users.

For this reason, there is currently a movement back towards functional programming, which focuses on on transformations and flows of data, instead of trying to model individual, discrete entities. For example, instead of trying to fit an economy into neatly defined objects and their interactions, functional programming would instead model the flow of data (like money, goods, or services) through various transformations (like investments, taxes, or trade).

Modelling the Abstraction

A third option in object-oriented program design is to model the system abstraction, this means that instead of modelling concrete objects (or notions) such as cars, people and financial institutions, we can instead model the abstracted qualities of these entities, which interact with each other within the system that the cars, people and financial institutions operate in.

For example:

Entity Traditional OOP Approach Modelling the Abstraction
Car Create classes for wheels, engine, or doors. Model the forces at play in the power generation and transmission system of the entire car, the computer control system of the entire car and the safety system of the entire car.
Person Create different classes that a person can “fit into”. For example, a person could “be” a customer, a salesperson or admin staff. Model the person’s resources (e.g. financial), capabilities (e.g. skills) and activities.
Financial Institutions Create classes for banks, lending societies or mortgage providers. Model institution liquidity, reliability, or risk.

By modelling the entity abstraction up-front, the programmer can allow system interactions to occur natively within the software system without having to first provide a layer of abstraction on top of classes that represent concrete realities.

Abstract Object Oriented Model of a Tree

As an example of this approach to Object Oriented Design, let’s write a object-oriented Python program that models the functioning of a tree. In classical object-oriented design, we would model the trunk, the branches, the roots and the leaves as individual classes, and then implement the interactions that occur between them.

In the suggested system abstraction object-oriented design, we will instead model the energy aspects of the tree, the logical aspects of the tree and the control aspects of the tree as the objects in our program. This qualitative division of concerns (energy, logic and control) is based on previous posts where this was introduced as a universally applicable method of qualitative systems analysis (see Qualitative Systems Analysis using ChatGPT and Expanding Triadic Systems Analysis).

In other words, instead of grouping the functionality of a tree according to the functions of discrete physical elements of a tree, we will group tree functionality as perceived from the triadic division of energy, logic and control.

This gives us the following grouping of functions:

Functional Group Description Examples
Energy related functions Grouping of functions related to the tree’s energy processes.
  • Positive energy functions: generate energy, photosynthesis
  • Negative energy functions: respiration and growth
  • Conditions for generating energy: Water requirements
Logic related functions Functions that make decisions based on energy levels and tree health. Decide growth and fruit production according to energy level and tree health
Control related functions Functions related to maintaining and assessing the tree’s health. Assess health

In this way, we have kept the advantages of the object-oriented paradigm, but have avoided the constraints that arise when modeling a rigid structure to represent an organic system. Using an abstracted model means the program is adaptable to change, instead of being rigidly tied to the initial analytical division of reality.

Class Design

The program uses the following class design.

  1. DynamicAspect: A base class for the triadic design philosophy. No direct functionality but serves as a parent class for the Energy, Logic, and Control aspects.
  2. EnergyAspect: Deals with the tree’s energy, including its photosynthesis process, respiration, growth, and water requirements.
  3. LogicAspect: Manages the tree’s internal logic, deciding its growth and fruit production.
  4. ControlAspect: Assesses the tree’s overall health based on various factors.
  5. Tree: A holistic class that integrates all the triadic aspects to represent a tree.

EnergyAspect

  • Uses photosynthesis to generate energy (stored nutrients). The efficiency of photosynthesis is influenced by:
    • Temperature
    • Humidity
    • CO2 concentration
    • Latitude (affects day length)
    • Tree size (affecting its canopy)
  • It also computes the amount of water required by the tree based on temperature.
  • Captures energy consumption for the tree’s respiration and growth. Tree growth (increase in tree size) happens only if there are sufficient nutrients.

LogicAspect

  • Decides the growth rate and fruit production of the tree based on:
    • Stored nutrients
    • Day of the year (seasonal influence)
    • Tree’s age
    • Tree’s size
    • Health of the tree

ControlAspect

  • Assesses the overall health of the tree considering stored nutrients and any disease factors.

Tree

  • Integrate all the three triadic aspects.
  • Every day, it updates:
    • The age of the tree.
    • Checks if the tree should have leaves (based on the day of the year).
    • Generates energy.
    • Assesses health.
    • Decides growth and fruit production.
  • The get_data method retrieves the current data of the tree, which includes:
    • Age
    • Stored nutrients
    • Growth rate
    • Tree size
    • Fruit count
    • Health
    • Health status

Simulation

The simulate_growth function:

  • Initializes a tree.
  • Simulates the daily growth of the tree for a set number of days (years * 365 days). Each day:
    • Sunlight, water, temperature, humidity, CO2 concentration, and disease factor values are fed into the tree.
    • The tree’s data for that day (stored nutrients, growth rate, fruit count, health) is collected and stored in lists.
  • Finally, it visualizes the simulation results using matplotlib. The graphs represent:
    • Stored nutrients and growth rate (on one y-axis).
    • Fruit count and health (on a second y-axis).

When the script is run, the tree’s growth is simulated over 5 years, and the results are visualized in a plot.

In summary, the code sets up a comprehensive simulation environment for a tree, integrating environmental factors, the tree’s energy processes, logical processes, and health considerations to understand how the tree grows, how healthy it remains, and how many fruits it produces.

Sample Output

The following graph shows the simulation of a tree’s activity over the course of 5 years.

  • Stored nutrients: Nutrients are generated during the summer by photosynthesis, and are consumed by tree growth, fruit production and expiration (breathing).
  • Growth: The growth rate increases during spring and summer but is controlled by the availability of sufficient nutrients.
  • Fruiting: Fruits are generated after the third year of growth, according to nutrient availability.
  • Health: If the nutrients level falls below a specific value then the tree’s health is adversely affected.

Code Listing

The full Python code for the triadic tree activity simulation is available on GitHub here: https://github.com/edwardchalk/TreeGrowth/

Summary

Using classical Object Oriented Analysis and Design (OOAD) to model complex, dynamic systems can be challenging and limiting. Distinct systems, which are predictable and well-defined, are suited to traditional object-oriented modelling. However, indistinct systems, characterized by fluid dynamics and unpredictability, tend to resist exact modeling.

To respond to this challenge, and not to do away with OOAD altogether, we can model the system abstraction. Rather than modelling concrete entities, this OOAD method models the abstracted qualities and interactions of entities within the system. The triadic division between energy, logic, and control can serve as a generic guide for this abstracted modeling.

Expanding Triadic Systems Analysis

Expanding Triadic Systems Analysis

In this post the idea was introduced that any system, and any system element, can be analysed using three primary logical constructs:

  • Logic: The internal system / component logic.
  • Energy: The internal system / component energy source.
  • Control: Governing controls that regulate system functioning to within allowable limits.

This triadic analysis is useful in the context of a qualitative programming due to:

  • Its universality, which means it can be applied to any domain.
  • Its recursive nature, which means that the same type of analysis can be applied recursively to achieve greater and greater system resolution until the desired level of granularity has been reached.

In order to embed triadic systems analysis into the structure of a qualitative programming language, we would need to implement triadic analysis in the program’s data types, functions and operators.

Representing Dynamic State

In addition to triadic structural systems analysis, we can also identify three basic aspects of any system / element that describe its dynamic existence: input, state and output.

  • Input: The input aspect pertains to all external factors or resources that a system / entity receives. These inputs serve as the primary materials or conditions required for the subsequent processes that the system / entity undertakes.
  • State: The state represents the current condition or “snapshot” of the system, influenced by its history of inputs and the internal processes it has undergone.
  • Output: The output aspect of a system / entity refers to the resultant products, changes, or effects it brings about in response to its inputs and influenced by its internal state.

For example, for a tree:

  • Input: A tree absorbs sunlight, carbon dioxide, water, and nutrients from the soil.
  • State: The internal state of a tree at any given moment is represented by its overall health or vitality, its growth phase, the robustness of its roots, its hydration level and its photosynthesis level.
  • Output: Outputs of a tree include released oxygen, the sugars transported through its sap, fruits borne, and the shedding of leaves in autumn.

We can combine triadic systems analysis together with the basic notions of input, state and output to produce the following matrix.

Input State Output
Energy Refers to the external resources or raw materials required by the system. For a tree, this would be sunlight, water, and nutrients from the soil. Represents the current level of stored or potential energy within the system. In a tree, it could be its stored nutrients and hydration level. The utilisation or release of energy. For a tree, this could be the sugar used in growth or fruits.
Logic Pertains to external directives or triggers for the system’s decision-making processes. In a tree, it might be the seasonal cues that determine growth patterns. Reflects the current decision-making framework or “thinking” mode of the system. For a tree, it might be its current growth strategy based on environmental conditions. The decisions or actions taken as a result of processing inputs. For a tree, it could be branching out roots towards a water source.
Control Involves the external regulatory factors or conditions that might modify or direct the system’s activities. For a tree, it might be the presence of certain hormones or chemicals. Represents the current regulatory and balancing mechanisms active within the system. In a tree, it might be internal feedback loops managing growth. The corrective actions or regulatory processes initiated by the system. For a tree, it could be shedding leaves in response to reduced water availability.

Or, for an economy:

Input State Output
Energy Refers to the primary resources or inputs that fuel economic activities. This includes raw materials, human capital, financial capital, and technology. Represents the accumulated wealth, stored value, or potential economic activity. It could be in the form of capital reserves, investments, infrastructure, and human skill sets. The tangible and intangible products and services produced by the economy. This includes GDP, technological innovations, consumer products, and services.
Logic Pertains to external or internal triggers that influence economic decisions. This might be consumer demands, geopolitical events, trade policies, or global market trends. Reflects the decision-making processes or strategies that guide economic actions. This might include fiscal policies, monetary policies, trade strategies, or market dynamics. The decisions or actions taken based on the analysis of inputs. This could involve opening or closing markets, adjusting interest rates, or making large-scale public investments.
Control Involves the regulatory and oversight mechanisms that aim to ensure the economy functions within desired parameters. This includes laws, regulations, and oversight bodies. Represents the current set of active regulatory mechanisms and checks and balances. It could be anti-monopoly regulations, banking oversight mechanisms, or fiscal watchdogs. The enforcement actions, modifications, or guidance provided to steer the economy in the desired direction. This might involve adjusting tax rates, implementing stimulus packages, or imposing trade tariffs.

Or, for a business process:

Input State Output
Energy Refers to the resources needed to initiate and maintain the process. This includes manpower, raw materials, data, technology, and financial resources. Represents the current capacity, potential, and readiness of the process. This might involve stock inventory, technology readiness, and workforce availability and morale. The tangible or intangible products or results from the process. This can range from manufactured goods, processed data, rendered services, or any value-addition.
Logic Pertains to the triggers or directives that initiate or modify the process. This could be customer orders, market demand, business strategy, or feedback loops. Reflects the current procedural flow, decision points, and prioritizations within the process. This encompasses the set patterns, sequences, conditions, and thresholds that dictate process flow. The decisions made or actions taken at each step of the process, leading to the final outcome. This could involve task assignments, quality checks, approval/rejection decisions, or any procedural step completion.
Control Involves the standards, benchmarks, regulations, or guidelines that oversee the process. This includes quality standards, regulatory compliance, safety protocols, and organizational SOPs (Standard Operating Procedures). Represents the monitoring, audit, or supervision mechanisms currently in place. This can be process checkpoints, quality control measures, and real-time monitoring tools. The corrective actions, feedback, or adjustments made to ensure the process is on track and meeting its goals. This might involve recalibrating machinery, retraining personnel, or rerouting resources.

Conclusion

By adding Input, State and Control aspects to triadic analysis within the structure of a qualitative programming language, we provide the potential to easily perform dynamic state modelling based on the initial structural analysis.

Qualitative Programming using ChatGPT

Qualitative Programming using ChatGPT

Traditional computer programming relies on manipulating well defined quanta, for example, numbers, Boolean values or strings. However, people don’t function at this level, they tend to be more holistic and conceptual.

Therefore, to create a computer system that takes human input, processes it and produces a meaningful output, the following steps are necessary:

  1. Accept human input via a UI.
  2. Convert human input to discrete quanta.
  3. Process the discrete quanta.
  4. Reassemble the program’s output into a human-conceptual form.
  5. Present the output to the user.

Leveraging the Power of AI Chatbots

AI chatbots such as ChatGPT change this paradigm, since they are effectively capable of native qualitative information processing. This means that (from a user perspective) they can natively analyse and process information that is meaningful to humans.

Subsequently, we can use the following information processing paradigm:

  1. Accept human input via a UI.
  2. Perform qualitative analysis of the human input.
  3. Process the discrete (analysed) qualitative components of the input.
  4. Reassemble the qualitative program output into a material, holistic form.
  5. Present the output to the user.

In other words, ChatGPT et al entirely change the programming landscape by allowing native qualitative data processing.

Using Transactional Analysis for Mood Analysis

Transactional Analysis is an psychoanalytical method that allows us to identify the mood components represented by a physical artifact, such as a recipe. 

  • For a brief introduction to Transactional Analysis, see this post.
  • For an example of how a “Transactional Analysis”-like method can be used in conceptual problem solving using ChatGPT, see this post.

The following example shows how we can apply this method to adjusting a recipe to suit the user’s mood.

Generating Mood Based Recipes with ChatGPT

As an example of qualitative data processing, it is possible to ask ChatGPT to perform mood analysis of a recipe, i.e. it is possible to ask ChatGPT to analyse the moods that are invoked by a recipe, as well as analysing the basic nutritional value provided by a recipe. After ChatGPT has identified the mood of the recipe, we can then ask ChatGPT to create a new recipe based on an adjusted mood.

  • Input: An existing recipe.
  • Task: Based on mood, adjust the recipe accordingly.
  • Output: New recipe adjusted to suit mood.

In this case ChatGPT has performed the following processing steps.

Qualitative Programming Step Example scenario
Accept human input via a UI. The recipe.
Perform qualitative analysis of the human input, in human terms. Analyse the moods invoked by the recipe.
Process the discrete qualitative aspects of the program input. Adjust that part of the recipe that reflects the user’s mood.
Reassemble the qualitative program output into a holistic form. Combine the unchanged and adjusted parts of the recipe.
Present the output to the user. Present a new recipe to the user.

Recipe Mood Analysis

As an example of this method, let’s ask ChatGPT to psychoanalyse the mood components of a recipe for Creamy Chicken and Mushroom Risotto:


User

In the following recipe, identify the parts of the recipe that appeal to the TA Adult (i.e. nutritional etc.), the parts of the recipe that appeal to the TA Parent (i.e. haute cuisine and class), and the parts of the recipe that appeal to the TA Child (i.e. “yumminess” etc.):

Creamy Chicken and Mushroom Risotto

Ingredients:

  1. For the Chicken and Mushroom Mixture:
    • 2 tbsp olive oil
    • 2 boneless, skinless chicken breasts, diced
    • Salt and pepper to taste
    • 1 onion, finely chopped
    • 2 cloves garlic, minced
    • 8 oz (227g) mushrooms, sliced
    • 1/4 cup white wine (optional)
  2. For the Risotto:
    • 1 1/2 cups Arborio rice
    • 4 cups chicken broth (warm)
    • 1 cup warm water
    • 2 tbsp unsalted butter
    • 1/2 cup grated Parmesan cheese
    • 1/4 cup heavy cream
    • Chopped fresh parsley, for garnish
    • Salt and pepper to taste

Instructions:

  1. Chicken and Mushroom Mixture:
    1. In a large skillet, heat the olive oil over medium-high heat.
    2. Season the diced chicken with salt and pepper and add to the skillet. Cook until browned on all sides.
    3. Add the chopped onion to the skillet and sauté until translucent.
    4. Stir in the minced garlic and cook for an additional 1-2 minutes.
    5. Add the sliced mushrooms and cook until they release their juices and start to brown.
    6. If using, pour in the white wine and let it simmer until reduced by half. Remove from heat and set aside.
  2. Risotto:
    1. In a separate, large saucepan, melt the butter over medium heat.
    2. Add the Arborio rice and stir to coat the grains with butter. Cook for 1-2 minutes until the edges of the rice grains look translucent.
    3. Begin adding the warm chicken broth, a ladle at a time, stirring constantly and waiting for the liquid to be mostly absorbed before adding more.
    4. Once you’ve used all the chicken broth and the rice is nearly tender, stir in the warm water in the same manner.
    5. Fold in the chicken and mushroom mixture. Allow it to simmer together for a few minutes.
    6. Stir in the grated Parmesan cheese and heavy cream. Continue to cook, stirring constantly, until the risotto is creamy and the rice is al dente.
    7. Season with salt and pepper to taste.
  3. Serving:
    1. Serve the risotto hot, garnished with chopped fresh parsley.

ChatGPT gives us the following response:


ChatGPT

Let’s break down the aspects of this recipe that would appeal to the three different target audiences you mentioned: the TA Adult, the TA Parent, and the TA Child.

Appealing to TA Adult (Nutritional aspects, healthiness):

  1. Olive oil: A heart-healthy source of fats known for its nutritional benefits.
  2. Boneless, skinless chicken breasts: Lean protein that is beneficial for muscle health and overall protein intake.
  3. Mushrooms: Low in calories and a source of various vitamins and minerals.
  4. Onion and garlic: Contain antioxidants and are known to have various health benefits.
  5. Arborio rice: While it is a refined grain, it does provide energy and is a source of some vitamins and minerals.

Appealing to TA Parent (Haute cuisine, class, presentation):

  1. White wine (optional): Using wine in cooking gives a sophisticated edge to recipes.
  2. Grated Parmesan cheese: Authentic Italian ingredient, enhances flavor profile, and sophistication.
  3. Heavy cream: Adds richness and luxury to the dish.
  4. Chopped fresh parsley, for garnish: Garnishing is an essential part of presentation in high-end cooking.
  5. Risotto: As a dish, risotto is often considered gourmet and is a staple in fine dining.
  6. Instructions: The method of slowly adding broth to the rice and constantly stirring is a traditional, often considered gourmet, way of cooking risotto.

Appealing to TA Child (“Yumminess”, appealing taste, simplicity):

  1. Creamy texture: Kids often enjoy creamy and soft-textured foods.
  2. Parmesan cheese and heavy cream: Adds richness and a delectable flavor that many kids love.
  3. Chicken: A familiar and often kid-friendly protein source.
  4. Butter: Adds a rich taste to the risotto that children often enjoy.
  5. Salt and pepper to taste: Allows for flavor adjustment to the preferred taste, which could be milder for children.

Overall, this Creamy Chicken and Mushroom Risotto recipe incorporates elements that could appeal to a range of audiences, making it a versatile dish for families and gatherings.

Adjusting the Recipe by Mood

Now let’s ask ChatGPT to adjust the recipe by emphasising the elements of the recipe that relate to specific elements of the persona.

Adult-centric Recipe

User

Increase the Adult appeal of this recipe: “[…] “


Response:


ChatGPT

To increase the Adult appeal of this recipe in terms of nutritional value and healthiness, consider making the following modifications:

Ingredients:

  1. Replace Boneless, Skinless Chicken Breasts: Use a more nutritionally-dense protein like quinoa or keep the chicken but add spinach or kale, both of which are high in vitamins, minerals, and fiber.
  2. Whole Grain Arborio Rice: Instead of traditional Arborio rice, you could use a whole grain version, which retains more of its natural nutrients and provides more dietary fiber.
  3. Reduce Heavy Cream: Use less heavy cream or replace some of it with Greek yogurt which will still give creaminess but adds probiotics and protein.
  4. Nuts & Seeds: Add toasted pine nuts or flaxseeds for added crunch, healthy fats, and Omega-3s.
  5. Broth: Opt for a low-sodium vegetable broth. Reducing sodium can be a health-conscious decision.
  6. Herbs & Spices: Introduce more antioxidant-rich herbs like thyme, rosemary, or oregano. Not only do these add flavor, but they also have health benefits.
  7. Lemon Zest: Add some zest for a fresh twist and a boost of vitamin C.

Instructions:

  1. If using quinoa, ensure it’s well rinsed and cooked until translucent, much like the Arborio rice.
  2. If adding greens like spinach or kale, fold them in towards the end of the cooking process, allowing them to wilt into the risotto.
  3. Toast the pine nuts or flaxseeds separately and stir into the risotto or use as a garnish on top.

Appealing to TA Adult (Nutritional aspects, healthiness):

  1. Quinoa: A complete protein that also offers fiber, vitamins, and minerals.
  2. Whole Grain Arborio Rice: Offers more fiber and nutrients than its refined counterpart.
  3. Greek Yogurt: Provides probiotics beneficial for gut health and extra protein.
  4. Spinach/Kale: Rich in vitamins A, C, K, and many minerals.
  5. Pine Nuts/Flaxseeds: Source of healthy fats, particularly Omega-3s.
  6. Low-Sodium Vegetable Broth: Reduces sodium intake, beneficial for heart health.
  7. Herbs: Additional herbs bring in antioxidants and flavor without added calories.
  8. Lemon Zest: Provides vitamin C and fresh flavor.

With these changes, the risotto not only retains its classic creamy texture and luxurious feel but also gets a significant boost in terms of nutrition, making it even more appealing to the health-conscious adult audience.


Parent-centric Recipe

User

Increase the TA Parent appeal of this recipe: “[…] “


Response:


ChatGPT

To enhance the appeal to the TA Parent, focusing on haute cuisine, class, and presentation, you can introduce a touch more sophistication, aesthetic appeal, and subtle nuances to the ingredients and preparation methods. Here’s how you can elevate the recipe:

Ingredients:

  1. Truffle Oil: A drizzle at the end can elevate the dish to gourmet status.
  2. Saffron: A few threads will impart a luxurious golden hue and a unique taste.
  3. Substitute Regular Mushrooms: Use a gourmet variety like shiitake, chanterelles, or morels.
  4. Fresh Herbs: Introduce fresh basil or chervil in addition to parsley, enhancing flavor and visual appeal.
  5. Aged Parmesan or Pecorino: A higher quality cheese will elevate the dish’s sophistication.
  6. Vegetable Stock: Consider homemade vegetable stock instead of store-bought, or use a premium brand.
  7. White Wine: Opt for a higher quality wine, perhaps even specifying a recommended type, such as a Chardonnay or Sauvignon Blanc.

Instructions:

  1. Wine: When introducing the wine, mention “deglazing the pan” which adds a more professional touch to the method.
  2. Presentation: Serve in a shallow bowl, garnished not only with parsley but also with some grated cheese and a drizzle of truffle oil.
  3. Saffron: If using, add the threads early in the cooking process to ensure the color and flavor infuse throughout the dish.

Appealing to TA Parent (Haute cuisine, class, presentation):

  1. Truffle Oil: Known for its luxurious flavor and often associated with gourmet dining.
  2. Saffron: Often referred to as the world’s most expensive spice, adds a touch of luxury.
  3. Gourmet Mushrooms: Enhances the overall flavor and gives the dish a more upscale feel.
  4. Fresh Herbs: Adds an artisanal touch to the dish.
  5. Aged Parmesan or Pecorino: Premium cheeses improve taste and add class.
  6. Homemade Vegetable Stock: Imparts a richer, more authentic flavor.
  7. Wine Recommendation: Shows expertise and caters to a more discerning palate.
  8. Instructions and Presentation: More refined instructions ensure a sophisticated preparation and final appearance.

By integrating these changes, the risotto becomes a dish that speaks more to those who appreciate fine dining and the nuances of haute cuisine, while still retaining its original character.


Child-centric Recipe

User

Increase the TA Child appeal of this recipe: “[…] “


Response:


ChatGPT

To further appeal to the TA Child, consider ingredients and preparation methods that cater to their tastes and preferences, while ensuring the dish remains fun and visually appealing. Here’s how you can adapt the recipe:

Ingredients:

  1. Cheese: Consider adding a handful of mozzarella or cheddar cubes into the mix. These melt well and add a gooey, cheesy delight that many children love.
  2. Peas and Carrots: These colorful veggies can be introduced for a pop of color and a slightly sweeter taste.
  3. Chicken: Use bite-sized pieces or even fun shapes, which can be more visually appealing and easier to eat for children.
  4. Broth: A milder or even vegetable broth could be more appealing than a stronger chicken broth.
  5. Optional Toppings: Offer toppings like crispy fried onions, bread crumbs, or even a sprinkle of bacon bits to add a crunchy texture.

Instructions:

  1. Cheese Integration: Once the risotto is nearly done, fold in the cheese cubes until they’re partially melted, creating pockets of gooey cheese.
  2. Fun Chicken Shapes: If you can find (or make) chicken in fun shapes, this can be a hit.
  3. Vegetables: Introduce peas and diced carrots during the cooking process so they’re soft and flavorful.
  4. Interactive Serving: Allow children to sprinkle their chosen toppings over their servings, making the eating experience interactive and personalized.

Appealing to TA Child (“Yumminess”, appealing taste, simplicity):

  1. Cheesy Goodness: Kids often love the gooey texture and taste of melted cheese.
  2. Fun Veggies: Peas and carrots can add a fun, colorful, and slightly sweet dimension to the dish.
  3. Chicken Shapes: Making the protein source more visually appealing can enhance their eating experience.
  4. Milder Broth: A less overpowering taste could be more suitable for young palates.
  5. Crunchy Toppings: A mix of textures can be enjoyable and makes the dish more dynamic.
  6. Interactive Dining: Letting children personalize their food often increases their interest and enjoyment of the meal.

These tweaks ensure the risotto becomes a fun, interactive, and delicious experience for children while still retaining its core essence.

Making Mood Specific Recipes

Now, instead of just adjusting the recipe to emphasise a specific mood, let’s ask ChatGPT to split out those parts of the recipe that relate to a specific aspect of the human psyche.

Recipe for the Child

User

Make an entirely new recipe that ONLY reflects the Child aspects of the original recipe.


Response:


ChatGPT

Sure! Keeping in mind the Child ego state which focuses on wants, desires, feelings, creativity, spontaneity, and simplicity, let’s create a recipe that emphasizes comfort, indulgence, and an element of playfulness.

Fun & Creamy Cheesy Risotto Bites

Ingredients:

  1. Arborio rice: Creamy when cooked, this will be the heart of our playful dish.
  2. Butter: For that rich and familiar taste, making our bites irresistibly scrumptious.
  3. Grated Parmesan cheese: Giving our bites a cheesy punch that kids and the inner child in all of us would love.
  4. Heavy cream: Making the risotto bites ultra creamy and luxurious.
  5. Salt and pepper to taste: Keep the seasoning simple and straightforward.
  6. Bread crumbs: For an extra crunchy outside.
  7. Dipping sauce (optional): Marinara sauce or a simple creamy garlic dip.

Instructions:

  1. Start by cooking the Arborio rice according to package directions but make it slightly overcooked, so it’s extra soft and creamy.
  2. In a large mixing bowl, while the rice is still warm, add butter, heavy cream, and Parmesan cheese. Mix well until everything is creamy and combined. Season with salt and pepper.
  3. Once the mixture has cooled down a bit but is still moldable, roll them into small bite-sized balls. If the mixture is too loose, place it in the refrigerator for about 20-30 minutes to firm up.
  4. Roll these rice balls in bread crumbs, ensuring they’re coated evenly.
  5. Heat some oil in a pan and fry these risotto bites until they’re golden brown and crispy. Alternatively, you can bake them in a preheated oven at 400°F (200°C) for about 15-20 minutes or until golden.
  6. Serve warm with your favorite dipping sauce on the side.

These Cheesy Risotto Bites are an embodiment of the Child’s whimsical nature, bringing forth elements of comfort, playfulness, and indulgence. Perfect for parties, snacking, or whenever you want to indulge your inner child!

 

Recipe for the Parent

User

Make an entirely new recipe that ONLY reflects the Parent aspects of the original recipe.


Response:


ChatGPT

Certainly! Focusing on the Parent ego state, which emphasizes tradition, protection, nurturance, and societal norms, let’s design a recipe that exudes sophistication, class, and an adherence to time-tested culinary methods and practices.

Elegant Mushroom and Wine Risotto

Ingredients:

  1. Arborio rice: A refined grain, fundamental to an authentic risotto.
  2. White wine: Adds depth and sophistication to the dish.
  3. Dried Porcini mushrooms: Known for their rich, earthy flavor and used in gourmet dishes.
  4. Vegetable broth: Maintains the vegetarian integrity of the dish.
  5. Shallots: A refined alternative to onions, offering a subtle and delicate flavor.
  6. Grated Pecorino Romano cheese: An aged Italian cheese, offering a sharp, salty taste, adding an element of luxury.
  7. Extra-virgin olive oil: Not just any olive oil, but the finest for a gourmet touch.
  8. Fresh thyme: A classic herb that elevates the dish.
  9. Chopped fresh parsley: Essential for garnish and to add a touch of color and freshness.
  10. Salt and freshly ground black pepper: For seasoning.

Instructions:

  1. Begin by soaking the dried Porcini mushrooms in hot water for about 30 minutes. Once softened, chop them, reserving the soaking liquid.
  2. In a large, heavy-bottomed pan, heat the extra-virgin olive oil over medium heat. Add the finely chopped shallots, sautéing until translucent.
  3. Add the Arborio rice to the pan, stirring continuously until the grains are toasted and have a golden hue.
  4. Pour in the white wine, stirring continuously until the wine has mostly evaporated.
  5. Begin adding the vegetable broth, one ladle at a time, ensuring each addition is absorbed before adding more. This method, rooted in tradition, ensures a creamy, well-cooked risotto.
  6. Halfway through adding the broth, incorporate the rehydrated Porcini mushrooms and a bit of the reserved soaking liquid, being careful to avoid any grit.
  7. Continue adding the broth until the rice is cooked al dente and has a creamy consistency.
  8. Stir in the Pecorino Romano cheese, fresh thyme leaves, salt, and freshly ground black pepper. Mix until the cheese is melted and well-integrated.
  9. Serve hot, garnished with freshly chopped parsley and a drizzle of extra-virgin olive oil.

This Elegant Mushroom and Wine Risotto pays homage to the Parent ego state, with its emphasis on tradition, sophistication, and the norms of haute cuisine. Perfect for a formal dinner or when aiming to impress with classic culinary skills!

 

Recipe for the Adult

User

Now make an entirely new recipe that ONLY reflects the Adult aspects of the original recipe.


Response:


ChatGPT

Absolutely! The Adult ego state is based on data and facts, focusing on rationality, objectivity, and functionality. For this recipe, I’ll emphasize the nutritional and health aspects, ensuring each ingredient serves a purpose towards health and well-being.

Nutrient-Packed Quinoa Risotto

Ingredients:

  1. Quinoa: A protein-rich grain, complete with all nine essential amino acids. It’s also high in fiber, magnesium, B vitamins, iron, potassium, calcium, phosphorus, vitamin E, and antioxidants.
  2. Extra-virgin olive oil: A heart-healthy source of fats known for its nutritional benefits.
  3. Kale: High in vitamins A, K, and C, as well as being a good source of calcium and iron.
  4. Red bell pepper: Rich in vitamin C, potassium, and antioxidants.
  5. Broccoli: Contains vitamins K and C, a good source of folate (folic acid) and also provides potassium, fiber.
  6. Garlic and onion: Known for their antioxidant properties and potential health benefits.
  7. Lemon zest: Adds flavor and is packed with vitamin C.
  8. Vegetable broth: To cook quinoa and to keep the dish vegetarian.
  9. Chia seeds: For added protein, fiber, and omega-3s.
  10. Salt and pepper: For seasoning and balance.

Instructions:

  1. Begin by rinsing the quinoa under cold water to remove its natural coating (saponin) that can make it taste bitter.
  2. In a large pan, heat the olive oil over medium heat. Add finely chopped onion and minced garlic, sautéing until translucent.
  3. Add the quinoa to the pan, stirring it for a couple of minutes.
  4. Gradually add the vegetable broth, letting the quinoa absorb it, similar to the method used in making risotto.
  5. Halfway through, add chopped kale, diced red bell pepper, and broccoli florets. This ensures the vegetables maintain their crunch and nutritional value.
  6. Continue adding broth until the quinoa is fully cooked and has a creamy consistency.
  7. Finish by stirring in the lemon zest and chia seeds. Season with salt and pepper to taste.
  8. Serve hot, ensuring a balanced distribution of quinoa and vegetables in each serving.

This Nutrient-Packed Quinoa Risotto is crafted to cater to the Adult ego state, focusing on objective health benefits, nutritional balance, and functionality in every bite. It’s a meal that feeds the mind as much as the body! 

Conclusion

By leveraging AI tools such as ChatGPT, it is possible to create a new information processing paradigm that bypasses the analog digital analog round trip, and that provides direct data processing and manipulation in human terms.

The above method could be applied to any field in which the underlying AI is able to both identify the human element of the physical interaction and also to understand how the human perspective is expressed in physical reality.

Chess and the Art of Enterprise Architecture – book review

Chess and the Art of Enterprise Architecture

I recently read Chess and the Art of Enterprise Architecture (sample chapter available here), by Gerben Wierda.

 

Gerben Wierda

Gerben’s website: https://ea.rna.nl/

Gerben’s You Tube channel: https://www.youtube.com/channel/UCTqv-dxJc_nMsZqBYJW3iCw

Gerben’s blog: https://gctwnl.wordpress.com/about/

 

I really enjoyed reading this book because the author succeeded in making me feel less stupid that I felt previously.

This is why…

 

IT standards

The IT landscape is dotted with standards for everything ranging from application and network design to business analysis and project management. We are led to believe that if only we study these standards and adhere to best practice, then our applications will have 1 million downloads, our networks will never go down and our system architecture will be perfectly aligned with the corporate business structure.

If this doesn’t happen then it’s our fault for not applying the standards correctly.

This plethora of standards is partly an allergic reaction to the good old days of IT. Once upon a time;  anyone who could hack some BASIC code had a good chance of becoming a programmer for a major bank, anyone who could cable up a LAN party had a good chance of becoming a network administrator and anyone who could persuade management that they knew what they were talking about, could become a system architect.

Due to this unprofessional enthusiasm, business departments saw themselves as captives held to ransom by geekdom. Managers rebelled against the IT cowboys and demanded standards and accountability. They asked peevishly, “I had to go to university to get my job. So which piece of paper says that the IT people are qualified to do theirs?”

The IT industry responded to this criticism and so began the age of IT standards and certifications.

 

Standards and rules

Most IT standards are not scientifically structured. Instead, they prescribe a standardised, best-practice way of doing things. In the best possible scenario, this means that an IT standard is comprised of a sensible set of rules that can be used to ensure that everyone is dancing to the same, sensible song.

Management can now feel secure in the knowledge that they have enforced a minimum quality standard. Employees can now feel secure in the knowledge that if they follow this standard they will be perceived to have done the right thing.

In reality, however, an IT standard must always represent a simplification of a complex problem. It is not possible for an IT standard to cover every nuance in every scenario, because if it did, it would describe the way the entire world works.

As Gerben Wierda relates in Chapter 3 – The Orthodoxy (page 48):

…I visited the enterprise architecture outfit of a large bank… we ended in the room of the enterprise architects… in that room was a shelf. And on that shelf stood something like twenty large binders… Those binders contained this bank’s reference architecture, which almost exclusively consisted of principles, guidelines and other comparable items (policies, suggestions, explanations, examples and so forth)… When I visited them, they were still very proud of their accomplishment…

There was a problem though: nobody used them and that… made them meaningless… it was impossible for any architect in a change initiative to know all these rules…

When organisations started to realise that these huge sets of rules (principles and guidelines) were unusable and thus meaningless, a counter-movement ensued. …speaker after speaker announced that organisations should… select roughly ten or so ‘basic’ or ‘foundational’ rules to guide change initiatives. …This approach… clearly doesn’t solve the problem either. The main reason is that these ‘high level guidelines’ are far too abstract and – indeed – high level to have a deciding effect on the actual low-level choices that create the chaos in the first place…

In short: a set of principles is either a too large set of narrow rules, or a small set of overly broad rules.

By definition, an IT standard, which defines set rules for approaching an IT implementation, must simplify a complex problem. However, simplifying complex problems guarantees that you will never address the core of the problem, which occurs in the area of greatest complexity.

How then should we relate to these helpful, but possibly limiting, guidelines?

 

Chess

In Chapter 4 – Chess, Gerben Wierda compares enterprise architecture to chess. To play chess you need to know the rules. You also need some pointers to guide your strategy and tactics. It can also be useful if you are able to memorise some classical games and moves. But ultimately, playing good chess depends on pure skill that will tax the player to their utmost.

Similarly, to do good enterprise architecture, you do need to know the rules of the game as set forth in enterprise architecture standards. But the rules are the beginning, not the end; the end is pure skill. Doing good enterprise architecture demands all the perspicacity, staying power, decision making ability and intuition that is required of a world-class chess player (page 76):

A good chess player does not follow the rules, the rules are ’embedded’ in his skill without being exactly visible during play. For enterprise architects the same must be true: the architect should not be governed by the rules, the rules should be an (invisible) part of the architect’s skills.

A 10 year old chess player knows the rules of chess in the same way as a chess grandmaster knows the rules of chess. But there is a vast difference in the way they play. The 10 year old thinks, “According to the rules, what can I do?” The grandmaster thinks, “Keeping to the rules, how can I design this game of chess?”

And the same goes for enterprise architecture. The standards are the rules, but personal skill is irreplaceable.

 

Detail and wishful thinking

The argument that IT standards are just the rules of the game, and not the be-all and end-all of good practice, applies equally to all areas of IT. Gerben Wierda makes the following point about enterprise architecture in particular, however:

Enterprise architects like to think that they are the big-picture people. I personally came across this attitude when talking to the enterprise architect for a large corporate who said, “The dev team will get into the nitty gritty, while I survey the landscape from a high altitude.” This attitude of disparaging detail, is apparently common among system architects (ibid.):

Many enterprise architects loathe details. For them, details are for (IT) engineers, a rather lowly form of corporate life… But the devil is in the details, as the saying goes… The enterprise architect has his mountain perfectly targeted in his crosshairs, but the enterprise never even hits that mountain because it has stumbled over a neglected molehill long before it gets to its goal.

Enterprise architects pride themselves on being the people who look at the big picture, but the big picture is comprised of small details. Getting the details right will probably lead to the big picture being right. Focussing on the big picture alone, will probably lead to the big picture fragmenting into shards, when the rubber meets the road.

It is a very attractive proposition to think that focussing on the big picture alone will create a nice clean corporate IT landscape. But anyone who has had programmed will know that getting the big picture right is the easy part. It is getting the last 1% of the program to do exactly what you want it do, which is hard. And getting that last 1% of the program right, may require changing 50% of the program structure. The same is likely to happen to a wishful picture of the future IT landscape, which is painted with a flourish by an optimistic architect.

Gerben claims that this fatal error is instinctive (page 86):

We do not confront complexity… but we run away from it to a make-believe simplified world where life is not complex beyond our capabilities, where we can reliably plan and feel ‘in control’. The belief in… those understandable and simple principles and guidelines gives is the idea that we are not powerless at all, and this is an extremely seductive psychological state. It is a form of ‘wishful thinking’.

In other words, getting IT architecture right is a hard problem, which perforce must take detail into account. Applying comfy IT standards at a high level, will be dashed against the rocks of detailed reality before long.

 

Precis

To summarise, Gerben Wierda’s fundamental points seem to be as follows:

  • It is not possible to derive precise knowledge from IT standards, because IT standards are not based on scientific principles. Instead, IT standards consist of general advice given by professionals who have experienced similar problems to those that you are attempting to solve.
  • If you come to a conclusion in your specific scenario, that is at odds with the standard, it is likely you are right and not the standard.
  • You will not learn how to think precisely and rigorously by studying a standard (maybe the converse). If you want to learn how to think precisely and rigorously, go and study the works of a methodical thinker (Gerben seems fond of Wittgenstein. There is an interesting post here which matches Wittgenstein against Heidegger .)

Getting back to how Chess and the Art of Enterprise Architecture saved me from feeling stupid…

I used to gaze wonderingly at IT standards as founts of knowledge and think about all the awesomely clever people who had contributed to these standards. However, in reality, there is a limit to the fidelity of the information contained in IT standards.

IT standards are the rules of the game. The rules cannot predict the right move, they can only tell you what comprises a valid move. Studying the rules more will not provide the correct answer. Ultimately, only your creativity, insight and foresight can tell you what the best move is.

Zentralbild/Kohls/Leske
1.11.1960
XIV. Schacholympiade 1960 in Leipzig
Im Ringmessehaus in Leipzig wird vom 16.10. bis 9.11.1960 die XIV. Schacholympiade ausgetragen. Am 28.10.1960 begannen die Kämpfe der Finalrunde.
UBz: UdSSR – USA: .Weltmeister Tal – Internationaler Großmeister Fischer

Finding balance in business decision making

Finding balance in business decision making

Making balanced business decisions is complicated. There are simply so many variables and interactions involved in the situation, that sometimes we feel we can only guess at the best move.

Additionally, we sometimes feel we are caught in a Catch 22 situation where “You are damned if you do, and damned if you don’t.”

  • Why does this happen?

Or perhaps better

  • What can we do about it?

 

Implementing high-level decisions

We can be faced with making two types of decision.

  • The first type of decision is where we autonomously realise that a decision has to be made, due to the way the situation is evolving.
  • The second type of decision is where we are tasked with implementing a high level decision. Senior management has decided that a project will be implemented or that the company will proceed in a certain direction. Lower-level decision makers are then tasked with implementing the high-level decision.

Paradoxically, it may be easier for senior management to make a balanced decision than it is for lower level decision-makers. This is because senior management are in a central role, vis-a-vis the company’s overall capabilities and direction. Thus senior management has a high-level bird’s-eye view of the various capabilities which the company as a whole can exert to implement their decision.

The low-level decision maker is limited to the department-level resources or the team-level resources which they have at their command, however. Subsequently, even although the management decision may seem balanced relative to the entire company, it can create a local imbalance.

It is worthwhile understanding the nature of this potential imbalance, and how this imbalance can be usefully fed back to the high-level decision maker.

 

Systems

Generally speaking, most of the complex decisions we make, are made in the context of a system.

Q: What is a system?

A: Generally speaking, a system is any collection of interrelated parts that work together to produce a result. Examples of systems can range from a biological system (e.g. a tree or a flower), to a computer operating system, a socio-cultural system (e.g. a school), a country’s medical system, a computer business system, a psychological systems (e.g. the human mind) and a business.

Most professional work is performed within the context of a system.

Within a system, multiple capabilities are intertwined and many actors are involved in producing the final result. Any action taken to optimise one aspect of the system may have a deleterious effect on another part of the system.

Identifying the right course of action in a complex system requires intricate and detailed knowledge of all the moving parts, in addition to having a general overview of how the system operates. Categorising the forces that operate with a system can assist in simplifying the decision making process however, to a level that provides at least a reasonable chance of success.

It is difficult to find a way of analysing things that is applicable to every type of system, but the following is the closest to a set of universal analytical building blocks, of which I know.

 

Fundamental system aspects

Every system includes the following three fundamental aspects:

  • Logic: The type of thinking that takes place within the system.
  • Control: Controls that are enforced internally to ensure that the system operates within its set parameters.

Q: What are system parameters?

A: According to Wikipedia, a system parameter is, “any characteristic that can help in defining or classifying a particular system. That is, a parameter is an element of a system that is useful, or critical, when identifying the system, or when evaluating its performance, status, condition, etc.”

For example, an engine may be expected to revolve between 300 r.p.m. and 4000 r.p.m. Any slower, and the engine will stall. Any faster, and the engine will break. In this case we can say that the parameter for safe operation of the engine is between 300 r.p.m. and 4000 r.p.m.

  • Energy: The internal “life-flow” that is generated as a result of the system functioning correctly.

For example:

System Logic Control Energy
Human mind Life-fostering logic Check for conditions (both internal and external) that are adverse to life and respond appropriately. Feeling of well-being
Computer business system Encoded business logic Check for program and data errors and when these are found, either self-correct or alert users. Business benefit
School Educational paradigm Maintain educational standards, control student behaviour, etc. Education

We are used to assuming these basic system aspects in our everyday speech, so that:

  • If we say “That person has a good mind,” we mean that they create healthy positive thoughts.
  • If we say “This is a good business system,” we mean that it brings great benefit to the business.
  • If we say “That is a good school,” we mean that the children who graduate from the school are well educated.

 

System integrity

In a robust system, each fundamental aspect of the system must maintain its own internal integrity. This means that

  • the logic-aspect of the system must function correctly,
  • the control-aspect of the system must function correctly, and
  • the correct energy level must be maintained.

In addition, each system-aspect must interact correctly with the other two system-aspects:

 

Internal logic interaction

The logic-aspect of the system tells the control-aspect the correct parameters within which the system should operate. The logic-aspect of the system also tells the energy-aspect how to best employ its energy, for the betterment of the system.

Internal control interaction

The control-aspect of the system tells the logic-aspect the current operating state of the system, so that the logic-aspect can process this information. The control-aspect of the system also directly controls the energy levels of the energy-aspect, in order to make sure that the energy-aspect is operating within safe and sustainable levels.

Internal energy interaction

The energy-aspect of the system provides actuating energy to the logic-aspect and the control-aspect of the system.

Quandaries in decision making

Many of the quandaries that are found in system-centric environments occur because of the fine balance required between the logic, control and energy aspects of the system, which can be upset by an imbalance in one area.

Going back to the example systems above:

System Aim to increase the energy level Suggested method Quandary
Human mind Increase feeling of well-being Perform more recreational activities Energy level: Trying to increase your energy level by engaging in additional recreational activities can lead to out-of-control energy levels (e.g. by drinking too much) and  can use up the energy available to the system (e.g. by getting a hangover).
Computer business system Increase business benefit Automate business processes Control: The business process can become too controlled, insofar as it cannot now cater for exceptional cases.

This can lead, for example, to the familiar bank clerk response, “Yes, I know what you’re saying makes sense, but the system won’t let me do that.”

School Increase students level of engagement Make teaching more informal Logic: The students do not amass sufficient knowledge, due to the more relaxed school atmosphere and reduced accent on scholastic accomplishment.

In each of the above cases, attempting to increase the system energy level can lead to unexpected outcomes, to the detriment of the system beneficiaries.

 

A system within a system

Within the operations of a company, we can identify a logic-aspect, a control-aspect and a energy-aspect as follows:

  • The company’s logic-aspect is the overriding way of thinking which permeates the company. Setting this thinking-tone is normally the responsibility of the CEO or the senior management team. Implementing and fleshing out this thinking may be the responsibility of the business analysis team or of the product development team.
  • The company’s control-aspect is the way in which the company controls its own operations. Practically this may consist of the legal department or the quality control department.
  • The company’s energy-aspect is the actual work that occurs within the company, which produces the company’s products.

However, all of these functions also exist within each department and team. This is because each department and team also requires their own localised methodology, their own localised way of maintaining quality control and their own skills and aptitudes which are required to perform the work that is required of them.

Therefore, a department or a team, comprises a system that operates within the context of another system (namely, the company).

 

Local imbalance

The reason that a good high-level decision can lead to a local imbalance in a department or in a team, is because although the high-level decision maker may have correctly taken into account the general, overall capabilities of the organisation, it may not be possible to implement this decision in a department or team, in a balanced manner.

This is because doing what needs to be done in order to implement that high-level decision, may require that one aspect of the department or the team should be preferred at the expense of the other two aspects.

For example:

  • The management decision may require that controls should be tightened within the department or within the team. This may suit those employees who are tasked with maintaining internal standards, but can pose a strangulation hazard to those employees who are responsible for carrying out the every-day business processes (the logic-aspect and the energy-aspect of the department or the team).
  • The management decision may require that the throughput of the team or the department should be increased. Management assume that the team is capable of making their internal processes more efficient, in order to be able to cope with the additional throughput.
    In this case it is likely that business process fidelity will suffer, even if the increased throughput is achieved. Thus the energy-aspect of the department or the team has increased, but the logic-aspect has been compromised (since the logical fidelity of the overall business processes has been reduced) and the control-aspect has suffered (since processes now run out of their control limits).
  • The management decision may require that the complexity managed by the department or the team should be increased. More products may have to be offered, or more nuancing may be required in existing products. This will require an increase in the logic-aspect of the department or the team (since the department or the team is now dealing with increased complexity in their everyday business processes), but may cause throughput (the energy-aspect) to suffer, and may also cause business processes to go out of control.

 

Push-back

Often the only realistic way to respond to a local departmental or team imbalance, which has been created by an upper-level managerial decision, is to push back on the decision. This is not always so easy, but by explaining the issue using precise and positive language, you can broaden the perspective of the senior decision-maker, who will then be able to take the ramifications of their own decision into account.

The decision may need to be re-thought, more resources may need to be supplied in order to implement the decision, or the business initiative may need to be implemented in stages, rather than all in one go.

However the situation pans out, by adopting terminology that is meaningful to the senior decision maker, you will earn their respect and consideration, and hopefully preserve the department’s or team’s homogeny, into the bargain.

 

Page 1 of 3
1 2 3