Ecology as a model for the software world

Changing two words in the Wikipedia description of Ecology gives “… the study of the relationships between software systems, including humans, and their physical environment”; where physical environment might be taken to include the hardware on which software runs and the hardware whose behavior it controls.

What do ecologists study? Wikipedia lists the following main areas; everything after the first sentence, in each bullet point, is my wording:

  • Life processes, antifragility, interactions, and adaptations.

    Software system life processes include its initial creation, devops, end-user training, and the sales and marketing process.

    While antifragility is much talked about, it is something of a niche research topic. Those involved in the implementations of safety-critical systems seem to be the only people willing to invest the money needed to attempt to build antifragile software. Is N-version programming the poster child for antifragile system software?

    Interaction with a widely used software system will have an influence on the path taken by cultures within associated microdomains. Users adapt their behavior to the affordance offered by a software system.

    A successful software system (and even unsuccessful ones) will exist in multiple forms, i.e., there will be a product line. Software variability and product lines is an active research area.

  • The movement of materials and energy through living communities.

    Is money the primary unit of energy in software ecosystems? Developer time is needed to create software, which may be paid for or donated for free. Supporting a software system, or rather supporting the needs of the users of the software is often motivated by a salary, although a few do provide limited free support.

    What is the energy that users of software provide? Money sits at the root; user attention sells product.

  • The successional development of ecosystems (“… succession is the process of change in the species structure of an ecological community over time.”)

    Before the Internet, monthly computing magazines used to run features on the changing landscape of the computer world. These days, we have blogs/podcasts telling us about the latest product release/update. The Ecosystems chapter of my software engineering book has sections on evolution and lifespan, but the material is sparse.

    Over the longer term, this issue is the subject studied by historians of computing.

    Moore’s law is probably the most famous computing example of succession.

  • Cooperation, competition, and predation within and between species.

    These issues are primarily discussed by those interested in the business side of software. Developers like to brag about how their language/editor/operating system/etc is better than the rest, but there is no substance to the discussion.

    Governments have an interest in encouraging effective competition, and have enacted various antitrust laws.

  • The abundance, biomass, and distribution of organisms in the context of the environment.

    These are the issues where marketing departments invest in trying to shift the distribution in their company’s favour, and venture capitalists spend their time trying to spot an opportunity (and there is the clickbait of language popularity articles).

    The abundance of tools/products, in an ecosystem, does not appear to deter people creating new variants (suggesting that perhaps ambition or dreams are the unit of energy for software ecosystems).

  • Patterns of biodiversity and its effect on ecosystem processes.

    Various kinds of diversity are important for biological systems, e.g., the mutual dependencies between different species in a food chain, and genetic diversity as a resource that provides a mechanism for species to adapt to changes in their environment.

    It’s currently fashionable to be in favour of diversity. Diversity is so popular in ecology that a 2003 review listed 24 metrics for calculating it. I’m sure there are more now.

    Diversity is not necessarily desired in software systems, e.g., the runtime behavior of source code should not depend on the compiler used (there are invariably edge cases where it does), and users want different editor command to be consistently similar.

    Open source has helped to reduce diversity for some applications (by reducing the sales volume of a myriad of commercial offerings). However, the availability of source code significantly reduces the cost/time needed to create close variants. The 5,000+ different cryptocurrencies suggest that the associated software is diverse, but the rapid evolution of this ecosystem has driven developers to base their code on the source used to implement earlier currencies.

    Governments encourage competitive commercial ecosystems because competition discourages companies charging high prices for their products, just because they can. Being competitive requires having products that differ from other vendors in a desirable way, which generates diversity.

On Company Diversity Targets

A diversity target number isn't all it might seem to be.

Diversity targets show you’re dedicated to giving women a big enough box

This a reply to Carol Roth’s piece for Entrepreneur. Please read that piece before this one. Make sure to form your own opinions. I invite you to carefully inspect your own thinking and respectfully criticise yourself, me and others.

“Accenture, one of the world’s best-known consulting firms for major enterprises, announced that they have set a target to have 50 percent of its workforce be comprised of women within the next eight years.”

When I first read Carol’s piece, I was quite annoyed. She seemed to be thinking that setting diversity goals meant hiring less capable people to essentially fill check boxes and make a companies numbers look better.

I tweeted about this, and Carol replied suggesting I hadn't quite grasped what she was saying.

I’m very keen to make sure I understand my thinking well before I criticise someone else’s, so I’ve gone ahead and read the article several times since then in order to ensure that I’ve understood well what Carol is trying to say.
It should be noted that I don’t intend to attack Carol personally, but this is a topic close to my heart which I love to foster respectful discussion around.

