Different Git Server

After being on a new project for a few months, Beavis is told he has to fix a bug in the old system. Now, both codebases are stored using Git source control, but they are located on different servers. Other than the initial connection, accessing them is the same, so if you are using the command line, the commands are exactly the same.

Beavis, a Senior Developer states that he has the code checked out from months ago, but it will be now out of date, so he needs to get the latest changes. He then says “do I need to create a new branch to get the latest code? And if so, do I create it on the server and sync it down, or create it locally and sync up?”

Beavis, it’s the same process you have been doing for the last few months. Sync to get the latest changes, then create a new local branch for your bug fix to go in.

In the end, I think he asked another developer who doesn’t understand Git very well and Beavis ends up cloning another copy of the code.

Facepalm.

Fighting His Corner

A few months back, there was a decision between two technologies, lets say it was a debate about Docker and Kubernetes. It was decided to proceed with Docker.

A manager, John said that he has instructions “from above” that we must use Kubernetes. Another manager, Jane seemed to protest about it even though it wouldn’t be anything to do with her. I was confused by this. It seemed really out of character and she didn’t even know the reasons why Kubernetes was dismissed. So it’s not like she actually had an opinion on the matter.

Anyway, further debates were had between John and a Senior Developer, and then I heard the Developer say that “John must go talk to Roy” – who was the major influence on the decision against Kubernetes.

Aaaaaah! that explains it. Roy is Jane’s boyfriend and she was defending his decision. That’s why she seemed belligerent.

It seems to be becoming a bit of a trend that people are supporting their friend’s ideas, blindly supporting a technology just because it appears trendy, or using unsubstantiated claims to support an idea.

2020 Vision

Recently, we have had a few meetings where Senior Management have given updates of the plans for the year. I always come out of these meetings non-the-wiser since they just talk buzzwords and marketing jargon. To me, it just translates to “we are doing work to improve our products”, but yet they ramble on for 45-60 mins.

I wrote down some words and phrases from the meeting. So here are the plans/vision/roadmap for 2020:

  1. interoperability
  2. driving efficiencies
  3. minimise the pipeline
  4. bringing on-stream
  5. embedding the modules
  6. mobility strategy
  7. rolling enhancement program
  8. put us in a strong position as we go through 2020
  9. decoupling the need for multiple products
  10. gain focus
  11. add value and retain customer base
  12. technical debt being addressed
  13. a step forward in innovation
  14. marketplace acceleration
  15. improve discoverability
  16. improve sign-up flows
  17. laying the architecture down
  18. building into propositions
  19. specifically aligned with the digital proposition
  20. product portfolio
  21. leverage across different markets
  22. release the roadmaps imminently

Doing Admin

Beavis, a software developer, was supposed to be helping out running manual tests since the Testers were behind on their work. That day, he was working at home and posts on Slack that he has “network issues” so was unable to test. He could have picked up some development work instead, but he didn’t bother.

So for his stand-up update, he says he was just doing “general admin” which I reckon meant he was chilling out at home.

A Tester explained to him that when they work at home, they remote onto their work PC, then connect to the test system from there. It’s a bit of a workaround but it’s what everyone does.

Unhappy with this workaround, Beavis decides to log a ticket with our IT Helpdesk.

A few days later, Beavis is supposed to be helping out the Testers, but is working from home again. Yet again, he posts on Slack that there are still “network issues”. A Manager challenges him on it, and he says he has logged a ticket, but it hasn’t been addressed – so he can’t help. The Manager tells him to remote onto his work PC, which is a known workaround.

The next day, for his stand-up update, he said he ended up doing “general admin” again like tidying up his C drive, and he was also doing “personal development”. So completely defying the Manager and other Tester’s advice.

He isn’t the first person to use the “doing admin” excuse. It’s hilarious when you think about it. How can you claim you spent 7.5 hours creating new folders, or sending files to the recycle bin? Even more ridiculous when you have already made that claim in the days prior.

Playing Dumb

Derek always annoyed me when he would play dumb when doing non-programming tasks. So if he was helping Testers by running test cases – they would tell him to open a test case, and he would be like “what software do I use?”, “what do I click now?”, “do I click the Pass button when I’ve finished?”

It just wastes time and frustrates people. I always thought he was being as awkward as possible so they would just tell him not to bother. If he asks all those questions, then it’s just gonna waste a tester’s time. If they are answering questions, then it means they aren’t running test cases. The idea of a developer helping out means there are two people running test cases. But an awkward developer just means there is a developer slowly running test cases whilst supervised by a tester who could have just done the job quickly.

I’m introducing a new character, Beavis; because he always acts dumb, or at least appears oblivious. Also, he has a very Beavis-like laugh.

Beavis was doing the exact same technique. I heard him ask many dumb questions like that. Later, he calls me over to help set something up. I tell him his account doesn’t have enough permissions.

So he logs in with the admin user, goes to the configuration module and then says:

“how do I find my user?”

“click the Find button”

“where is that?”

“In the menu, first button”

he clicks it. A dialog appears. “How do I then find my user? Do I just type in my name?”

“No, you have to type Pi to 10 decimal places!”

I didn’t really say that, but it was hard to keep calm with the questions that are just wasting my time.

He then says “sorry, I’ve never used this program before”. Even though that was clearly a lie.

Beavis and Butthead

I know he hasn’t used it much because he used to work on a completely different software product, but he has used it and was helping a Junior set it up the very next day. But when you have 20+ years of experience in the software industry, how can you not be comfortable using basic features? Many features are intuitive. If you wanted to find some text, it doesn’t matter if it is Internet Explorer, Microsoft Word, Notepad, OneNote, Visual Studio; you would always press Ctrl+F. Want to Save? Look for a “Floppy Disk” icon, or the word “Save”.

Team Duplicate

Part of my team’s work is basically to create a framework where other apps can be plugged into. So this framework has a menu bar and is responsible for functionality that can be used independently of which app you are using. A good example of that would be Chat functionality.

So a part of this project is to create a “proof of concept” (POC); have the “shell” with some sample apps. When other teams make an app, then it can be tested within this POC.

Recently, another team has been putting together a POC which demonstrates how applications can be integrated into the shell. Have I just repeated what I wrote above? Oh, yeah. They are duplicating our work.

Who came up with this idea? Who planned this work? What is the point of it?

I asked one of the developers what the point of his work was, and he replied “you will have to ask the team leader”. I’m thinking “hang on, you agreed to work with them and you don’t even know what the point is?”

Our POC has our shell with a couple of other apps that other teams have produced. The duplicate POC has our shell with some apps that their team has cobbled together. I just don’t understand this at all, not only is it inferior because it’s not using other team’s work; a few developers have just wasted weeks writing apps that no one will ever use. It will just be discarded at some point. Or that’s what I initially thought, but I did hear the manager who is in charge of this say something like “this will be the POC that teams will refer to going forward”.

The other week, one of Team Duplicate’s members, Liam joined our stand up. When we mentioned some upcoming work, he volunteered to speak to another team we were waiting on, which seemed very generous of him.

A few days later, I went to pick up this work item from our Backlog. So I asked Liam if he had any information about it. He then gave me a weird reply along the lines of “I don’t think we need you unfortunately”. I was thinking “wtf, you are firing me with no authority!?”.

I then found out a member of his team was already working on it and he thought I was asking if I could assist with their work. I told him it is on our Backlog and he was telling me it was on his team’s Backlog too.

Obviously, we are duplicating work. This illustrates it. We need the functionality for our POC, they need it for their Duplicate POC.

In the end I picked up a different requirement. I mentioned this to a developer in Team Duplicate and he said “oh yeah, I need to implement that too”. I was like “you are joking, right?”. He says he wasn’t. So I said “I’ll race you then”.

I implemented it first.

Angry Complaints

On our stand-up call, we were joined by Lyndsay from the UI Controls Team. Vincent mentions that we will require some extra controls for the work he was doing and Lyndsay responded angrily “I just checked the Slack channel and no one has requested this, how do you expect them to do the work if you haven’t asked?”. Chill out, it has just come to our attention.

After the stand-up Vincent goes in the Slack channel and posts. A developer from the UI Controls Team responds negatively. He angrily stated that its not his team’s responsibility to do all the work, and maybe Vincent should do it. Lyndsay liked his response. It completely looked like Vincent had been set up.

A few days later, our Product Owner suggests we should work in a stricter Sprint approach, so we end the two week period with an end-of-sprint demo. At the end of the call, Lyndsay starts complaining that no one has done a demo or even announced one. She then says when the Development Manager comes back from holiday in a few days time, he won’t be happy.

I’m wondering how Lyndsay expects us to take her seriously when the Product Owner had only just announced the intention to create a demo, then she starts kicking off about the lack of demos.

I’m also wondering how things can be fine for months, then all of a sudden, Lyndsay made it feel like we are doing everything wrong. It’s like when we used to log a bug, and then a Test Manager would charge to your desk, demanding to triage it.

Slack Analytics

I recently discovered that Slack has an analytics page. We’ve been using Slack for around 1 year now, and the statistics sure were interesting.

The channel with the most posts is the team that were responsible for the adoption of using Slack. They collectively have written 74,000 posts in that one channel. That figure is seriously alarming. What about posting in other channels, or sending private messages? Damn.

Well, their highest individual posted 64,000 messages, but the average for their team was around 30,000. Their newest member of their team led the monthly charts for December with 3,500 across the 18 days she was in the office.

I think I use Slack far too much, but I have 1,700 message for the entire year. Yet, that is half the leading December poster. My team’s channel has around 1,100 posts. So we post around 74 times less than the highest posting team. That particular team has posted 2.5 times the second place team, so they are ahead by some distance.

I do wonder how much Slack impacts productivity. I think the team that is leading the Slack charts is perceived to be very productive and innovative by the Managers. Yet perception by Managers is often different from the actual truth. I often hear their team claim they are too busy and that other teams need to help out with their backlog. Maybe if they weren’t on Slack so much, then more work would be done? I don’t see how one team can justify sending 74,000 messages across a year. That is a staggering amount.

Buzzwords

There’s a manager that constantly reels off jargon and buzzwords, then at the end of his speech, I always think “what the hell is going on?”.

I was watching a few of his video updates and wrote down a few phrases that took my interest. The first video was about “latest developments” and how these changes are going to “accelerate development” as we “integrate with teams“.

The next video asked “how do we get the backlog to illustrate we are moving in the right direction?” with a respect to “data-driven timelines”. There’s gonna be a “high level plan” which will allow us to “commence application development come Q2”. We can “tally up with the timeline” and when we “consider ourselves integration ready”, we then “help teams work with integration-ready architecture”. Finally, when we get “all bases covered”, “collectively we have a whole backlog and roadmap of work”.

Can we achieve this? Let’s hope it is clearer come Quarter Two.