Nearsoft, Inc.
home » blog » Déjà Vu, All Over Again



  • Forgot your password?
  • Forgot your username?
Nearsoft, Inc.

Home

  • Back to Nearsoft home

Blog Authors

  • Jorge Pablos (3)
  • Matt Perez (58)
  • Victor Velasquez (11)
  • Julio Gonzalez (10)
  • German Rodriguez (1)
  • Bobby (1)
  • Renato Fontes (2)
  • Manuel Monteverde (1)
  • Hugo Blanco (1)

Blog Categories

  • Events (1)
  • Global Affairs (2)
  • Management (18)
  • Miscellaneous (38)
  • Mobile Development (2)
  • Outsourcing (4)
  • Presentations (10)
  • Software Development (11)
  • SuperHappyDevHouse (0)

Blog Archive

  • August 2010 (3)
  • July 2010 (1)
  • June 2010 (3)
  • May 2010 (5)
  • April 2010 (3)
  • March 2010 (6)
  • February 2010 (7)
  • January 2010 (3)
  • December 2009 (1)
  • October 2009 (5)
  • September 2009 (4)
  • August 2009 (8)
  • July 2009 (8)
  • June 2009 (4)
  • May 2009 (3)
  • April 2009 (5)
  • March 2009 (8)
  • February 2009 (1)
  • January 2009 (1)
  • December 2008 (4)
  • May 2008 (1)
  • December 2007 (1)
  • January 2007 (1)

Site Menu

» home
» about us
» contact us
» blog
» site map
» faq
» other resources
» outsourcing risks
» which shore?
» case study
» managing risks
» tce
» tce scenario
» success stories
» the nearsoft (quick) intro
» nearshoring... the movie
» join us!

Follow Us!

Facebook This blog in Facebook
Twitter Twitter @nearsoft

Links

  • Blog Directory
  • Add to Technorati Favorites
Great Place to Work
WorldBlue - Most Democratic Workplaces

Closer is Better >> Nearsoft Blog

  • Blog Home
  • Tags
  • Search
  • Feed
Julio Gonzalez

Déjà Vu, All Over Again

Posted by Julio Gonzalez on 07/08/2009 in software development
/blog/da-ja-vu-all-over-again.html
Permalink Print PDF

It feels like déjà vu all over again.  A team of experienced developers is having trouble meeting its deliverables.  It feels just like the last team that struggled with the same problem.  Even when you’ve instituted Scrum, you’ll have to pay attention to these issues every day.  Here’s a list of common mistakes and how to address them.

POOR COMMUNICATIONS

Whatever the size of the team, communications is always a problem.  This is part of the human condition. Typically, when a team gets in trouble you’ll find that the individuals on the team don’t really know what the other team members are working on.  The results range from doing duplicate work to having people go on vacation unbeknownst to anybody else in the team.

I almost cry because the solution is so simple:  daily, stand up meetings.  Take 15 minutes every day to sync up and most of these problems disappear.  Just ask four questions:

  • What did you do yesterday?
  • Did you run into any obstacles?
  • What are you planning to do today?
  • Is there anything that may prevent you from accomplishing your goal?

BUG CREEP

Developers tend to minimize the impact of the defects they’ll generate.  I’ve heard the same rationalizations over and again, “they are not critical,” “we can fix them later in a single day,” “better to keeping working on new features now to show progress.”  Unfortunately, bug creep will kill a project or, worse, keep it at the “90% done” state for the rest of the life. The solution is zero bug tolerance.  Quality must be the top priority for the team.  Make QA and users work hard at finding a bug.  In fact, that event should be rare, not a given.  When bugs show up, new code development must be stopped and continued only after fixing the bug.

WHAT DO YOU MEAN BY "DONE"?

Ask each team member what “done” means for them. You’ll be surprised how many different defintions of “done” you’ll get.
The solution is to come to a common definition of what it means to be “done” among the team.  The definition must include that the code be unit tested, code reviewed, bug free and nothing but ready for release.

QA IS NOT PART OF THE TEAM

QA input in a project is critical.  Some developers tend to exclude QA, not including them in planning sessions, stand up meeting or design meetings. QA, and particularly manual testers are viewed as not being part of the development team.
The solution: Locate testers near to developers, if that’s not possible at least pair test with developers, ask developers to look at the test cases testers have written, invite testers to meetings, testers must be perceived as useful by testing and providing early feedback so they become a necessity to the team.

WRITE CODE WITHOUT STORIES

The reason that developers are developers is because they love writing code (and I know whereof I speak).  That’s great, but it also means that sometimes they’ll write code even though the requirements are not clear, even without User Stories.  Unfortunately, in those cases there’s a better that 50-50 chance that the result will not meet whatever requirement the Product Owner was thinking of.
The solution is to make sure that requirements are clear at the during Sprint planning.  Ensure that everybody understands them.  Make sure no question is left unanswered.  Once coding starts, revisit the Stories on every daily meeting.  Ask each developer how confident they are that they understand the results they need to create thoroughly.  Put the infrastructure in place to support continuous integration.  Even if somebody misinterprets the requirements, at worst you’ll waste only one day.  Make sure you’re getting continuous feed back from QA as well.

 

 


[ Back ]
Bookmark
Email this

TweetBacks (Tweet this post)

Trackback(0)

TrackBack URI for this entry

Comments (5)

Subscribe to this comment's feed This comment's feed

Show/hide comments
Tracking QA through automatic tools
0
Hey Julio, just to add something to your very interesting post, I also have found that using automatic QA tools help a lot in the coordination of the team, because when a developer gets a "quality measure" for the code he is writing while still on it, most likely, he will make the required changes before releasing it. In addition if you include a continuous integration piece in your project, the results may surprise you big time!

In java a set of great tools are already part of the standard Eclipse distributions and others are available easily with plug-ins: PMD, Checkstyle, Sonar, JUnit, Emma, JMeter, JProfiler, etc. are excellent tools that are a must-have for any SW development team.

Best regards!
Rafael Muñoz , August 06, 2009 | url
  • report abuse
  • +0
  • vote down
  • vote up
Re:Tracking QA through automatic tools
0
Thanks Rafa!

We've been using some of them, for Unit testing: Junit, NUnit, PHPUnit and even google frameworks for Phyton and mobile devices. For automated testing in terms of functionality I find Selenium very very powerful.

For CI, you are completely right, is a great resource for the team specially because of the early feedback during development, the tools we've been using are BuildStudio from automatedQA and Hudson

I'll take a look to your recommended tools, Thanks again :-)

http://www.nearsoft.com/blog/Is-All-about-Quality-and-Timing.html
Julio , August 06, 2009 | url
  • report abuse
  • +0
  • vote down
  • vote up
Nice blog post.... but I disagree on Zero Bug Tolerance
0
Hi!
I agree with almost everything in this blog post...

Except for the zero bug tolerance, I think thatthe Bug Triage approach is much more practical:

http://www.codinghorror.com/blog/archives/000498.html
Francisco , August 08, 2009 | url
  • report abuse
  • +0
  • vote down
  • vote up
Re:Nice blog post.... but I disagree on Zero Bug Tolerance
0
Francisco:

Nice to hear from you!
I completely agree with "Sometimes a bug should not be fixed" as long the decision comes from the entire team (including the product owner) and exist a good reason for doing so.
Severity, Frequency, Risk and cost also are important information to decide whether a bug should be fixed or not, however I think that Zero tolerance bugs is still needed for the bugs that are critical and avoid bug creep.

Cheers..
Julio , August 10, 2009 | url
  • report abuse
  • +0
  • vote down
  • vote up
Not to start a big discussion but...
0
Hi!

It is nice to see that you guys have a company blog, a thing I have yet to see in the sites of other mexican software companies.

But back to the subject: I feel that while having a Zero bug tolerance sounds nice, if can be easily interpreted as "we do no triage here, because all bugs are equally bad" smilies/wink.gif
Francisco , August 10, 2009 | url
  • report abuse
  • +0
  • vote down
  • vote up

Write comment

smaller | bigger

busy
home | about us | contact us | blog | site map || faq | other resources | outsourcing risks | which shore? || case study | managing risks | tce | tce scenario | success stories || the nearsoft (quick) intro | nearshoring... the movie | join us!
© Nearsoft, Inc.  All rights reserved.