Technodrone

there's some good in this world, Mr. Frodo... and it's worth fighting for.

  Home  |   Contact  |   Syndication    |   Login
  15 Posts | 2 Stories | 37 Comments | 0 Trackbacks

News

Article Categories

Archives

Post Categories

Image Galleries

agile development

Code hacks

Face Book Profile

LinkedIn Profile

Recommended Products

I am currently working with a company that has a 40 million dollar contract that will be lost if the code is buggy and incomplete. We have just started writing unit tests. TDD is foreign to most of the team members. Most of the code is contained in the code behind of aspx pages. I am using selenium to write the unit test. Team members are getting frustrated because of the tight deadline; they feel they don't have the time to unit test. While this is going on the company has decided the team should use the agile methodology yet they have no training/mentoring so it is causing them more frustration and anxiety. We have a consultant telling them they must learn TDD and agile while at the same time they have an extremely tight deadline. The deadline will not budge. I want the team to be able to produce quality code within the timeline. At the point it is too late to eliminate the spaghetti code and lack of domain objects. I still want as much test coverage as possible. I am the go between the developers, an agile consultant and the management. Any ideas?
posted on Saturday, October 03, 2009 6:19 AM

Feedback

# re: Geek Up a Creek 10/3/2009 10:38 PM John K. Hines
Wow, there are so many bad things happening here that I'm on my fourth revision of this comment.

The reality of the situation is that a new development process has been mandated on a team during a project that's under a tight deadline. Bad idea.

Your role is fairly straightforward: Start your unit testing on the most critical areas of the application first. Reassure management that the unit tests will deal directly with product quality. Tell the developers that you are supporting them by helping to test areas that need testing the most.

The best thing you could do, I think, is to understand that Agile isn't about following a formula. It's about adopting those parts of the process that help you the most.

Adding unproductive meetings, useless tests, and a large learning curve in the middle of a project isn't Agile. It's stupid. You might as well tell everyone to switch to the Dvorak keyboard layout because it's more efficient.

So, my parting suggestions:
1. Ask the developers to identify or rank those areas of the application that would benefit from the most testing. Focus the unit tests on those areas first.
2. Using TDD/Agile means you should be taking measurements that help you track code quality and schedule. Find out what metrics your team is gathering and see if the anxiety around the schedule is justified.
3. Lastly, why was Agile decided for this project at this time? Was it to get the project done faster? Increase quality? Find those aspects of Agile that lend themselves to the top priority and try to have your consultant emphasize those.

Good luck!

# re: Geek Up a Creek 10/4/2009 7:41 AM denise
Thanks for you comments/suggestions. One thing I forgot to mention is that I ran a demo yesterday with the product owner and management and quite a bit of the promised functionality didn't work. I have been involved in agile projects for the last 3 years and never saw a product owner actually look they were going to faint after the demo. We did our retrospective after the demo and the consultant drug that meeting on for two hours and we still didn't get finished. Obviously management wanted actions items and we just talked for 3 hours.. He doesn't seem to really care that people will lose jobs if this product does not get out. It is going to get interesting because I am going to concentrate on essential bug fixing and testing both unit and manual for those who are experienced writing unit test. I am going to set a timer during the morning standup meeting and I am leaving after the timer goes off. I am not going to attend any "learning sessions" to talk about scrum philosophy. It is just not the time and place for that right now.

# re: Geek Up a Creek 10/23/2009 11:10 AM dtinsley
Wow!!! I have been reading Pragrmatic Thinking & Learning by Andy Hunt. The first two chapters deals with this exact situation. I now see why trying to implement agile with novice programmers if futile. This book rocks I recommend that all developers that care about their craft read it. It would be great if IT managers read it also.


# re: Geek Up a Creek 10/24/2009 5:06 AM Marco Mangia
Thx, Denise. I found an interesting reading for this weekend.

PS: 70-536 passed. Now it's time to move forward mcts ;)

# re: Geek Up a Creek 10/24/2009 8:10 PM dtinsley
Congratulations on passing 70-536. I haven't been studying for it. I recently changed jobs and have been concentrating on agile and code refactoring. I would still like to get a certification.

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: