Monday, 7 July 2014

Agile manifesto

The agile manifesto, one of the best improvements in software development, made up by some of the smartest people in the planet and probably misunderstood by the rest. What is it the writers of the manifesto want to tell us? Visit the page and see for yourself.

The most important rule is not one of the four they present, it's the on above that: "We are uncovering better ways of developing software by doing it and helping others do it". That is the manifesto, the four lines presented are the guidelines to support this question. Now it looks no more like a way to work, but like a quest. It is in fact my life's quest and it should be yours too. You are a software developer, are you not? You are seeking ways to develop better software in less time with a better delivery rate then ever before? Then start making it happen!

Let's have a look at the guidelines and think about it for a moment;
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan


Repeat;


OK, so we value people more then processes and tools. What is scrum? Correct, a process. Then why are scrum masters always try to make the method leading over the developers? First mistake almost all people make. The people in the team and the people surrounding the team are most important. Relations, making friends, talk, have fun, achieve a common goal. 

We have to get our achievements and finish our stories, a better word might be quests; a nice analogy to any mmorpg. In an mmorpg people need to work together to defeat monsters and be victorious. In a development team nothing is more precious then to be victorious. We want to deliver software, not only working software, but good working software, software of good quality. That is our goal, we are no story writers, we are the players, let the dungeon master decide our faith. We are going to defeat the boss, to finish the game, to win. We make working software. We are the programming motherfuckers that deliver working software. Nothing is mandatory, no lessons there. It should work. Point.


What do they mean with customer collaboration. Thats a good one, the customer pays us in the end. We need to make what they want, but we do it as we seem fit. We make it work. Customers have strange ideas, we help them channel their ideas, turn them, crack their minds. They do the thinking, we do the building. They specify what they need, vagueness is not allowed. We don't want to negotiate every change, we need approval, we need little building blocks. We are the masters of lego. We need to gain trust, make friends and work together.

How do software developers respond to change? Bad, I can tell you. Bad, if they are not accustomed to it. One rule we need to implement fast as a scrum master is that change is normal. No changes make the system rigid and it will freeze solid, killing any agile development method. Agile, flexible and pragmatic are the key words here. A sprint in scrum is holy. Everything around it is not. Team composition, work flow, hours, colleges, even the product owner will change during the project. Not once, count on multiple changes on that side of the project. Visions change, requirements change. Everything will change, always. So the plan is to follow changes.

In my humble opinion the main question is not even closely answered by the four rules in the manifesto. It's all about the first part of the question. The second part is evenly so important. It's about helping others. Do we have any clue who the others are? Only the developers? Ow, yes it should include developers, we need to share knowledge with our comrades. Do they mean other people as well? I do think so. We are capable of creating new things, invent new ways to do something. We should involve people in the process, make them understand and learn. We make everyone better in helping them. We help them think about their problems, we even interview them if we need information. We don't wait till they tell us what they want, because other people don't know they live in another universe. We do, we know everybody has their own universe of thought, has their own guidelines and achievements. We are  the people that know. We should help others, talk to them, understand their needs, build stuff to make their lives easier. We don't need spotlights, we just want to make other people feel happy, then we are happy.

Software developers are constantly improving on helping other people with their problems, and we like it!

No comments:

Post a Comment