Why Management does not work on Agile?

Today everybody talks about agile, yeah agile is mainstream. Agile become "Management", scrum is better than waterfall but things are not working as they should.

I`m not staying you not need management. As you grown into a complex structure you will need coordination, costs control, and management is need as you get something bigger and complex.

But in order to get it right you need realize when and where you fit management. People talk a lot about scaling agile and i think is funny so little is about engineering. People talk about multiples teams, multiple Product owners, multiple work streams, multiple timezones and cultures but where is the engineering? Deming(The Big mind behind Lean) talk a lot about psychology and the ability to understand systems and they nature.  Go Google you will lots of things talking about teams and so little talking about stuff like: Culture, Engineering practices, software architecture(real one, not power points) and principles.

Why Management is not working?

You can only manage what works, if it dont work how could you manage it? How could you manage what you dont understand!? RUP in the past talked a lot about "Vision" thats something very important. If you dont understand it how can you fix it or improve it!?

We need management for complex things but management need came later, after leadership and great engineering practices. Software architecture and design are key elements or enablers of developers / features / users scalability.

Agile Engineering is almost dead, how many posts do we see around it!? How many people are talking about it, well the most successful company's are doing this, and i see lots of good samples like: Netflix and Spottily.

Why do we still have spaghetti for dinner?

Spaghetti code / design / architecture happens because the lack of the right practices like: Code Review, Design Sessions, Design Reviews, Coding Dojos, Proper Retrospectives and lack of right technical leadership.  If you keep not doing this things it will become a habit and belive me bad habits are hard to fix, you need change bad habits with good habits.

How to introduce right development habits? Strong vision and fanatic disciplined leadership with engineering practices make they happen every day, systematical, over time, over and over.

Why I dont like what happens with "Technical Debts"?

The idea behind technical debts is brilliant and is a great metaphor the problem is the fact that: Why should you care about your others debts? right? You will only care if is your debits. So if my friend have debits why should i care? IT department often hold the business down but business also try to be "clear" and never pay technical debts and this make they go slower not fast but since they dont see the debts as their debts they wont pay it. I like the idea of not separate the tech debits from the business stories because that dont give options for the business to decide "not pay the debits".

So basically should management be doing this stuff? No they should not, this is a technical fault because why should a manager do a design session, right? At some point all the code and the system become an Alien system. Nobody knows from where thing come and where they will go, people just know is that way and keep going on that same direction.

Systematic fault also called Cancer

So nobody cares about technical debts, they are not being payed, no proper review meetings and proper retrospectives to fix the product and the process, so nobody study new technology and techniques... At some point people just get demotivated and start quitting and one thing leaves to another and this become very spread and bad, so its hard to get fixed. But it can get fixed.

In order to get this right you need do systematical fixes, in process, in people, in leadership and in engendering culture and practices, you need make sue people are learning and improving stuff, that takes time but direction is more important than speed, you can do it.

Everything can be fixed, you just need patience and time, keep doing the right things. Small is better than big because is easier to fix but start one small step and keep going, you can go very slow if you go right it does not matter one day you will change the world :-)


Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java