Bring Ice Cream to Meeting Hell.

Meet Piemur!
Bringing a mouse to a meeting is typically frowned upon. 

If you think meetings suck, you’re probably doing it wrong or you’re stuck with people who do – so either do it right, or find a way out of those meetings.

Most meetings suffer a lack of definition, which is the core issue. Without that lack of definition, there can be no real actions to come from the meeting. There’s always at least one person who seems to be so out of scope that everyone else in the room doesn’t smack them only because it’s considered impolite.

There should be a set time. Everyone should show up on time, arguably earlier so that people can get out of it and move on with their lives.

Some people like transcriptions of the meeting. Ask at the beginning if they want one – and if so, guess who just volunteered? If not them, assign it to someone who knows how to listen and will halt things for clarifications.

This tongue in cheek, ‘20 tricks to appear smart in meetings‘ mocks the main problem of meetings: People trying to appear smarter than they are. They actually don’t for people who have more than 3 brain cells, so if at all possible, get the ‘must prove my intelligence to everyone people’ closed off in a meeting somewhere and treat it like a cage match with no bathroom breaks.

And then there is the tyranny of the clique – where a select few talk among themselves, not allowing anyone else into their conversation.

Avoid meetings, stick to a schedule and leave when the meeting is supposed to be done. Meetings are for people who like meetings, who like appearing busy rather than being productive.

Productive people meet. Busy people have meetings.

 

Advertisements

Information Fiefdoms

Social Media Information OverloadYesterday, I found myself standing in Nigel Khan’s bookstore in Southpark, looking at what I consider old books.

I have a habit when I look at books, something I picked up in Trinidad some years ago after the Internet became more than a novelty. I check the date a book was published. It keeps me from buying antiques, though I have also been known to buy books in thrift shops abroad (though I am very picky).

I found myself looking at Tim Wu’s ‘The Master Switch: The Rise and Fall of Information Empires‘. Given some of the stuff I’d been talking about in different circles, it interested me – and Tim Wu I knew from his work with Network Neutrality. I checked the publication date.

November, 2010.
It’s August, 2018.

8 years. 5.33 evolutions of Moore’s Law, which is unfair since it isn’t a technology book – but it’s an indicator. Things change quickly. Information empires rise and fall in less time these days – someone was celebrating integrating something with OneNote in one of the groups I participate in, thinking that he’d finally gotten things on track – when, in fact, it’s just a snapshot more subject to Moore’s Law than anyone cares admit – except for the people who want to sell you more hardware and more software. They’ve evolved to the subscription model to make their financial flow rates more consistent, while you, dear subscriber, don’t actually own anything you subscribe to.

You’re building a house with everything on loan from the hardware store. When your subscription is up, the house disappears.

Information empires indeed. Your information may be your own, but how you get to it is controlled by someone who might not be there tomorrow.

We tend to think of information in very limited ways when we are in fact surrounded by it. We are information. From our DNA to our fingerprints, from our ears to our hair follicles – we are information, information that moves around and interacts with other information. We still haven’t figured out our brains, a depressing fact since it seems a few of us have them, but there we have it.

Information empires. What separates data from information is only really one thing – being used. Data sits there; it’s a scalar. Information is a vector – and really, information has more than one vector. Your mother is only a mother to you – she might be an aunt to someone else, a boss to someone else, an employee to someone else, and a daughter to your grandmother. Information allows context, and there’s more than one context.

If you’re fortunate, you see at least one tree a day. That tree says a lot, and you may not know it. Some trees need a lot of water, some don’t. Some require rich soil, some don’t. Simply by existing, it tells us about the environment it is in. Information surrounds us.

Yet we tend to think of information in the context of libraries, or of database tables. And we tend to look at Information Empires – be they by copyright, by access (Net Neutrality, digital divide, et al), or simply because of incompatible technologies. They come and go, increasingly not entering the public domain, increasingly lost – perhaps sometimes for good.

And if you go outside right now and stand, breathing the air, feeling the wind, watching the foliage shift left and right, you are awash in information that you take for granted – an empire older than we are, information going between plants through fungus.

There are truly no information empires in humanity other than those that are protected by laws. These are fiefdoms, gatekeepers to information.

The information empire – there is only one – surrounds us.

On Foreign Exchange, Credit Cards and Trinidad and Tobago (2018)

