Whether to log a new bug

Recently, we had the classic debate whether when discovering an (unrelated) problem, a bug fix:

  • should be rejected/marked as failed, 
  • or if you pass it, but log a new bug.

Sam said he had never logged a new bug if testing failed, even if this issue wasn’t called out in the bug report; in the description or recreation steps.

So to explain using this situation: I had fixed the Entity Framework code which saved a new row to the database table. The bug was for passing correct values into it, and my change was fine; the correct values were now saved in the appropriate columns in the new row. However, if you send multiple calls at once, Sam noticed it wasn’t incrementing the number by 2 as expected, only by 1 (the first call was then essentially being overwritten – a classic concurrency problem).

I think it’s reasonable to use the original Work Item (Bug Report) to flag any issues testers find, but once we confirm the new issue isn’t caused by my change it should go into its own Work Item. You might assess that the new bug could be fixed in a later release. It makes no sense to fail bug A because you found bug B. 

Sam is basically increasing scope, then moaning that we might fail the sprint, because we cannot complete the new item within the 2 week deadline.

Time management – A manager’s perspective

A manager recently posted the following. I think this sounds like good advice. Although I always think with us breaking work down into 2 week “sprints”, then the tasks just expand to fill the time allocated. So I think you need to process change or a collective mindset change across the team for this to actually work…

“Some thoughts on getting more for less…Individuals in all teams should analyse what they currently do in their role on a daily basis (i.e. where the time is spent). 

Then see what that could look like moving through transition (modernisation) and what next year could look like.

Right across the business, all individuals should take a moment to analyse where they spend their time each day (not high level timesheets, actual analysis). If we are ever going to get more productive output from already lean (stretched) teams then we need to work out where to optimise time and get the most quality output out of each day.

Examples of questions that individuals should ask themselves each day:
 
1. Am I managing my time properly? 10 minutes planning the start of your day can save hours. Write down what you would like to accomplish during the day. If you plan ahead and write it down, you can enjoy any breaks without thinking about work. Heads full of tasks that are not written down creates brain chaos meaning we break away from smart thinking.

2. Am I spending too much time playing around with ideas before I decide what to do? By the time I decide what to do there’s no time left. Stop procrastinating. Putting things off can affect your productivity.

3. Do I need to be in these long meetings? What am I contributing? What else could I be doing? Meetings are crazy expensive. I have been in meetings of 20 people where 3 people talk/contribute. Could I skip a meeting and watch the recording later?

4. Can this repetitive task I’m doing be automated? Should I be doing it or someone else more suited? Am I using technology to speed up my job? If I am a developer, do I spend too much time manual testing when it could be automated? Just because it’s always been done this way doesn’t mean it’s the right way.

5. Am I working in ‘smart mode’? Is there an easier way to accomplish what I’m doing? Am I over-elaborating? Finish unimportant tasks within 10 minutes.

6. If I have 5 things to complete concurrently, try allocating time to each task and set a timer. This speeds up work. Divide your day into time increments. Then, assign specific tasks during each portion of your day.

7. If you need to concentrate hard on certain tasks, then minimise distractions. Block time away from people.

8. Prioritise your tasks. Starting off with your most difficult or important tasks first can help you feel more accomplished.

9. Group similar tasks. When you focus on related assignments, you spend less mental energy context-switching between different tasks.

10. Finally, set aside personal time to disconnect from work. This can increase your productivity. A stressed and tired brain cannot work efficiently.”

Manager coding ability

I came across this interesting twitter thread about coding ability of managers.

“your managers should be better engineers than you”

Most managers disagree about this and I’m sure there are many exceptions, but in my career my worst managers were always the ones with the weakest coding ability.

“coding ability” here doesn’t refer only to banging out code, but it also doesn’t mean just CS (computer science) fundamentals. It’s the breadth and depth to understand what is going on around them instead of just forwarding what their manager and peers are telling them.

Christoph Nakazawa

Personally, I think it depends on what the manager is actually managing. I’ve been in teams where the manager is the team lead and gets heavily involved in coding. Other times we have restructured and the manager acts as more of a middle-man between the team and others higher up in the hierarchy. 

Traditionally, over time people want to feel like they are progressing and get promoted. This can often mean that you get so good at your job ie Developer that you then stop doing the job and just manage others. For some reason that gets awarded more money even though being a prolific developer would be more beneficial to the company.

I think having someone technical to explain problems to and resolve them is very beneficial. This can either be fixing a software bug, architectural problem or a network problem. You can definitely get them resolved faster and avoid miscommunications if they actually understand what the problem is and the impact it has. 

“I strongly believe that all managers in a technical area must be technically excellent. Managers in software must write great software or it’s like being a cavalry captain who can’t ride a horse!”

Elon Musk

Here’s some other opinions from the thread:

I always felt that as manager of technical people I had to be astute enough to be credible. As a leader you assist and drive problem solving. But I wasn’t a great engineer myself, I made a better manager. Everyone’s different though.

The ones that know you’re there to do a job and trust you to do that job are the best. The ones that have no idea what *they’re* even doing and attempt to micromanage *you* are the worst.

No, managers need to be good at managing, it’s just a bonus if they are well versed in the craft. They need to be good listeners and build trust. Being an expert coder isn’t gonna help them to make decisions that makes different personalities thrive (we aren’t all the same)

There are people who are very good engineers, but not so good managers. I don’t see how such an engineer can have a manager who is better at engineering than them. I think it’s totally viable to have very strong TLs that are not managers.

My nightmare fuel is working for someone who came to engineering leadership via old school project management. The kind of person who knows everything about deadlines and nothing about why they are unrealistic.

I think there’s a lot of room between “weakest coding ability” and “the best coder on the team”, and managers can be effective in a lot of that space.

In my experience, a kind of bell curve — average enough at coding = terrible enough to think they “get it”, or no real coding ability but appreciation for the technical = the guts to manage and serve technical teams effectively and actually *listen*

Indian Imports

Years ago, we were told that for GDPR (or for some other legal reason), we would always need staff in the UK so we can access data from the production database.

All the staff we hired in India would never be allowed access.

However, my employer once bought a house over the road from the office then allowed Indians to stay there for a few months. So they paid for the flight, Visa, all expenses accommodation to work in the UK for a bit. There was a rumour they could then access production databases but I’m not sure that is true because we have to have a DBS check to ensure we don’t have a criminal record.

Another colleague reckoned we brought them over because if you don’t promise Indians a chance to work in the UK, they will go work for an employer that does offer that. Once they have had their UK trip though, what incentive do they have to stay? Can’t they go work for someone else and get another free holiday?

An annoying aspect of it, is that it was still going on when we were going through a redundancy process, and yet they were trying to assure us the Indians weren’t taking our jobs. I did wonder what the cost was to employ them and pay for their brief UK stay. Kinda seems a hassle to organise as well.

I’m convinced I posted this before, but this was from Colin who shared his screen with an open spreadsheet of people’s wages.

NameRoleRupeesYearly Salary £ 
Prasanth                 
Graduate Trainee 5000004,295.00
Saranya           Software Engineer  6500005,583.50
Hemalatha
Test Engineer6000005,154.00
Vinitha            Junior Software Engineer      7000006,013.00
Vignesh            Software Engineer    10000008,590.00
Padmasri                Junior Software Engineer 6500005,583.50
Hebsi                Software Engineer  140000012,026.00
Shoban             Software Engineer    8000006,872.00

It’s crazy how much money is saved by hiring Indians. They have definitely taken our jobs over the years.

It works on my machine: Top 20 Replies by Programmers

I was watching a tech conference and a woman was detailing her experiences as a software tester. Her presentation was titled “Being a woman in tech“. She was implying that people have been sexist towards her, or at least a clear victim of unconscious bias. The quotes she wrote down were:

  • Are you sure you’re testing this correctly?
  • This doesn’t need testing, there’s no bugs
  • Why is this taking so long?
  • That’s how it’s supposed to work
  • Works fine on my machine

Now, aside from the first one (maybe the third too), those are just generic statements and not any attack on her ability, or anything to do with being a woman. As a man, I have heard other men say those things to me or other men. I often think today’s generation are told they are victims so misinterpret many statements are microaggressions.

If you have any experience with working with developers, then there’s plenty of recurring statements they make as excuses, often they use them intentionally as a classic software development joke.

Sometimes developers say them because they are certain their code was working under all test scenarios they tried. Sometimes it’s just an automatic deflection to defend their pride.

I saw this meme which has many classic ones, some that I have heard in some scenarios, and others I reckon are just included as a joke and no one actually said them. Notice how similar they are to her claims of sexism:

Top 20 Replies by Programmers when their programs don’t work…
  1. That’s weird…
  2. It’s never done that before.
  3. It worked yesterday.
  4. How is that possible?
  5. It must be a hardware problem.
  6. What did you type in wrong to get it to crash?
  7. There has to be something funky in your data.
  8. I haven’t touched that module in weeks!
  9. You must have the wrong version.
  10. It’s just some unlucky coincidence.
  11. I can’t test everything!
  12. THIS can’t be the source of THAT
  13. It works, but it hasn’t been tested.
  14. Somebody must have changed my code.
  15. Did you check for a virus on your system?
  16. Even though it doesn’t work, how does it feel?
  17. You can’t use that version on your system.
  18. Why do you want to do it that way?
  19. Where were you when the program blew up?
  20. It works on my machine.

More Group IT Tales

Rogue PC

I was looking at my asset form and I saw that I had 3 devices assigned to me, 1 laptop and 2 PCs. I only own 1 laptop and 1 PC, so what is this rogue PC? Has it been assigned to me incorrectly? Is it a security risk? Could it be on the network in my name and used by a hacker.

I logged an urgent ticket with our IT department, telling them I do not recognise the device. The device name didn’t seem correct since I could not remote onto it with the usual domain name.

The response I got back from them was:

as per above details this seems to be in working.

 if this is not your systme , pelase let us know for decomissioning?

What sort of question is that? If it isn’t my computer and is someone else’s, why am I in charge of deciding whether to disable it or not? Shouldn’t we work out if one of our employees own this? Could it be that a malicious person has managed to get a PC on the network and assign it to an employee? This could be a major security threat.

Turns out it was my PC, just that the same PC had been entered twice under completely different “Computer Names”. The Head of IT saw my ticket and the response I got and intervened. Surely it should have been easy to see who was signed in. The original technician should have seen I was logged in, and told me more info about the device like the IP address, Make/Model etc so I could confirm.

Can’t Update

Recently, they made a change to remove admin access which is a problem when it comes to installing some software; but that’s their main intention. However, we often get told to update software when there are security updates, but we cannot because we aren’t admin users anymore. It’s a frustrating situation having Group IT on your back telling you to update your software but you cannot because they took admin access away. They should have made sure they can do it remotely before taking your access.

I had switched projects and needed to install some extra software as well as update the couple of Visual Studio versions I have so I logged a ticket.

Sometimes I find that you can install software and then later on realise you needed to install optional components so it was frustrating logging the ticket to do the initial install, knowing I probably need to log another ticket next week.

After speaking to other colleagues, they said they had some kind of admin access override and I needed to request that. All overrides are audited so they can see what you are doing.

I don’t understand how they can say we “can’t have admin access” then it turns out most people in the department do, but it’s inconsistently implemented.

Out of Tune with InTune

As you may have seen in my recent Post, Group IT are now beginning the rollout of InTune Hybrid-Join across our computer estate. This is to ensure we have a consistent view of the security compliance status of our computers. Connecting them all to InTune allows us to benchmark our compliance to determine what work (if any) is needed to improve it.

A week later…

Following on from the below I can confirm that your device has already been successfully Hybrid-Joined into InTune.
This is likely due to your presence at a site where the policy has pulled through from the corporate network or regular use of the VPN in your day-today.
No further action is required on your part.

Couple of days later..

Hello!
Further to the below I can confirm that your device has been successfully imported into InTune.
Apologies in advance if this is repeat information but no further action is required on your part.
Many thanks!

Couple of days later..

Hello!
Following on from the below it looks like your device still hasn’t been imported into InTune.
If you have already followed the below instruction and had it fail, please sit tight – further instructions will follow. You do not need to reply.
If you are still to action the below, please do so ASAP.
Many thanks!

It really sounds like they have no idea if you have been added to the system or not. I think I was added straight away, but I never visited an office like they claimed.

Group IT Windows Update Script

Last year, there was a major Windows Update and Group IT stated it was a big project to update all the employees in the company (around 1500), but they had a script that can run automatically if we left our laptops on out-of-hours and would run at 7pm.

So I left it on, and so no update. Next day, same thing. Next day, same thing.

They posted an update to say what a success the rollout had been so far; 200 computers have been updated. That seems really low to me (13.3% in a month). They then declared there were some known failures but they haven’t bothered looking at why they are happening but they will continue to run the script and won’t contact affected people either. Everyone has to keep leaving their laptops on at 7pm each night.

A few people said they noticed it had failed due to low disk space and I thought that is a great point. If it’s a 5GB update, then they should state people need to ensure there is free space. As it turned out, it seemed like it downloaded 5GB or so, then was copied into a different file format, then installed. So you ended up needing around 15GB, and had to clear the 10GB of files after.

CE+ certification

Quick heads up: we’re making some important changes to boost the security of our systems and get us closer to achieving CE+ certification. Starting tomorrow at 10:00am BST, we’re going to be removing some old .NET software from your computer. 

These are versions that have reached end-of-life and are either critical or high vulnerabilities as reported by Nessus. If you’re using Visual Studio and encounter any issues after the removal, please follow this guide in order to repair your VS installations:  https://learn.microsoft.com/en-us/visualstudio/install/repair-visual-studio?view=vs-2022

 If you notice any other software reliant on .NET has stopped working, please log a ticket with the Group IT Service Desk. Thanks for your understanding and cooperation on this matter.

We have a few products that we make that rely on the older .Net Frameworks. I love how they assume our products are supported and give us 1 day notice. Surely they know exactly what they are removing, they’re so unspecific too; “some old .NET software”. Is it to do with: .NET Framework, Visual Studio, SQL Server?

On the same day, I got added to a chat where they were discussing how upgrading Docker Desktop has broken a tool used by our products. It’s the classic case of just assuming we can update/change things without asking the experts involved.

Anyway, later that day:

Our apologies for the promptness of the previous email, we have made a decision to postpone the scheduled removal of .NET. The decision comes after careful consideration and listening to your valuable feedback and concerns regarding the removal. We understand the importance of providing you with appropriate time to consider the impact this would have on the software you use. The postponement will also afford you the opportunity to inform us of any software currently utilising end-of-life .NET versions, allowing us to address and raise these concerns with Security where applicable. We will be sending out another email next week with comprehensive details on the specific .NET versions that are set to be removed. For now, I can tell you these will be SDK, ASP.NET and CORE versions of .NET and not Framework. Thank you for your understanding and cooperation on this. Should you have any immediate questions or concerns, please do not hesitate to reach out.

Wallpaper

Years ago, we were allowed to change our desktop backgrounds. Some people chose cool artwork and others left it as the default Windows. One day, Group IT decided to change it to our company logo. Many people were outraged by it but I wasn’t bothered. I suppose Matt made a good point here though:

Please can you explain the best practice behind the wallpaper? Unless you do not work all day, you have programs over the top of the wallpaper, so on the rare moment you have to look at your wallpaper: why would we need the company logo? All this is doing is reducing company morale. I would have understood if you had locked down the lock screen image.

I think a sensible rationale is when we worked in the office and could have visitors from other companies. It is more professional. Now we are at home, it is less important.

MFA Policy change – effective today

Good afternoon, as per the Group IT update at the beginning of the month, today we have implemented a planned change which sets all accounts to prompt for MFA each day when accessing Microsoft 365 services. This is in line with many other products and helps improve our overall security.
Some people will have noticed (or may notice as the day progresses) they have been forced to sign out of Outlook or Teams - and may need to restart those (or other) applications to continue.
Existing meetings do not appear to be affected - users will be asked to sign in again once their current meeting ends.

Next week:

Good morning everyone,
As you will know on Thursday we implemented a change to improve our security. Please read the following information carefully to understand what happened as a result, what has happened since, and what to do if you are adversely affected.
The change had the unforeseen side-effect of requiring people to re-authenticate at the point of implementation - between 10 and 10.30 on Thursday. This also meant there would be a requirement to repeat that processes each day at the same time.
Users of Apple Mac laptops may have found themselves signed out of Teams when this happened, even if a meeting was in progress - For Windows Teams users this should not have been the case.
Over the weekend, the policy has been reset, it was re-implemented at 6pm yesterday. We updated the policy setting, to prompt every 23 hours rather than every day.
This means that the following should now be the case:
This morning you should have been asked to re-enter your MFA token
You should not be asked to do this again for another 23 hours
Which should therefore mean - for most - the next time you should be asked to enter your M365 MFA token is when you next sign in for work.
There is an added annoyance on the company phones as it requires your 16 character MS password prior to reauthenticating using the MFA code
I'm having to password and MFA on Outlook and Teams on my company mobile separately.
Is this the way now

Signing into Teams each day appears to take a lot longer than signing into other apps. The ‘One moment…’ dialog is on my screen for around half a minute and it takes another minute or two for Teams to fully load all new messages into it.

Wondering if it’s the same for others, is it expected to take this long?

Annoyed colleague, stating how these apps aren’t even designed for repeated sign-ins