I’m going to dissect Carol’s piece a little.

Ms Roth starts off by saying that Accenture, the company who set the diversity target in question, have; “set a workforce target not based on experience, qualifications, potential or any work-related factors.”

I agree with this statement. They have indeed got a workforce target which is not based on experience or other work-related things. However, this does not mean that they’re throwing all those factors to the wind when hiring new employees.

A company can have more than one target to aim for. Accenture is saying that Diversity in their workforce is important enough to them that they want to make this target public. They want to have a number that other people can measure their achievements against.

I expect, as they’re a huge company, they’ve got numerous other targets when they’re hiring. And most certainly they’ll still be looking at a candidates experience, qualifications and potential when they’re sitting on the other side of the interview table.

Carol goes on to say that she finds Accenture’s diversity targeting “…offensive and, ultimately, bad for women…”.
Just a slight note here; Carol, you’re a very successful woman. I’m sure you put a lot of effort to get to where you are. But, this target is NOT for you.

This target is to show women that are not already experienced and well known that a company like Accenture is dedicated to providing a platform to allow prospective female employees to be the best that they can be.

A person’s opinion will be coloured (as will mine) by the status you already hold. One needs to be careful of that.

Getting into the meat of the article, Carol explains that she believes businesses should be “interviewing and hiring the best possible candidates they can find for their business”.

I’d invite readers to consider that for a business, hiring a woman (or any other person of minority) might be the best person for their business at that time. Maybe a business is so heavily dominated by men that they really need to get some diversity in there and are weighting a person’s background, personality and identity above their skill set and experience.

However, further on Ms Roth mentions that diversity for the sake of diversity is not a good thing. I.E hiring people just because you need to tick boxes is not a good strategy. (“Diversity for the sake of diversity, though, doesn’t help anything.”)
While considering my earlier point, I’d be inclined to agree with her.

Hiring minorities into an organisation where they will continue to be minorities is a bad idea. It’s a great way to get really fast churn of minority employees as they join, realise that the percentage of non-average employees is bad, and leave again.
If you’re going to hire people because of who they are, make sure that you’re making that choice for the right reasons and that those people are adequately supported by you as a business and by the other minorities within your employment base.
Basically, don’t hire one woman for your department of 50 because you need a woman in there, hire 10 women, 5 non-native people and some other minority people because you need some diversity in there.
That way, everyone can support each other, no one is alone and tokenism is, hopefully, avoided.
Continue working to raise the percentages of non-average employees, too.

We reach a rather interesting part of Carol’s article.
This section talks about how “some industries will have more women and some will have less.”.

I find it surprising that Ms Roth has not picked up on why “arbitrary representation targeting” does help this issue.

She understands that there is issues with some industries underrepresenting women (Engineering, Technology and Academia [citation needed] just to name a few). But fails to realise why having targets helps that.

Having targets help to foster better internal practices and culture.
Such as: widening the pool in which managers circulate job openings to include places where you might find more women (like WomenIn Tech/Eng/Sci initiatives), having a diverse interviewing team or starting up working groups internally examining what the company can do better to increase their diversity numbers.

Having targets also really helps to increase perception of a company externally.
As I mentioned earlier, Accenture is keen to show that they’re actively working to increase their female work force and showing that they really support their female workforce once they are on board (Promoting it’s largest percentage of women to the managing director level in 2016 (30 percent)).

These kind of things really help to show women that this is a company, and industry, that they really want to be in, or at least is willing to consider them on the same level as men.
Large companies publishing their good diversity targets and initiatives hopefully shows women that the industry, and the working world, is keen to bring more women on board and is really ready to provide what those women need to succeed in whatever field.

It’s showing women that the door is much more open now, and is getting much closer to being just as wide open to them as it is to men.

Does representation targeting help women into unrepresented industries? Probably.

According to Ms Roth, some women want to leave the workforce to care for their household. (“Other women have a strong preference to leave the workforce to run a household and care for children.”)

Openly supporting women in the workplace can help to reduce the load on men to be the bread-winners of a family. It can help to allow women to feel that staying in work after having a child is a totally valid option, and men that they can leave work and care for the family. It helps to break stereotypes.

In conclusion, for God’s sake, have diversity targets! It helps to show that your business is ready to employ and support a female workforce. It shows potential employees that they’re not alone, that they’re not being tokenised, that it’s a real effort you’re putting in to get those diversity numbers up and run a great business.

It shows that you really care.