Use of Credit CardsYesterday, at least one person in the media (Judy Kanhai) started circulating the raw press release from the present Minister of Finance in Trinidad and Tobago. You can click it and it will open in a new tab so you can read it more clearly.

Personal Context and a Sincere Disclaimer

I found this particularly interesting in my own context since, even as I write this, I am trying to send money to my sister to help cover my mother’s funeral expenses. Because of the bank (whose name remains something I will not discuss … yet?…) bureaucracy as related to foreign exchange, will require me to send only half of the expenses I am paying per day under two separate wires – which, of course, works for the banks. They get to charge me for two wire transfers and two fees for purchasing foreign exchange. I had tried to charge up my own Visa Travel Money (VTM) card for handling it, but my sister decided to nip it in the bud – and meanwhile, I can only charge $100 US/day on the VTM.

So I’m quite literally being punished financially for assisting with funeral expenses for my mother. They aren’t even really that much given how much funerals cost, but the present systems allow me to be nickeled and dimed by banks for something that – let’s face it – isn’t me shopping on Amazon.com to get things I might simply want.

Clearly I have a reason to be unhappy. Clearly I have a reason to be angry. I am just one person, of course, but there are other stories at banks throughout Trinidad and Tobago about people dealing with their own issues with foreign exchange – illnesses, deaths, what have you. We have to be nice in the bank; we need them to deal with foreign exchange because to do it without them is deemed illegal.

Criminals of desperation, be warned. Right?

Writ Large

It comes down to the global economy, the Internet, and the inability of local banks to get their acts together to make accepting foreign exchange easier on websites for small businesses.

Pushing aside my own personal feelings I encountered today at the bank, let’s really look at the data that was given by the Honourable Minister. Credit card payments, which would include VTMs, come to $1.2 Billion of $5.2 Billion in U.S. dollars of foreign exchange, and that comes to 23% of the foreign exchange.

So, given this data that we acknowledge is rounded, we know that 77% of foreign exchange was not credit card related. For those slow with math, that’s $4 billion US.

And yet, none of that really tells us anything.

We know, at least anecdotally, that some foreign exchange is used for:

    • Business
    • Personal

 

So, what percentage of the 5.2 billion was business related? That might be hard to discern, since because of the bureaucracy at least some businesses are using credit cards to get their foreign inventory, and they are being throttled by new limits of charging their VTMs up. What percentage was personal?

Where’s that data? We actually have been given pretty useless data for anything deductive, and it makes me wonder if that data even exists. For a nation whose national ICT plan includes ‘open data’, where we hear talk about transparency, we are really not getting worthwhile data and we have to question if it exists. If it doesn’t exist, how are decisions actually being made?

This, in a country that doesn’t manufacture as much in the way of consumer goods as much as it imports – anecdotal, of course – it seems at least to me that most businesses in Trinidad and Tobago are simply resellers of imported goods. Food is a case that is arguable and remains arguable because of a lack of worthwhile data (there it is again), but other than that, just about everything is imported.

Cars. Tires. Sugar – revel in that a moment. We buy imported brand name oil for our vehicles when we export oil. We import… everything. We make… well, I don’t want to disrespect anyone who is actually making anything, but I’m pretty sure that they themselves are importing materials.

With an economy without jobs – and let’s forget the de facto welfare state government jobs that only exist to keep people from not having jobs – people become purveyors of goods and services to make ends meet, or they get into crime.

I’d wager that the largest employer in Trinidad and Tobago is the government if you roll up all the ancillary corporations and State owned enterprises.

And where is the investment in manufacturing locally? The Ministry of Agriculture subsidizes farmers, but I’ve seen people with farmer’s badges on land that they do not own or have receipts for. People are collecting money from the government for that and… are they giving anything back to the government in the way of taxes? We don’t talk about that. We should.

But instead, we have people doing what they must inside a nation that hasn’t figured out that it probably could have used a Ministry of Technology (where did that go and why?). We have banks showing profits yet increasing fees on their own customers. A proper Ministry of Technology might streamline all the disparate technology and protocol incompatibilities between Ministries while perhaps even refining processes in other Ministries to be more efficient and therefore less corruptible.

And if you want to get paid late, the best group to be owed by is the government. I know personally; NIDCO owes myself and others money over the Pt. Fortin highway project and yet somehow NIDCO has money to clear a forest reserve in Aripo, allegedly illegally.

Yet credit card usage is somehow the issue of the day, with incomplete data, with a lack of understanding of the global economy and the slippery slope of not adapting technology quickly and appropriately enough to bring in foreign exchange from companies rather than bleed it out for things we could probably do ourselves.

We know we have goods that would sell overseas – a small business could set up shop and sell our pepper sauce, as an example. Or dried fruits. But instead, the idea of centralized businesses persists, maybe because that’s where campaign finance comes from, when the global economy proves over and over again that the network has more power than the old centralized systems. And so, the old guard tries to cut that off – to assure that they retain their financial power and thus political power over a populace doomed to purchase ugly neon plastic things.

The world has changed. AirBnB sells timeshares that they don’t have, Uber rents taxis that they don’t have. In Trinidad and Tobago, it seems our model is the government spending what they don’t have while not paying what they owe to people, all the while enabling systems corrupted to disempower people.

So we talk about credit cards without any actual data of worth in the conversation in Parliament and hope for the best, apparently.

On Trinidad and Tobago, Policing and Crime

I’m no expert on Law Enforcement. I am, however, a lifelong student of systems with experience ranging from agriculture to medicine, business to the military, and of different cultures. I’m sure I’ll aggravate some people with this, maybe these are the right people to be aggravated.

It’s difficult to live in Trinidad and Tobago and not consider crime. To the simple, it is simple, to the political, it’s politics, and there’s little difference between those two. How crime is considered by the populace affects crime itself – it affects the approaches, it affects the way things are implemented, it affects what is actually considered crime outside of the police service and justice systems. There are so many perspectives on it that, on a slow grey morning, I find the time to explore some of them with you, gentle reader.

The Broad Strokes: The Context

In his January 4th, 2018 Bitdepth, Mark Lyndersay mentions the pronounced dichotomy and the grey in between when it comes to how people see crime in Trinidad and Tobago:

…There are at least two societies active in T&T, one committed to all the lovely sentiments that church-going, law abiding citizens are supposed to abide by and another that LOLs at that type of thinking before stuffing a pistol into their cargo pants and going off to demand what they want…

This is, of course, a brief explanation that is accurate in being vague. It’s exactly right. Speaking for myself, as someone who is not church-going, I fall more closely to the first group than the last. And, because of the nature of Trinidad and Tobago, I end up drinking beer now and then around some more close to the latter at local bars. The street knows who the criminals are, and a balance is there between self-preservation and being an extreme law-abiding member of the South Oropouche Police Council for me.

It’s also interesting to note that Mark Lyndersay and I look at things differently in that we’re generally in different circles garnering the perspectives of different people in different ways. This is one of the many reasons I value what he thinks.

And yet, we can talk about crime in Trinidad and Tobago and come to similar conclusions. In fact, most people have very similar thoughts. I’m just taking the time to go deeper into my perspective.

In Trinidad and Tobago, like other places, there is a veil of what remains unspoken in most company. You just don’t talk about certain things, mainly because you don’t know who you’re talking to will talk to with your name attached. I’ve seen it come back and bite others soundly not in their posterior but in their neck over the years – why would decades of experience relent to yet another attempt by

The same is true of at least some members of the Trinidad and Tobago Police Service (TTPS) that I encounter as well. With whispers of corruption echoing through the country beyond what occupies the traditional media, there’s a hard balance to be struck between the police service and the communities that they police. Trust is the core issue, but there is something more endemic: The criminals themselves are ‘law enforcement’ oftheir own areas, sometimes more so than the TTPS, but with their own local ‘laws’.

This leads to the ‘Community Leader’ label that has been applied by politicians for those that operate toward the darker side of grey. The only thing keeping some politicians from those labels are the Laws which don’t necessarily reflect Ethics in society; that so many politicians are lawyers is something that I consider now and then. Community Leaders know each other for what they are, some are just law abiding but have as fluid of ethics as their understanding of Law permits.

This didn’t all just happen one day. It didn’t happen because those without ethics woke up one morning and decided to go on sociopathic or psychopathic sprees; seeds do not grow in soil that is not suited for them.

Socioeconomics

Having came and left Trinidad and Tobago quite a few times over the decades, I have the luxury of snapshots that allow me to see some differences more easily. The poor, as they are, have always been poor. However, people living outside of their means seems to have escalated more. This is not just in Trinidad and Tobago; it’s global, but the degree here in a small island nation is a little more tangible and seems to have accelerated more quickly than other places I have seen.

Why? Well, the most obvious issue is that the economy is arguably not as diversified as it used to be. The sugar cane industry was lost due to government and private industry inefficiencies on a broad canvas of a decrease in demand in sugar due to different sources for sugar, such as corn. Generally, other businesses have been about importing things and reselling them locally; this does well when oil prices are high but it also developed an economical infrastructure that is crippled when oil prices are low. Factor in outright corruption and theft by people sitting comfortably abroad on their ill-gotten gains, and you have what we have now.

Because there was unemployment, the answer was having people cut grass and paint stones white. This was disguised under different acronyms attributed to different political parties by some. This work, sadly, became a means of income near enough to that of a recent University graduate to make it worthy of comparison. Factor in the national pastime of alcohol and politics, like everywhere else, and you find people doing less than more. The minimum wage, something I don’t really agree with in principle due to it’s easily being gamed, is hard pressed to keep abreast of the cost of living.

It seems that there are more single parents, it seems that there are more parents where both partners work to support the family. I write ‘seems’ because there’s really no publicly accessible statistics of worth that I know of; another issue that keeps coming back in my writings.

Because there seems to be more parents working to support their children, there’s less time effectively being spent with children. The moral majority, which is neither, will likely indicate that there are more children having children. Again, I have no statistics. Maybe that’s true, maybe that’s not, but it does seem like the nurture is increasingly required of primary and secondary school education systems whose ability to nurture has become more handicapped. Further, I’d say that the curriculum isn’t as challenging as when I went to school in Trinidad and Tobago – but I am biased and admit that openly.

Meanwhile, one of the other national pastimes of the country is leaving the country. This is what is termed as ‘brain drain’; as someone who could fall into that category, I can say that opportunity in this country is limited – it’s not so much about one’s ability to do things as much as knowing the right people and having enough letters behind your name to make you seem plausible to people who don’t know anything about what it is you do. Even in this downturned global economy, there does seem to be better opportunity for the young to go abroad than to stay… here. The system feeds itself by starving itself.

The centralization of the Trinidad and Tobago budget, too, is a little disturbing. On one hand, the government decides how to support those who supply something locally – for example, chicken – versus those who import. Where money influences politics and businesses that import with more influence, local suppliers are forced to compete at a global level within a limited economy. I don’t know if this is a good or bad thing, but I do know that I’m uncomfortable with a system so easily corrupted controlling such things.

The government now, with less in it’s coffers every year, wants to tax those who are earning less more to compensate for decades of poor planning and lack of diversification. It means less for the government to spend on things to correct the problems that the government created in the first place with bad policy and lack of diversification. Those who like talking about politics will now bring out their knives to stab at their opponents – but really, both sides of the political soap opera contributed and the political discussion simply keeps the easily distracted… easily distracted.

Public servants act like they’re doing you a favor sometimes; in some cases you can find tax-free businesses running to allow people to get through the rampant bureaucracy and poor customer service to get simple things done. Bribery is an open secret. Poor customer service is noted by at least one Minister publicly. This translates to time and money losses for citizens for things already paid for by the citizens of Trinidad and Tobago; in some cases these losses are necessary to avoid penalties and fines that are at least as antiquated as the processes involved.

On the ground, people are not happy with the government – and it’s not a matter of politics if you tune out the politicians. Right now, the national discussion is about how many murders there have been for the year already – more than New York City – and protests in various areas related to infrastructure. One more humorous protest even seems to have worked… so far.

This is, sadly, a result of systems that have worked exactly as designed – except with the perimeters well outside of what the systems were designed for.

Porous borders

I listened as a policeman formerly stationed in Cedros lamented to me that there were 25 points of entry and Trinidad and Tobago Coast Guard support has to happen through calling Port of Spain. All manner of things make their way through the borders on an twin island Republic which boasts a Defence Force on land and a Coast Guard at sea – the former assisting the Police, the latter the Police cannot seem to work with. On islands. I’m no expert, but I would think having rapid response vessels in key areas might cut down on illegal trafficking – from guns to drugs, from people to animals.

Politics

I am amused every time someone laments that whoever is the Prime Minister is at fault for crime – and I write that because indirectly, they are in some ways, but the expectation seems to be that the sitting Prime Minister should don a spandex outfit and go fight crime themselves. There’s a reason, aside from not wanting to see anyone in politics wearing spandex, that this does not happen.

