Agile Development

What is it about Agile methodologies causes them to be "Old Boys Clubs". I can dig around the internet and find all the information I want on Scrum, Agile or TDD, but all of it is from the developer perspective. What part of this is only concerned about one or two portion of the SDLC? Yah it covers off the Coding / Debugging and, in some cases, the Requirements Gathering portions just fine, but those are only 2 of the 5 tenants of the SDLC. What about Architectural Design and System Testing? I have not seen a single post, article or explanation of what the steps are for taking an iteration based approach to software development and turning it over to team or business testers with cohesion and continuity. Why is that?

Is it because the Agile community is focused solely on the process of creating the software, or is it because the process of business acceptance testing is so clearly defined? My experience makes me believe that this community is focused on one thing and one thing only. They have gotten so wrapped up in the process of writing the software (which I tend to thing is a good process) that they've started to wear blinders. They can't see that there is more to the process than, in the case of TDD, write test, make test fail, make test succeed, and refactor. Well, I tend to believe that most of us creating business software have to answer to the....hold on....brace yourself....yes, the business. Now to do that we must turn software over to them that can be tested or used either through the development process or at the tail end of it. Yes, I know...that sounds very waterfall.

So what I'm trying to figure out right now, as I approach the first project I've worked on that dictates an agile approach, is how do you turn your iterations over to the different test teams. In my case I'm thinking of having 2 week long iterations and, after the iteration is complete, we provide a build to the team testers. This I have no problem with. The problem arises when I begin to think about how this process works when I add in the need to release the iteration to User Acceptance Testing for the business to play with, verify and generally check over. Traditionally I've released to the internal test team, started a loop of test and release with that team and finally provided a tested build to the UAT team.

So what do I do once I've released to the internal test team? My instinct says wait, fix and retest. The problem I see is that if I follow this process I will be ready to release to the UAT team once the code from any subsequent iteration is started or worse yet completed. The only thing that I can think of doing is releasing the code to UAT less often than I release it to the internal test team. What is the problem with this? Well, in my mind it's less agile. Maybe I'm wrong though.

At any rate, I'm open to suggestion, opinion or, if it's your style, ridicule.

I'm the Igloo Coder and I'm thinking that I should be building my igloo one tested block of snow at a time.

posted @ Monday, May 15, 2006 9:18 PM

Print

Comments on this entry:

# re: Agile Development

Left by Jason Row at 5/16/2006 6:37 AM
Gravatar
Peter Gekko has an interesting post about waterfall and agile methodologies. http://codebetter.com/blogs/peter.van.ooijen/archive/2006/05/16/144739.aspx Basically he talks about how important it is for the people involved to work towards successfully completing the project.

# re: Agile Development

Left by Jason Row at 5/16/2006 6:38 AM
Gravatar
Damm, his name is Peter van Ooijen and his blog is called Peter's Gekko.

# re: Agile Development

Left by mike at 5/16/2006 6:49 AM
Gravatar
We've adopted some Scrum lately so I can give you my thoughts but your results may vary. :) First of all, how are you planning your iterations? I'm not sure if you're using stories or not but they certainly do help for iteration planning. And once you have stories then you can integrate the internal testing team into your iteration rather than putting all of the testing at the end of the iteration. Do you have some type of customer or product owner presence? If so then it might help to reduce the overhead of the UAT testing because they'll be involved throughout the process and UAT really just turns into a review at the end of each iteration. The most difficult thing about rolling out Agile is that you can't really do it on your own as a developer. You need management, testers and other developers to all buy in. Luckily for me, I'm a manager so I have an easier time bending people to my will. :) Let me know if you want to bounce some ideas around - we can go for a few pops and chat.

# re: Agile Development

Left by D'Arcy from Winnipeg at 5/16/2006 8:08 AM
Gravatar
Mike is bang on: testing should be part of the iteration, not occuring after the iteration is complete. We use a mix of MSF AGile 4.0, Scrum, and Feature Driven Development for our process. We also use the idea of fixed-length iterations. No feature is developed unless it can fit within our iteration length, and that includes analysis and testing as well as development. Mike has a good point too about buy-in. I think maybe the reason you only see developers blog about Agile is that a) Mainly developers are the only ones blogging ;) b) Architecture of software is still seen as a "geek" thing and not a business/management thing...not in all cases of course, but talk to project manager's about agile and they may have heard about it or the acronym, but not much beyond. D

Your comment:



 (will not be displayed)


 
 
 
Please add 5 and 6 and type the answer here:
 

Live Comment Preview: