The Cycle of Repetition. The Secret Developer’s Take on Agile Challenges

The Secret Developer isn’t the perfect software developer no matter what they think. That’s partly because writing code is only a small aspect of the job and working with your team to deliver results makes up most of what we do.

This article is about one of The Secret Developer’s big complaints. 

“This is about the idea that development teams just aren’t thinking ahead. The lack of foresight gets me down.

Software developers aren’t thinking about the impact of their work.

You know, it should be part of our job. It is a good thing to think ahead and make our future work easier. 

Ironically, I find myself in the same loop as my peers. I’ve fallen into a pitfall of repetition and not learning from the cycle. It might sound contradictory so let me dive deeper into this conundrum.”

The Situation

“As I sit here, I’m looking at my work machine and refreshing the page. 

Our team cannot merge any pull requests because the pipeline has been broken since Wednesday (and today is Friday). I’ve 5 reviewed requests waiting to go in.

My conclusion is that I shouldn’t be working this way.

I certainly don’t want to sit not working. I do what conscientious people might do. I try and do more work. I do this every time and I get trouble for doing so.”

Why I’m an idiot

Factor in Changing Requirements

“Our team is less than professional. That means we often change requirements mid-flight in a way that changes the scope of tickets while it’s being worked on. Which is a little bit too Agile for me.

Anyhow I roll with the punches. I commit my work and break it up into small PRs. I then change to the updated requirements near the completion of the ticket.

I then move on to the next ticket which may or may not have the requirements I need to deliver it successfully.”

We should note that this sort of behavior isn’t suitable for Agile working. The Secret Developer knows this, so it is unclear why they are complaining about the repercussions of their own decision.

Chickens Come Home To Roost

The Secret Developer seems to be paving their own path to failure. Feel free to laugh (in the comments) about the ineptitude of this.

“I feel ashamed about my own behavior. I think it comes from being a conscientious type.

When I have some spare time, I usually pull in a new ticket and not even tell my colleagues in case they take the work away. When it has issues because the requirements are not set, I take the defect on the chin. Up until a month or two ago when I got a talking to for the number of defects I’ve been creating.”

Please Stop, The Secret Developer

The overall advice for The Secret Developer is to stop (please, stop). It doesn’t make sense in an Agile environment and what is worse is The Secret Developer even seems aware of this.

“Thinking ahead is essentially a contradiction to an Agile approach. It emphasizes flexibility and responsiveness to change and working sprints ahead goes against this. It simply does not make sense to be working ahead of a sprint, the work should be within the Sprint and you should give your all, doing the work in that Sprint.

Is that summation overly negative?”

An Agile Approach?

Agile activities like product backlog grooming, sprint planning, and release planning all involve a level of foresight and strategic thinking so thinking ahead isn’t actually contradictory to the Agile principles. 

The key distinction is that while Agile welcomes changes and adapts to them, it doesn’t advocate for flying blind or working without any forward-thinking. Instead, Agile emphasizes creating value in the present while being prepared to adjust plans for the future based on continuous feedback and changing circumstances.

“Thanks for clarifying. Agile is a yawn though?”

Lessons Learned

The Secret Developer does occasionally learn something that is not code. Here are their learnings:

  • Don’t be a maverick and do whatever you like. Work in the team

  • Don’t introduce defects to the testing team. You’ll (rightly) get called out for it

  • Be a nice team player. Software development is a team sport

“I didn’t actually learn any of these things.”

Conclusion

“I’m an inconsiderate software developer who does not work well as part of the team.

You knew that already, didn’t you? 

Thx bye.”

Previous
Previous

This Dev Candidate Red Flag is Nonsense

Next
Next

Stand-Up Meetings Are Status Meetings. This Needs to Change