The second politicians directly control the police services, or other matters of national security, and they do so without appropriate checks and balances there is the potential for abuse. Don’t like your Opposition? To the Gulag! Don’t like journalists? To the Gulag! Don’t like someone for any reason? To the Gulag!

So, directly, politicians can’t be blamed for such things. And while we have had Ministers of National Security over the year and all sorts of toys bought by the government to support them, they are little more than figureheads. The problem is so well entrenched that it will not be removed overnight – and, as I pointed out above, the larger view of the nation requires that across the board, policies must be implemented that mitigate socioeconomic issues as well as access to government services.

Silver Bullet?

There is no silver bullet. There is no way to deal with this overnight; this goes well beyond simply ‘fighting crime’ but dealing with the issues that create the fertile ground in which it grows. We live in a connected world now, where the Internet allows people to see things faster than any leader can steer through – but steer they must. The delays of antiquated bureaucracies need to be streamlined with common sense and appropriate technology usage (what we’ve seen so far in technology leaves much to be desired).

It boils down to trust – not trust in politicians, we change those like diapers, but trust in systems of governance.

The Human Factor: Tangible Results

Mas allá de lo tangibleOne of the issues I faced across the decades of my professional and private technology endeavors has been, simply put, the amount of intangible there was.

A visit from my father in the late 1990s saw him proud of what I was accomplishing, but he had really little idea of what I was doing. He was of the electro-mechanical engineering sphere, a meshing of the arcane art of visualizing the magnetic fields of motors and the results that they churned out, physically. He enjoyed the recliner, the space in my apartment, and the ability to watch a flat screen in any room he was in – he appreciated the rewards of my work but not the work itself. Later, when he saw me strip myself of those ‘rewards’, he had no idea what I was doing even when I was getting media attention.

The human factor of sharing any achievements is difficult enough given the shifting sands of technology and the ability to comprehend them to understand the achievements. Dealing with things covered with Non-disclosure agreements, non-compete agreements, trade secrets and so forth creates a divide between people one doesn’t work with – sometimes unbridgeable. The idea of being the keeper of secrets is a romantic notion when it can be pretty tragic. I know I lost a few girlfriends to my being lost in thought about something that we could not communicate about. Call it a personality flaw. Mine. I live what I’m doing and employers and businesses loved me for it.

And then there’s the disconnect within a business, where the tangible results are misted by horrid implementations of the Agile processes. It’s why I prefer a more DevOps methodology. In the latter, there are tangible results with Operations, who are part of the process.

There is no complaint in any of that, simply a statement of fact. I bring this up because in comparing my battling the Trinidad Roseau versus Software Cost Estimation.  On one hand, I have tangible results that I can write about and share with others, and on the other hand I am writing about how developers can’t properly estimate given the effective silos in a company that keep them from being a true part of the larger project. This is where startups are awesome to work with.

Everyone has a balance. Some people can balance these things better than I can, some people cannot balance them at all – at points, I balanced them well – but life isn’t a sprint, it’s a marathon.

But I do think that Software Engineers and others in Information Technology deserve more in the way of expressing tangible results not just to others, but for themselves.

On Software Cost Estimation

University of Maryland and Sourcefire Announce New Cybersecurity PartnershipA recent video had me considering the problems of software engineering cost estimation – something that has plagued software engineering. It has also plagued people who think software engineering is just coding because, frankly, they’re idiots.

Since I’m out of the industry – by my choice and on my terms – I can now tackle some topics and speak my mind more freely without worry of repercussions when it comes to the next contract, or the next job.

The video is, “How To Price Design Services“, and I’ll embed it at the end of this post.

Now, when it comes to software cost estimation, we start off by gathering requirements. We come up with a design, or alternative designs, built on architectures and technologies that may be new or not, that a company might have the resources to do or not, etc. Some people call this ‘discovery’. Based on what is found in discovery, an estimate is done by reading tea leaves, a magic 8 ball, estimates of coders, and perhaps killing a gluten-free chicken and reading it’s entrails. That’s about as scientific as most people do it.

And how does one get the estimates? As a software engineer over the decades, I know an estimate given by someone writing code (not necessarily a software engineer) is:

  • based on assumptions based on the documented or communicated (mistake 1) information that leads to assumptions (mistake 2).
  • based on their skill level and experience, as well as innate ability.
  • dependent on how much pressure is applied to them, with different thresholds for different individuals.
  • usually wrong.
  • never tied to the value for the company.

Now, I’m not saying that the value of a project for the company should be the estimate – far from it, that’s just not how business works. But let’s talk about profitability – immediate and recurring.

The immediate profit usually doesn’t work out unless a marketing department is brilliant, or there is a monopoly, or both. So it’s about recurring profit. How much would be expected as a return withing – oh, let’s say – 6 months?

The point is that there is a value associated with the project that is rarely communicated to the development team, which is usually – hopefully – smart enough to pick this apart. And the people asking for the project almost never want to let the development team know the value that they’re contributing because those salaried employees will want more money.

Meanwhile, every software project encounters problems because of technology changes, changes on the development team (a problem of poor hiring or poor retention policy), requirements creep (‘someone in the sales department just had a great idea!’), design flaws (they happen), architecture problems and…. well, just about everything.

The main problem with all of this is that estimates simply aren’t accurate – which, actually, is exactly what they are supposed to be. An estimate is never accurate. It approximates, and people don’t get fired too often off of teams because of their coding abilities, but because of their or someone else’s estimation abilities.

There is a point here. That point is that the development team is only as invested in the project as the business team and management permits them to be – and if they’re better invested… productivity will increase and there will also be more careful and thoughtful estimates.

Now, does ‘invested’ mean ‘more money’? Sometimes. Free gummi bears and a gym might work in Silicon Valley, but they also make a metric buttload more money than a development team in – oh, let’s say Orlando, Florida. No, that ‘incentive’ is to get people to stay physically in place in a brick and mortar establishment which, sadly, is still the norm. But they don’t actually make people tweak that bit of code just a little more efficiently. You don’t toss gummi worms at developers and they prance around.

It’s about being vested. And that’s the core problem of cost estimation – the developers are given a black box to fill with little to no actual information from the business.

Oh. That video:

Reflect. Refract Toward The Future

Wall-E looking At The StarsI got it all wrong.

This is not to say that I have regret, or that I’m disillusioned. It’s more of the realization that I have suffered an illusion, and while I do not understand yet how I became illusioned, I understand that I have been.

It started as a child, really. I grew up the son of an engineer, and understanding how things worked was simply a way of living. It’s not a bad way to live. Later on, the personal computer revolution started and despite then living in a developing nation, PCs became my surfboard – and writing code became a primal need. I happened to be good at it.

The early 80s were a happening time in tech. It was a true revolution; the power of a computer in the hands of individuals and small businesses was unheard of. Given that we didn’t have the Internet and networks were just beginning, the world changed as rapidly as that would allow. The teenage version of me thought that it would be a great way to add value to the world. To make things that would make the world a better place, like the advertising promised… but I was too young to understand that one shouldn’t believe the advertising.

At one point, I began to understand that. And I began to understand that despite my best intentions, I wasn’t actually doing anything of worth. You, reader, may believe you are doing something of worth. I will tell you that maybe you are now, but it will likely not last – the churning evolution of technology swallows things, digests them and incorporates them into other parts – and you never see those things again. And it does so with people, too. Sure, you have the success stories.

In the end, though, you look back on the things you’ve played with and worked on decades later, nostalgically, and realize that they are gone. You made companies money for your living expenses, sold your abilities to the highest bidders, and one morning you wake up and realize that coding is the next blue collar job. There’s nothing wrong with that. But code has a way of changing, being tossed out or simply sitting somewhere on a server as technology rolls by.

I recall at job interviews over the past 10 years being asked about things I wrote, as if I single-handedly wrote anything or maintained anything in the last 10 years other than websites – and websites built disappear over time not through fault of the coders, but through faults of the businesses. And the same happens with the less visible code. Companies get bought out and their technology is either adapted, or tossed out (even if it’s better).

What I got wrong in all of this is not what I did but why I did it. This idea of generating actual value instead of making money is antiquated in this world, and perhaps the best reason for that is the people running things believe that money is the value and that everything else is transient.

Had I known that 3.5 decades ago, my approach on many things would have been different. I joke about being raised wrong, and there was a point when I wistfully pointed out that things used to be built to last  – but the world doesn’t want that. The constant evolution of everything requires, in this world, the financial backbone to do so. No technology survives without it’s own economy, and in that it is a slave to those with the disposable income to pay – not the masses whose lives could be improved by it. The cognitive dissonance of Silicon Valley in this regard, as well as others, leads a path to those who wish to follow – and that path is one of the financial backbone, of bankruptcies and failures unmentioned in the marketing brochures.