Then a week later, it was fully reverted: 

A further update to the MFA policy

On Saturday, the MFA policy was updated again. The frequency with which you should be prompted has been extended to 30 days.
This means, that anyone who authenticated prior to Saturday at 6pm, should not be prompted for 30 days from that date and time.
Anyone who authenticated this morning should not be prompted for 30 days from that time.
We hope this provides an effective balance of security and functionality.

I think AzureDevops always asked us to sign in daily, but after this new change to make things more secure, it was changed to 30 days. So was actually less secure and was probably unintentionally changed as a blanket policy.

Conclusion

I think these stories illustrate a point that you need to consult with the experts and understand the impact of your changes before declaring them. Having to revert policies that obviously would have a negative impact just makes the team look foolish. You also need a good balance between people being able to do their work effectively, and keeping systems safe and secure.

XKCD Password advice is great but let’s not use it

We’ve mainly had the usual password restrictions of having to have a capital letter, a number and a symbol in our passwords, but recently, some of the posts by IT have referenced the classic XKCD comic on passwords. xkcd: Password Strength

XKCD illustrates the point that if you have fewer characters and require symbols and numbers, then you are either gonna just put them at the end or use simple substitution like swapping a “o” for a “0”. Then it can be hard to remember, but a password is no good if you cannot remember it. So they reckon the best thing is to use a memorable combination of words without numbers or symbols; and the combination of words makes it a long password that is hard to crack.

However, despite referencing XKCD, our IT still force the old ideas into it; so bastardising their advice:

20 characters sounds like a lot to remember for a password, so the best method to use is the “4 Words” method. Choose 4 random words (not your kids’ names), add a year (not your birth year), and put a symbol in there somewhere. This gives us something like:
Bird%CardPortBook3925

IT

Then they make the claim it’s easy to remember.

Hard to type passwords, combined with having a strict timeout on our laptops when we work at home quickly becomes infuriating:

“Anyone else need a time card for logging back into laptop 50 times a day with a new 16 digit sign in password?
Seriously, why is the fingerprint & facial recognition login disabled on the laptops, or is the way to change the autosleep setting to more than 10 mins”

Angry Colleague

Aside from our password to log into our laptops, IT do recommend using a Password Manager and using that to generate and store passwords. That is common advice from modern security professionals so they definitely have at least partly understood best and modernised practices.

When I downloaded Keeper to use at work, I chose a master password and it showed:

Password Strength: Strong
<click next>
"Password must contain 1 digit"

Those restrictions also don’t make a great password. You can often set an incredibly bad password on many websites. For example:
P@ssw0rd
This will pass many password complexity criteria (uppercase, lowercase, number, non-alphanumeric character, 8 chars long) but is clearly terrible.

There’s this website that catalogues poor password rules:
https://dumbpasswordrules.com/sites/

We used to recommend LastPass and despite some security incidents at LastPass, there was a time where IT still would approve LastPass. I think it was the usual terrible slow process in procurement so we couldn’t switch over to Keeper at that time. One colleague made this interesting claim:

“Not sure how LastPass can be recommended when there are alternatives that haven’t been breached ever, but LastPass has on more than one occasion. They’ve been breached before, they can’t be trusted anymore.”

Doubtful colleague

How does he know for sure they haven’t been breached? A breach could have happened and it’s not publicly known. A breach could be happening right now.

Employee Profiles: Zack

I’ve often said that my employer is reluctant to sack people even if they are bad. We once wanted to hire some experienced software testers to bring new ideas into the testing team since most of ours were internally trained. One of the new hires, Zack, was recommended by another employee, and a manager reckoned we hired Zack only to appease that employee, but then that guy quickly left anyway; leaving us with Zack.

Zack seemed reluctant to do any work, learn anything, and would often not really listen but repeatedly say “yeah, yeah, alright” when you were talking to him. It was irritating because it would interrupt you whilst you were speaking but also not give you any indication if he understood it at all. 

What annoyed me is that sometimes he would ask for help, then go ask someone else without attempting to do what you said. Did he not understand or was he just procrastinating and wasting your time whilst doing it?

Blagging

He loved blagging his daily standup updates, because he had done nothing but had to say something.

From probable lies: “There was no power to my PC this morning, so I had to sort that out.

Saying a few words to blag: “I’ve been doing a bit of admin, and some other things I don’t remember

To definite lies: “Helped get Jim up and running” (I think that is a bit exaggerated, he just watched while I helped him)

Or a bit of humour to deflect: “In Nerd Heaven, looking at XML code

 Procrastinating

There was one time Zack asked me which test organisation he could test a feature on, and he said he was gonna use my user account. I told him to create a new user since there isn’t any extra config he needs. The next day, I got in at 8:45 and he told me he couldn’t find my user on that organisation. He gets in at 8. Instead of creating a new user, he just sat there for 45 mins. So I told him to create a new user, and he walks over to Jim and asks him what his password is. Why can’t he just create a new user? Is he trying to avoid his name from being shown in the error logs or something?

Zack 13:06:
Hi. Do you know anything about filing external messages?
Me 13:06:
You need Messenger set up, and the Messenger Forwarder Tool to send them in
Zack 13:08:
OK, I'll see what I can find out about that. Jim sent me a link to a wiki or two that I haven't read yet

So he had the answer, but decided to ask others again.

I loved that time when Zack was trying to palm some work off to anyone that would take it. Zack says to Josh “So who is responsible for this?” and Josh shot him down “As Senior Testers; we are, Zack

Me 16:09:
we have just been laughing about Zack
he got told to test an item. He spoke to Paul, spoke to me, spoke to Sanjay, spoke to Jim, then sent an email to everyone summarising our conversations
Mel comes over and says "who is testing it?"
turns out, it is Jim
Dean 16:10:
so they both had the same WI assigned?
Me 16:12:
well in fact, I think Paul wanted Zack to test it but since he isn't confident, he said Jim can assist but neither of them seemed to understand they were supposed to work together.
The item doesn't have testing details, wasn't assigned to Jim, and Zack even asked Jim how to test it and he didn't even think he was on about the same item

The Longest Work

There was one time we made some risky changes to a feature so we advised fully regression testing it, alongside some specific tests. Zack ended up testing for a month. 109 hours on his timesheet. One day, as Zack was leaving he jestingly said :

“Don’t do anything I wouldn’t”

Zak

So I said to Sanjay

“Shall we mark his item as “Completed”?”

you won’t hear a better joke this week

James: “Are there any IRP experts?”

“Zack, he has spent 3 lifetimes on it”

Senior Developer

Yeah, Yeah, Yeahs

The frequency that Zack said “right, yeah” etc was insane. Sometimes I’d type it out as Zack said it to joke with team member Sanjay. 

Me 09:58:
right, yeah, okay, right, right
Me 11:36:
Jim gatecrashing their meeting
Sanjay 11:37:
Jim is a legend
Me 11:37:
you should do it next, just walk up going "yeah, yeah, yeah, er yeah right"
Sanjay 11:44:
ha
Me 11:46:
yeah, yeah, um, yeah
Sanjay 11:52:
you basket
Me 15:43:
oh yeah, yeah, right
Sanjay 15:44:
you're a basket
Me 15:45:
our conversation history is just
oh yeah, yeah, right
you're a basket
that's what we have become
Sanjay 16:54:
oh yeah yeah
 Me 10:04:
We asked Zack a few times if the Test Environment was patched with the new changes and he was just like "yeah, yeah, yeah"
ended up checking myself and it hadn't been
Sanjay 10:05:
I told him yesterday it was not patched

“anything that isn’t abnormal is normal”

Chris

“ah right”

Zack

Bedding into a new team

The merging

A few years ago, some team members had been moved onto other projects and we were left with two developers and one tester. I led the team, and it was a tough project which ended up getting delayed. The result was that some managers saw the delay as a failure, and others interpreted that we did a great job against adversity.

As the project reached its conclusion, our team merged with a team that managers claimed was one of the most successful teams. Additionally, my manager switched from Colin to Mary.

Mary said the initial plan was to merge the two teams, then we were adding 3 new developers, so the plan was to then split the team into 2 because it was too big. The other developer that I led actually moved to a different team.

Doesn’t really make any sense does it? May as well have added a couple of developers to my original team.

Mary criticised my leadership and made out that my team was a disorganised mess. Technically, Colin was the Technical Manager so was the equivalent of Mary’s role in this new team. I was the development Team Lead but I didn’t think I actually had responsibilities. I kinda think things just organise themselves really. I like a laid-back culture but would voice my concerns if I felt it wasn’t working.

I was actually looking forward to seeing how organised and productive their team was. I was good friends with a couple of their team members already and they always seemed to boast how productive they were, getting plaudist from external managers.

The first week

