Posts Tagged ‘manifesto’

The Agile manifesto, 10 years later

Monday, February 21st, 2011

If you’re following twitter or reading some blog RSS feeds, you’ve probably noticed the Agile Manifesto had a little birthday party, it became 10.

The question is however, is there still a reason to celebrate? ….Yes and No.

Yes, because the Agile Movement that was started by a few anarchists made it to the de facto standard in software development country. A major part in our business says they are doing it, are adopting it or are considering the big jump towards it.

No, because everyone is doing it, is adopting it or is considering to make the big jump. Uhm, isn’t that a paradox? Nope. Reading the same RSS feeds and tweets, one can feel the pain of the anarchists of ten years ago when they look at what happened with their Agile Movement. Reading this article of ten years ago again, you might understand why. As it is well explained in this blog by William Pietri a lot of the agilists out there have missed the point completely. The industry picked up the Agile idea and before knowing well what it is all about, the Agile word became the next buzz word on the block, resulting in being a victim of its own popularity.

Then the Craftsmanship movement came along to act as a counterweight against the failing agilists. Again, the ideas of the movement are rock solid and to the point, finger pointing the spots where the want-to-be-agilists fail. But again, the danger to be adopted by the mass industry lies behind every corner. How could one be against doing the best you can day after day? How could one advocate not to test as much as possible? How could one say not trying to involve his client as much in the project to achieve the best productivity and product value as possible?

My point is, once marketing and the money will discover it, it will be doomed as well. Unless, unless the craftsmanship movement can keep its anarchistic nature. Unless it can stay underground and irritate the would-be-agilists, reminding them what is all about day after day. Asking them constantly why we have a failing build for 25 days in a row. Why our scrum board is full of clutter and why it takes all this time to manage it? Why the documentation is so scarce? Why we are pairing day after day, even for the simplest tasks (because XP says you have to ?) Why the stand up meetings take more than a few minutes? Why the code quality is so poor and nobody is seeing it? Why you have no metrics telling you the quality of your code? Why retrospectives feel like meetings you have to attend because you have to, but whatever the resulting actions are, nothing is going to change? Why is one developing on the worst possible machines out there and that are even more ruined by security rules and virus scanners so one is looking at the damn hourglass pointer for the major part of his days? Why is the client not more involved? Oh, he is.. right, a lot of people are involved analyzing the stuff we have to develop. But how about returning their stuff back to sender when it’s crap and getting the developers involved as soon as possible. And please skip the shitty unprepared meetings resulting in more questions than before! And what about the communication gap? Why does the team not feel like a team?? Why do we need a complete sidetrack team to reorganize our code in a different architecture – will it improve quality / development time (interesting article)?

Is all that being Agile ?

These are only a few questions that come to my mind when I think of some projects I worked/I’m working on. But being a true professional, maybe I shouldn’t be writing this. It’s easy to find out what projects/firms I’m talking about. But maybe, being that same professional, I should be writing this. Maybe it starts the discussion again. I don’t mind being wrong and having to admit so, as long it keeps everybody sharp.
I just can’t live with the idea working for a company that claims to be one of those ultra agilists around in my country, while they simply are not. To be fair, they come closer than the most out there, but unfortunately, no cigar.

And to finish this post, an interesting thought: my first project, which had waterfall project management written all over the place, just might have been more agile than the project I’m doing right now.

A must read: Clean Code by Robert C. Martin

Tuesday, December 8th, 2009
Clean Code

Clean Code by Robert C. Martin

After visiting Devoxx a few weeks ago, I bought myself Uncle Bob’s new book ‘Clean Code‘. And I recommend it to everyone who’s involved into software development.

In the first place the developers, so that they would finally know the ‘what’ and understand the ‘why’ about a lot of things that they should do everyday. And please folks, do not skip any pages. Read it from the introduction till the last page. You should study it, test your own handling during the day against it. Reflect upon it. After a few weeks the book should be worn out and the handling in your fingers.

Managers also, please read the book. You might not have to study it as thoroughly, but you will learn why we stupid developers can be so stupid. You will also learn why we say no sometimes and you’ll appreciate us for doing so. You’ll understand better what is so time consuming when you ask a new feature and you might even give us time to clean up the crap one of our predecessors wrote (given the fact we studied the book – and we understood it all -, we promise we won’t write crap anymore).

The reason why I am so fond of this book, is that there finally is a base to start with. Something you can give a starter coming from school, or better, that can be taught in schools and universities. There is no longer any excuse to be (or act) ignorant. Also, I feel finally supported in my daily battle against crappy code. I see it everyday and everyday I’m advocating the same basic stuff and nobody listens (I know.. that can have other reasons as well..), but now it’s in the book.

Finally, the book is written in the spirit of the craftsmanship manifesto. Something everyone involved in software engineering should care about. And if you’re not, do the brave ones a favor and please quit. ‘Cause you make us look like idiots.

So, please, read it and act accordingly.

Yes, I am begging you.

Devoxx: day 4

Friday, November 20th, 2009

Day 4, second day of the conference days. Again we started with a keynote from which I missed the first 2 speakers due some traffic jam. Luckily, I was just in time to see Robert C. Martin, maybe better known as ‘uncle Bob’. And he was good. Really good. Apart from the message he brought, he’s one of those speakers that get your attention from the first till the last moment. And I really liked what he had to say: professialism. Are we professionals? No we are not. Maybe some of us try to be one, but the majority is not. Something I’ve been saying myself for some time now. I even didn’t know there is a new manifesto out there for a while. So I feel good I am no longer alone in my queste :) It all starts at the education.. lets be honest, they are insufficient. OK, when I graduated from university, I perfectly knew how a computer works, I had a basic understanding of OO development and somewhere along I heard something about patterns. But that was merely it. So what happens, we are thrown in the field, start to do our thing, some of us are lucky and get a good mentor from who they can learn a lot, some get a bad one, some get none at all. So we end up all doing the same thing doing differently. So how professional is that? I should write a dedicated post about this one time..

But lets continue with Devoxx. Spring 3 was announced by Poutsma. Basically they added REST support (I guess almost like it is defined in the JSR) and added an API for configuring your application context (next to XML and Annotations). And that’s about it. So I was a bit dissappointed as I expect a bit more for a 3.0 release, but on the other hand, I don’t want Spring to get much bigger than it is now. It has to remain light. To me this is more a 2.6, but what’s in the name anyway. It’s marketing afterall..

After lunch break, Room 5 got completely full for Perfomance Tuning by Kirk Pepperdine and Dan Hardiker. And it was a bit of a disappointment. Sorry folks. They showed us JMeter, JPS and VisualVM. Nothing new. But maybe we expected too much as we don’t like to debug performance issues and maybe we expected something like a golden bullet. Anyway, up to the next session.

And there was the JavaPosse live show. Good entertainment in a Java context was exactly what I needed to give my brain some rest. It’s amazing how one gets tired just by sitting and listening to all this Java goodness :)

I continued with Dick Wall (from JavaPosse) about funky Java and OO Scala. It was about some handy Java frameworks like Google Collections and Lombok. Together with the JDK 7 closures, code could become much nicer to write and read. He didn’t tell that much about Scala, but I concluded again that I have to get a look into it. It’s powerfull, very expressive !

Jason van Zyl ended my day with the presentation of maven 3.0. It was quite a boring presentation, but what I remember from it, they did a complete rewrite of the core. They start now by making an execution plan first after reading all the pom files and when OSGI stuff is detected, they can switch internally to a OSGI context. They expect to release 3.0 around january and now they are adapting Nexus and Hudson.

So that was day 4. One more half day to go..