Tech will continue to change the world, but the socioeconomic disparity is playing itself out in democracies around the world. Interesting times.

 

 

The Why and Why Not Of Documentation

FAIL stampMy core pet peeve of the last 10 years is the lack of documentation I’ve encountered with Software Projects. Sometimes it’s as the consultant that’s called in after someone already charged a lot of money for a substandard job. Sometimes it’s that legacy project that sticks around through generations of developers who leave a company. Sometimes it’s the “we don’t have time” factor.

Documentation is a value-added part of any software project for a variety of reasons:

  • Reference: The ability of software engineers involved with a project to look back and see why things were done the way they were, and to allow for knowing the limitations and potential of a project.
  • On-boarding: Bringing new software engineers up to speed quickly without having to bounce around the company finding answers.
  • New Projects: Proper documentation of old projects, including estimates and other data, is of great use for estimating similar projects. (Project Management and Business Analysis)
  • Complicated code reviews are simplified.
  • If someone gets hit by a bus, someone else can take over. Quickly.
  • Legal: If a project is supposed to meet certain requirements, those requirements should be traced to the actual implementation.
  • Teams: Proper documentation in an Agile or DevOps process allows team members to see what others are doing in similar areas of code, and allows easy identification of problem areas quickly.

These are just some of the reasons documentation is important. More often than not, I’ve ended up writing documentation at different companies because it simply did not exist before.

Why didn’t it exist? Here are the standard excuses:

  • No Time: We didn’t have any time to write the documentation because we’re busy working on the next thing!
  • “Me no write so good”: Fair enough, but there’s only one way to get better at writing.
  • “It’s not my job, man”: Erm – no. Documentation is a part of software engineering. A big part.
  • We don’t know how to organize it: Fair enough. Spend some time and figure it out and implement it.

At the base of all the excuses are 2 things that are really simple:

  1. Software Developers generally don’t like writing documentation.
  2. Management fails to have developers write documentation.

These 2 things are understandable, wrong, and amazingly easy to deal with if a company wants to.

On Quality In Production Code (2012)

So I’ve been playing StarCraft II: Heart of the Swarm

Once upon a time in a universe resembling this one at a younger stage, I dreamt of game programming. I don’t think that there’s any coder of my generation that didn’t have similar aspirations – perhaps getting published in Compute! magazine, perhaps getting one’s name on the box, or maybe even just writing a really cool game. I stand with the majority of developers who have never done that sort of thing. Times changed.

Consider what the person who wrote Galactic Adventures and Galactic Gladiators had written on the Well (apparently before they thought of putting a name to it):

To me, the most amazing thing about doing these games (and I’m about to date myself) is that I did virtually everything myself. I designed the games, programmed them, drew the graphics (quite primitive), wrote the rule book I did get help from friends and people at SSI in testing and making suggestions. Compare that with today where new games are developed with a million dollar budget and use teams of 30 or more people, programmers, artists, tests, story consultants, etc, etc. And you know what — the games of today are better (Gee, why is that a surprise?)

With that in mind and considering that I knew about Blizzard when the original Warcraft was a freeware game where you paid a bit more to get a full version – no, not the MMORPG you kids play now, but the Warcraft that started a new genre that Starcraft continues – Blizzard has come a long way. Since then, Battle.Net has come online. Since then, numerous titles have come through Blizzard and, while I haven’t played Diablo or messed with World of Warcraft, not one title hasn’t been popular. Blizzard has a kind of magic that works for them. I just like a particular genre and have found MMORPGs to be disappointments when it comes to content; I dislike leveling a character by what is properly termed grinding.

All of that said, I’m sure the budget for the Heart of the Swarm expansion was over a million dollars. I’d wager that it was at least 10 times that amount. The detail is great, the storyline is good (though how a prisoner in a high security prison has a pistol escapes me) and it’s playworthy – though I keep mixing up Q and A on the keyboard. But here’s the thing: I played through the game that took so long to develop in about 8 hours of game time. Hard difficulty, much the same. Brutal – well, that’s still in progress. There’s always the PvP maps and the challenge maps. I figure that, all things considered, the game will last me well over 1,000 hours of playtime.

It sold 1.1 million copies in 48 hours. At $40 per expansion, that’s $40.4 million in 48 hours.

