Posts

No-meeting blocks - defending a policy that enables people to get stuff done

Image
Meetings have their place, especially in collaborative, consensus, or creative organizations. We need to manage the number of meetings to ensure that you have "heads down" time. I have seen at least three different ways of tackling the problem. Create a corporate or department policy. Create a daily multi-hour team meeting. Block out multi-hour blocks on your calendar. There are other ways that I've never tried. Ban all meetings Decline all meetings where you are optional. An average  calendar with some protection This calendar partially successfully guarded 4 ways.  There is a " no meetings before 9:00"  policy.  There is a daily " lunch block " . There is a " no meetings Friday afternoon"  policy and there is " team time"  blocked out for two hours every afternoon. Video Video speaker notes <to be added> Create a corporate or departmenta...

Who let the chairs out? Standups are shorter when you stand up.

Scrum standups are not status meetings.  They exist to make sure people are working on the top priorities and call out blockers and impediments.  We want it to be brief and on point.  Problem-solving or design work gets pinned to be handled after the actual standup. We had a 12 person team on one of my first Agile projects.  Our standups became one-hour sessions where people gave status and everyone's items ended up as another discussion.  One day we pulled all the chairs out of the conference room before anyone showed up. They all arrived to see the pile of chairs and an empty conference room. It was a bit heavy-handed but it worked.  It helped us re-focus on the purpose of the standup. Our standup changed to 30 minutes of Scrum followed by a 2nd problem-solving session.  Everyone who stayed for problem-solving sat down and those that weren't problem-solving left the meeting room. Accommodations Some people may need accommodations because of handicaps...

Routing Java Logs and Business Events to Azure Event Hubs using the Kafka logging appender

Image
Azure Event Hubs implement a Kafka compatible API. This means we can migrate an application from Kafka to Azure EventHubs with minor changes. Retargeting basic Kafka traffic from Kafka to Event Hubs can be just a couple of configuration changes. The sample program sent its logs to Kafka via the Log4J Kafka Appender. It takes just 4 lines of changes in the log4j2.xml configuration file to send the logs to Azure EventHubs instead. You can find the sample program on GitHub in the Event=Hubs-Sink branch https://github.com/freemansoft/spring-boot-log-to-kafka-example/tree/feature/Event-Hubs-Sink Video See the video for a longer explanation. Create Azure Resources We created an Azure Event Hubs Namespace and two individual hubs called logs and audit env.properties We can isolate our endpoint configurations in environment-specific properties files.  The def...

The Team: Everyone gets something good to work on

Image
Team members are happier if we can find interesting work for everyone in every organizational period. It doesn't have to be gigantic or occupy even the bulk of the time in the period. The idea is that people feel rewarded when they get a task that implies trust in their ability or a task that is important to the team. This sounds like basic management but I've been on plenty of teams where we pigeonholed people into secondary tasks. For a Scrum software team, this may mean an interesting task in every sprint or PI. For a help desk, it may mean an interesting, off the phones, task every month. For other jobs, you tell me. Click to Expand Video Speaker Notes <to be added> Created 2022 01

Azure Event Hubs - Namespaces Hubs Schema Registry RBAC

Image
Microsoft has added a Schema Registry to their Azure Event Hubs.  This is another feature parity checkbox for those thinking of moving from Kafka to Event Hubs. The Schema Registry at this point feels like it was created by a different team with a slightly different organizational structure and RBAC than that of the Hubs themselves.  Schema Registries are useful in a lot of circumstances. Microsoft would have been better served by Making the Schema Registry a stand-alone offering with its own Portal blade.    The video below walks through how the Schema Registry is fitted into Event Hubs. Video   Speaker Notes Namespaces Namespaces are the Azure EventHubs primary top-level organizational unit. Hub RBAC can be applied at the Namespace level. Schema Registry RBAC can be applied at the Namespace level Hubs Hubs are the individual event streams. They are topics in Kafa terms Access tokens are sup...

Recognizing "the good old days" while you are in them

Image
I've worked for over a dozen companies across more than 20 projects.  Three team efforts stood out from the rest.  Two of the projects had  reunions or socials up to  20 years   after the project peaked . One has a Facebook group. Another has an international mailing list.  See the video below None of the projects was easy.  They all involved conflict.  All involved more than 50 hours a week at peak. Some parts were pretty miserable.  I wanted to quit and stare at the ocean.   These special projects were all personal and professional learning experiences.  They make all other employment  just work   now that I have forgotten  the exhaustion and frustration.  People go a lifetime without ever working with a group that has a reunion that draws people from hundreds of miles away. Most are shocked when I tell them I worked at  two  places where this happened.  I made friends with people I would wo...

Single Node Kubernetes with Docker Desktop

Image
You can run Single-node Linux Kubernetes clusters with full Linux command line support using Docker Desktop and Windows WSL2.  Docker Desktop makes this simple. This is probably obvious to everyone. I wrote this to capture the commands to use as a future reference. There is another article that discusses  Creating a multi-node Kubernetes Cluster on a single machine using Kind http://joe.blog.freemansoft.com/2020/07/multi-node-kubernetes-with-kind-and.html Windows 10 / 11 - WSL2 - Docker The simplest way to run Kubernetes Windows 10 is with the Docker Desktop and WSL2 integration.  Docker will prompt to enable WSL2 integration during installation if you are running a late enough version of Windows 10 or any Windows 11. Prerequisites Docker is installed with WSL2 integration enabled.  The docker command operates correctly when you type a docker  command in a WSL linux command prompt. Install, Enable and Verify Install Docker Enab...

Associating Personas - identifying when two "people" are the same person

Image
Identifying the "same person" when they exist in multiple affiliates or multiple contact channels can be messy with a set of tradeoffs. People show up or interact with organizations with different personas. They may be customers or incident reporters or marketing contacts or someone who just happens to make an inquiry. Even customers / registered people may exist as more than one person because of mergers, identity changes personal choice, or system errors. The speaker notes below represent a subset of the comments in the video. Video Associating Personas - Images Organizations make people create accounts in order to bind those people to permissions and preferences. Accounts may provide traceability from account to person but they often don't provide the only link to that person.  People can create multiple accounts for various purposes. This means that an account may be bound to a ...

Customers, Leads and Prospects are different levels of info trust

Image
Companies and organizations deal with people. Sometimes they are highly confident of the person's identity or the fact that it is the same person they dealt with in the past. Sometimes they are highly confident of a reliable identity when it turns out they are actually confident in the account's identity. Other times they have information that would never meet a legal bar. Those types of identities are good enough for marketing or sales or preferences but not good enough for legal documents or other use cases. Video The video goes into more detail than the speaker notes in the slides section. Presentation Content Organizations have all kinds of different contacts with individuals and other organizations. Our confidence in knowing those individuals ranges from anonymous to highly confident.

Protecting systems for different size disasters

Image
There is a lot of complexity in hardening IT systems to survive different types of disasters. They balance user experience, cost, complexity, and risk tolerance. Which strategies might work best? Talking in metaphors: A major disaster where a lot of other people are impacted, a storm with essentially a transient effect, or a self-induced fire where we ourselves accidentally burned a room or a whole building. This blog article exists to provide static images of the slides used in the presentation Video Presentation Slides  What are you afraid of?