--- layout: post title: About Agile tags: [ development ] published: true --- I've been invited to give a speedtalk at [AgilePT](http://2012.agilept.org) this year. I'll be covering the adoption of the Agile principles in Rails in June 23rd. I'll be around for those days so if you wanna talk to me there, [shoot me an email](mailto:jose@josemota.net?subject=AgilePT)! The thing for trying to smite someone on wasted opinion just for the kicks can be fragile sometimes, especially when it can be so controversial. Arguing about wether Agile is a good philosophy or not can't be benefitial. I embrace Agile for its manifesto and one's professionalism shouldn't be intimately associated with Agile practices. Trying to smite Agile down by showcasing bad practitioners is poor lack of judgement. People have been successful with the «waterfall» model for a long time. But its time is over based on the sole holistic fact that people in general are allowed to change their minds so easily and frivolously. The human brain processes information every square root of the time. What could have been learned in 150 years takes only 12 years the next time; and that was more than 150 years ago. We are allowed to acknowledge and provoke change, That's called _human nature_. Agile follows nature -------------------- As of 2012, people want to be engaged, fast. Software deployment and maintenance is of the essence. As a software developer I can't afford to write a one year contract without realizing I'll be filled with requirement changes. There's no point in designing an app in a certain way for an entire year. There's just too much uncertainty to handle, both for me and the client. That's not being unprofessional, rather it's being cautious and respectful. I believe in the present, it's filled with people willing to collaborate and be engaged with the developers. I can't grab the uncertain future and I will certainly regret the day I set my client up with a predictability that won't exist. I have the responsability of being honest and professional. Clients ought to be considered partners rather than money throwing trolls; you will gain their trust and respect. What's with Agile? ------------------ * «Individuals and interactions» — I read _understanding, respect and honesty_. * «Customer collaboration» — Stay with your client. Let him follow the process. * «Working software» — I read _keep it easy, don't build what you don't have_. * «Response to change» — Be professional and predict change keypoints. I realize it's rather difficult to keep it easy and predict change keypoints at the same time. But there are two different things such as _simple_ and _easy_. Learning your craft as a software developer is crucial to being able to judge your design decisions for a certain project. It's my turn to learn how to develop software well. I believe in the manifesto and the way it empowers people to reach partners and work together. I'd rather be told I'm not doing a good job than telling me that the Agile methodology is evil; it does not apply more than development than it applies to management. **Upright responsability alone is key to success, Agile itself supports today's reality of constant change.**