Yeah, we’ve come a long way from typing in games from magazines. We’ve come a long way from a single developer writing a game. There was a magic to that era, though – we didn’t yet expect a great game. We expected a game and hoped it would be good. Now people get their sodden underwear twisted when they start talking about game balance and other things on the forums. As a fuddy-duddy, I see that as an odd form of entitlement – people expect a lot more for $40 and have the privilege of time to gripe about it in poor writing.

Game development has come a long way. Humanity? Not so much.

Thank you, Blizzard, for what I consider to be another great game. As a developer, I wish I had a hand in it. I’ll wait for the Protoss section. Take your time.

Software Cost and Complexity (2013)

Exposed gnarly roots in Fall River ParkTwo seemingly unrelated things popped up over the last few days. One of these things was an article along the lines of a discussion I had not too long ago with friend Yermo about. Simplicity in software design. From Reducing Complexity: The Next Software Imperative:

…And that should be the goal of all developers to make an app so elegant, so well designed; you forget you’re using it –or even the device on which it’s installed. The reason people gravitate toward apps at work is because mobile devices often offer the most elegant solutions to long-standing problems. Instead of fighting with clunky enterprise software, users find software that does what they need it to do and nothing more –and more importantly that just works…

For those of you who don’t remember what the Mozilla browser used to look like, as an example, one need only take a look at the community Seamonkey project, something I use every day because it does many things I want to do exceedingly well. It downloads my emails for me, something that it seems a generation has completely forgotten about unless they’re locked into Microsoft Outlock Outlook. It has a built in HTML editor. It has an IRC component. It has an address book.

I’m not the norm. The Firefox project does one thing very well. It’s just a web browser. Seamonkey and Firefox have the same engine underneath. Which one is more popular? I don’t think I need to look for statistics to show you that Firefox is more popular than Seamonkey.

More popular examples would be apps for mobile phones. They do one thing and they do it well (unless it’s something recent from Facebook, or so I hear). Simplicity.

Yet simplicity almost always masks complexity; it’s a matter of who deals with it.

In a world of small or non-existent budgets and lots of well intentioned people, software developers inclusive, this can be a sticking point even when trying to do something pro bono.

As Jon Lebkowsky (of Polycot Associates) posted in a status update yesterday:

Never fails – you offer to build a website pro bono and the recipient of your love is irritated that you can’t create a $20K miracle for nothin’. Hopefully I’ve learned my lesson, finally.

As someone who has found himself in similar shoes, I’ve noted this a lot. The ‘$20K miracle’ here is the problem anyone dealing with any software development has run into, be it for a small business, a large business, a non-profit or a family member – or someone who heard from someone else that you do websites. Recently I have seen it twice – the first with developing an API for an web host company to wrap other disparate APIs. The second was fixing an old Drupal install to do something that has a module for it in Drupal 7.

I could go on. I imagine many software developers could, particularly those of us in contract/freelance mode.

The point is that client expectations are high but they fail to realize that a simple logo and textbox on a website – simplicity in and of itself – masks a lot of working code in the background. Who am I talking about? Google. The simplicity of the Google page is probably the best example of masking a lot of complex algorithms that provide people with, more often than not (we hope) what they are looking for on the Internet.

The tree, as simple as it may look, has complexity hidden below the surface in its roots.

With mobile development applications, it’s the operating system and hardware. With Microsoft’s .Net platform, it’s an API that does a lot of the ground work and makes software developers into software librarians – a trend that the open source community has followed.

Move over Dewey Decimal System.

Simple for the user often translates into complex for the developer, depending on the requirements of whoever the software is being written for. TANSTAAFL. The more simple the outward appearance, the more likely the internals are complex – and increasingly, this seems less intuitive for people.

Complexity costs money. Making complexity look simple costs more. There is cost and there is value. A simple outward facing site like Google masks a complexity that costs a lot but clearly has a value greater than the cost.

The focus should be on value and simplicity or making complex processes appear simple – and keeping any complexity within budget. If that budget is 0, don’t expect a lot of complexity.

Remember – users want simplicity or, better, they don’t want complexity. Making your website or software project appear simple is the rub.

Image at top left by Martin LaBar (going on hiatus), made available under this Creative Commons License.
Note: As an experiment, I’ve turned off links to social networks and only allow registered users to comment here. This is an exercise in simplicity; discussions will happen on social networking sites. I’ve noted the trend; people don’t comment as much on sites unless they’re spambots. After reviewing statistics after a month, I’ll revisit this.