If you are a startup company or you are looking to build a global team across the continents for your product but you don’t want to end up with a mess you need Agile Development.
Agile methodologies generally promote: A project management process that encourages frequent inspection and adaptation; a leadership philosophy that encourages team work, self-organization and accountability; a set of engineering best practices that allow for rapid delivery of high-quality software; and a business approach that aligns development with customer needs and company goals.
There are various questions which comes to mind when you try to implement Agile methodology. I have tried to list down few basic question and answer below
Q. Why do you think agile is better than some of the more traditional methods out there?
The major benefits come from a greater focus of quality, discipline, working closely with business stakeholders and on delivering working software on a regular basis. It’s just best practices from the real world.
What are some of the agile methodologies?
At the methodology level there are things like extreme programming (XP), scrum — a project management methodology, agile modeling — for modeling and documentation, the open enterprise process — a basic combination of the XP, scrum, agile modeling, rational unified process (RUP) which is more of a full development methodology and crystal clear.
The agile method attracts a fair amount of criticism. Why is this the case?
The reason there is a lot of criticism is that a lot of people don’t understand what’s going on, they don’t know what they’re looking at. There’s a lot of misinformation out there which gets repeated.
People really are threatened by this, because part of the agile message is that you have to produce, you have to add value in a visible and measurable way and a lot of people from the traditional world really don’t add value and they know it. Sometimes, people think that no proper documentation is followed but that’s a myth.
What is the biggest challenge of agile?
The biggest challenge with agile is cultural differences. It’s not really a technology issue or a domain issue. People have these excuses to not change, because change is hard.
It’s not a technology thing, but it is a culture thing. You have to choose more discipline. One of the big cultural challenges in the traditional community is that they confuse bureaucracy with discipline. Bureaucracy is bureaucracy and discipline is discipline. Those are two different things and we need to get away from that. So if you’ve got this culture around this bureaucratic rigor, filling out forms and doing checklists, it’s going to be hard to move towards something quality-focused, value-focused like agile.
What would be the best way to transition into agile?
A couple of things. First, minimally you should do some pilot projects. Just because this is working for a lot of other people doesn’t mean its going to work for you. You really do need to get you feet wet.
Then after that, the challenge becomes [that] you’ve got to roll it out across the organization. That’s where things get harder. Now the entire organization needs change.
What is the the testing process in agile?
A technique that gets talked about a lot is test driven development. In test driven development (TDD) you write enough code to fulfill that test. This is an incredibly good practice, but it requires significant discipline, it requires training and you have to be allowed to do it.
There is a lot more testing going on by agilists then by non-agilists. It’s still not perfect, so we need to get better at that.
TDD is equivalent of testing against the specification. The assumption there is that your stakeholders are able to identify the requirements. We know that’s a false assumption. They’re not good at defining their requirements and it’s just not human nature. As a result, TDD can only be as good as what you’ve been told to do.
You’ve got to counteract that risk and the way you do that is by having an independent test team running in parallel, that’s doing more complicated forms of testing. They’d be doing security testing, performance testing, usability testing and exploratory testing.
Does agile requires more skill and experience?
It requires more discipline, almost always that translates into more skill and more experience, there have been cases with the people fresh out of school are doing very good at agile.
I would be more than happy if you can add more questions and answers. Leave me a comment and let me hear your opinion. If you’ve got any thoughts, comments or suggestions for things we could add, leave a comment! Also please Subscribe to our RSS for latest tips, tricks and examples on cutting edge stuff.