On the first standup, Dennis talks about a problem he was having for over 5 mins. I was thinking I would have interjected and asked to discuss at the end. In my previous team, I didn’t mind people talking off-topic because it was pretty much the only time you hear people talk. But at a certain point, I’d flag it and request we organise a separate meeting with anyone that is interested, leaving the other team members to go off and do work; which is even more important in a larger team. This team had a member assigned as “Scrum Master” and that’s his job to guide these meetings.

In one of the standups we were asked to estimate one of the items. Standups are for progress updates, not planning. Why are we planning mid-sprint?

Also during this Sprint, I saw that the team was working on items not assigned to the Sprint, and left unpointed (not estimated). Then when they do officially bring it in, they bring it in with fewer points because they estimate the remaining work; and ignore the investigation/prototyping work they had just done. So what happens to tracking their actual effort? They will be lowering their velocity working that way.

There’s another type of work item called “Spike” which is an investigation item. So if you know you have a requirement but have no idea how to implement it, then you can do some design/planning to make it clearer to estimate the actual item. This team was creating Spikes when they can’t recreate bugs and so I asked them what the idea was. The way I see it, instead of basically marking the item as blocked, you are creating another item to say it is blocked and then removing this new item when it is unblocked. The Scrum Master said he has no idea where the idea came from, couldn’t remember how long they have been doing it, but everyone has been following this process without questioning it. Weird.

Meeting Chaos

I got told to go into their shared Team calendar and add all the meetings into my personal calendar. It turned out they had multiple invites for the same meetings so it was easy to miss them. So instead of one meeting that recurs daily, they had 2 fortnightly meetings for Monday and Friday then another meeting which recurred weekly Tuesday/Wednesday/Thursday. So 5 meeting invites in total just for the stand-ups; then invites for a few other types of meeting. I ended up initially missing a Stand-up meeting when it wasn’t in my calendar which Mary made out was my mistake. The invites were also set to show the reminder at 15 mins before which I find really annoying. I like 5 minutes or just alert on start. So I had to then go through all the invites and change the timing.

Not the amazing organised process we were promised

With Mary micromanaging and boasting of her ability, and with a dedicated Scrum Master, you think every aspect would run smoothly and processes would be perfectly followed. I didn’t think I’d hear/read statements like this:

“it’s tested, it just needs a test case writing for it”

Tester
Dennis: "Did you log the bug we found"
Tester: "no mate"

How are we supposed to check the bug is on an older version when the test environments are all on the current version and the API often doesn’t work? This is ridiculous. Absolutely ridiculous. It shouldn’t be like this. We’ve never had this before

Mary

Stubborn Management

When it comes to code reviews, we have a rule that it needs to be approved by 2 people that weren’t involved in the work. We needed Dean to help fix a few of the remaining bugs since we were running behind schedule, but Mary blocked it.

“you can’t help because we need you to do the approval”

Mary

Ok, we need people to review, but he could have reviewed what the other team member’s wrote, and we can review his parts. It’s not a big problem. Also what is worse? Finishing on time but it’s not reviewed, or finishing late but it is reviewed? You have to be pragmatic.

During integration testing, shortly before release, I found another bug. Mary and the Product Owner decided they wanted to keep it secret from Software Delivery. Mary tried to blag it to us that: because the bug hadn’t been directly found from a test case; then it can be released. She was then insistent we release the software as is, and fix known bugs later. I thought it was technically unsafe to do so.

NO Mary. That’s not only not how it works, but I did find it directly from a test case, so you have just mugged yourself off.

my thoughts

why is she doing this? it just reflects badly on the company. her job ain’t to ensure a deadline

my old team member

“I’m not comfortable putting our feature out like this…we are removing items just to get something out on time. Is this even legal?”

Tester

It just seems like they are clutching at straws and giving any kind of justification to not fix it. It also sounded like they have beef with the lead of Software Delivery so are avoiding talking to him.

Implied Disrespect

For the remaining bugs on my project there were clear “easy” and “hard” tasks. Mary explicitly told me to do the easy ones and Dennis to do the hard ones. We are on the same level, just that she is chummy with Dennis and doesn’t seem to trust me.

When it came to hiring these new developers, she said she chose them simply based on how much they talked because she didn’t want people that don’t talk in her team. Which I felt was a dig at me. I tend to hate smalltalk and struggle to talk to people I don’t feel comfortable with. Not that I dislike certain people, but I think there’s certain people that I tend to instantly connect with and feel myself, whereas others I find more intimidating and it takes me a while to open up. I can talk a lot at that point but sometimes people’s first impressions are that I am too shy.

When it came to the inductions, the Product Owner, Tech Lead and Scrum Master were all assigned to the “Welcome Meeting”. Dennis was assigned the “Ways Of Working” meeting, then Tech Lead, Scrum master and Dennis were assigned as Technical Mentors. Me and my tester who had joined the team weren’t assigned to anything. You could argue we hadn’t fully integrated into the team but we knew the process and weren’t new to the company. We felt disrespected there, like we weren’t official members of the team.

Complains about autonomy 

During testing some of the remaining items, a bug was found, and I took the initiative and fixed it.

“we can’t keep working like this. You can’t keep finding bugs and fixing them”

Mary

She had berated us for not having many unit tests but that actually allowed us to work faster. She complains that I have made the decision to fix a newly discovered bug without consulting, but that also got it fixed faster. Then she was “really disappointed” that we had missed the deadline. It would have been worse if I hadn’t made these decisions.

However, the next day:

“Thanks both, efforts haven’t gone unnoticed with all this, I just feel bad for you guys it’s got so manic for so long”.

Mary

Performance Review

“You’ve got the ability to not be quiet”

Mary

In my end of year performance review, Mary says she has noticed an improvement since I joined the team. I think this is just coincidence and confirmation bias. I think she wanted to “manage” me and see an improvement; so that’s what she thought she saw. I was actually demotivated due to all the disrespect and had actually been taking longer breaks and finishing early.

Mary also told me that Colin told her what I said about her during the handover period. Colin is an absolute backstabber. What happened to talking to managers in confidence?

What I said to Colin is that Mary seems to try and micromanage. Constantly asking for updates, telling you to pick up tasks that you know you have on your To Do list. It’s like she doesn’t trust you to be autonomous, and then can claim credit for success because she has been controlling it the entire time – even if it would have had the same outcome if people were just left to manage themselves.

She also mentioned the tester had complained that I hadn’t had a call with him when he asked. I wanted to have a call but he was on a call for what seemed like hours. Then when he was free, I was busy so I missed the call again.

I actually thought she was rather positive and very friendly during the review; a change in mood that remained.

Closing Thoughts

It was a weird initial few months with that team. The hype of them being organised and productive didn’t seem to be true. Then I felt like I wasn’t welcome even though I was good friends with the main developers of the team, and had actually worked with the tester previously and got on with him.

I must have caught them at a bad time, because after the current projects were released, I didn’t notice much erratic behaviour from anyone, and Mary was never problematic again. What seemed like a nightmare quickly resolved itself and I have actually really enjoyed working with the team over the last couple of years. I suppose it could have been helped by the fact that Mary did take 1 year maternity leave and then we worked more autonomously. Maybe shows that these manager roles aren’t actually needed.

Spam Emails

Many years ago there was a period of a few months where we used to get a certain style of spam email daily.

Although it seemed to get to our email inbox (so got past any spam filter we had), they often didn’t seem to have any suspicious link or obvious element of scam.

After a few months, Group IT managed to successfully filter them out. 

Here are a couple of examples I still had in my Inbox.

Title: Benjamin Cory Elementary School billboard.

Segesta became a marked enemy of Sicilian Greeks, and Selinus attacked and defeated Segesta in 411 BC. This source mentioned of Majapahit expansions has marked the greatest extent of Majapahit empire.
Although the weather was good, the jet was operating under simulated blackout conditions. Listen to local ABC Radio for emergency updates.
Tallinn and 6 km near Mao. Routes 20A and 246.
UFOs had an objective physical reality, let alone to confirm their origins or motives. HeM as HoM and HeW. The town has a population of 1,193.

Title: Caulker playing for Swansea.

Helen Carter on bass guitar and Stephen Philip on guitar. He went on to set records for distance swimming into the 1920s.
Destiny Mission to Mars. He was later reprimanded by the Secretary of the Navy for verbally abusing a fellow officer who testified in the matter.
Connecticut, although they were on the rebound by that point, in part due to state regulations to protect them. Barry Reder, The Obligation of a Director of a Delaware Corporation to Act as an Auctioneer, 44 Bus.
Aviation, both are now stored. Windsor was an important British stronghold. His books have been translated into a number of languages.

We did occasionally get ones with links but targeting a group mailbox didn’t make much sense in context: 

hello controlledrollout!
I remember you asked me how I lost weight so quickly?
answer is here