17th October 2010

Coping with Quality Assurance Issues

Costa Rica is becoming the haven for agency-like companies. We have very talented creatives, front-end developers along with highly skilled back-end developers. This talent, along with other attractive traits this small country offers, makes many U.S. agencies to outsource their entire development effort to Costa Rica.

In this post I want to present some challenges that affect the software development life cycle in agency like companies in general. I’ll also present some action items that can be followed in order to start overcoming those challenges.

The root of the following challenges may be a bad approach to the quality assurance put in place, if any.

Requirement specifications nightmare

Quality is measurable compliance of what is specified in what is delivered. To have a clear understanding of what the client wants, we can use some traditional artifacts to specify requirements visually: Wireframes and Visual Design Guides.

There are pros and cons about their use, but let’s assume you use them to specify User Stories.

The most commons problems I’ve seen in many companies using this approach are:

  • There is not a behavior-focused artifact for specifying requirements. Developers’ assumptions regarding workflow aspects inevitably creep in. This is a Quality hole.
  • No visual specification artifact gets its sign-off from client before development starts mainly because the client has a lot of unprioritized requirements, and wants wireframes for all of them. Each wireframe follows an endless cycle of review and reword. Because the clock is clicking, developers commit to unclear requirements whose specifications change while it is developed. Developers never get sure of what the client really wants. The Development Team is penalized for this delay. [Bottlenecks in the value stream: 1) Too many kanban cards in the same stage, 2) a kanban card moves to next stage without being ready for that]

Quality Assurance pays the consequences

The biggest mistake I see is confusing Quality Control with Quality Assurance. Many companies only do Quality Control, and some do it poorly:

  • Control quality of new features is unintentional: There is no any track system of new features to test and to add to the regression test pool. Every time estimates are given for new features, the final control quality effort is not analyzed; instead, an arbitrary constant amount of time for QA is assumed.
  • Test cases a not automated at all: It takes several days to execute a full regression test.
  • There is no explicit limit in the capacity to solve ongoing client bugs along the Sprints. There is not a well-known agreement on how many bugs can be solved weekly. Not setting this limit kills predictability and cadence in the overall quality control workflow.
  • The testing team feels forced leave behind the essential part of “Quality Assurance”, focused entirely in quality control and not doing preventing tasks like helping to create and automate up-front Acceptance tests for developers.
  • If the client has a testing team to certify that what is delivered is what was asked, against what are they certifying quality? Are they using the same artifacts that development is using to create the new functionality?

Suggested Action Items that have worked for me

  • Set a Work In Progress Limit to the specification stage, focusing in finishing (I mean: getting sign-off from client) one specification artifact at a time. Only completed wireframes and visual designs guides set the signal for starting the development stage. Prioritize knowing your Work in Progress Limit!!
  • Use a BDD tool for specification of application features and user scenarios like Cucumber, which has the happy nature of being potentially executable.
  • Include testing effort in future estimates for new functionality.
  • Set an upper limit to client bug management effort.
  • Deliver to client the specification artifacts that the development team used to create the new functionality.
  • Start efforts in automating some parts of the regression test, a good way to start is create and support the execution of Cucumber specs.

Some extra advice

Do a constant and merciless hunting of bottlenecks in your value stream.

Put your foot down and say: “We can’t start developing User Stories if they are not fully understood and agreed by every party”.

Avoid Analysis Paralysis: You don’t need have to have fully specified every User Story in the Product Backlog; you only need such detail for the User Stories to be implemented in the next Sprint. Acknowledge the fact that the rest of the Product Backlog will inevitably change, so don’t waste time in defining details that will be thrown away.

Specification artifacts are conversation enablers, not conversation substitutes.   Keep talking with your client to refine and handle unexpected details that will appear during Sprint.

Quality Assurance is a team responsibility; the major merit of it is preventing bugs.

Watch closely your code quality through Sprints.

Post to Twitter

posted in estimation, Quality, Sprints |

18th January 2010

Costa Rica Agile: Let’s bring the revolution here

How the Scrum adoption in Costa Rica is going? How many software companies use Scrum?  Which companies?

How many times have you done these questions? I have heard them many times.

The Agile movement -being Scrum the most popular manifestation of it- is having an impressive traction in North America and Europe. In fact, you can see some evidence of that by seeing this job trends chart of Indeed.com that compares RUP against Scrum:

In South America, the movement started in Argentina, Brazil, now it’s getting hot Chile and Perú.

In Central America (no, Central America is not part of North America, and no, Costa Rica is not Puerto Rico) there is not a visible adoption of Scrum, except Costa Rica.

These are some events related to me that shows an increase of interest of Agile in Costa Rica:

  • August 2007, I was vital in bringing Stacia Broderick and Tobias Mayer for the first Certified Scrum Master training in Costa Rica, it was a closed activity for corporate upper management.
  • October 2008, Mike Griffiths came to give a one-day workshop about agile. I took him to give a presentation at the University of Costa Rica about Agile, it was a full classroom presentation.
  • September 2009, Brian Foote paid a visit to Costa Rica and we had a very insightful discussion about possible things to bust Agility in Costa Rica.
  • December 2009, I brought Michael Vizdos to do the first open  ScrumMaster Certification Workshop [as far as I know, previous workshops done in Costa Rica were closed]. I was intending to have sixteen attendees, but we had twenty two and some in the waiting list for the next workshop in April. About eight companies sent people to get trained.

Costa Rica Agile User Group

On December 17th, 2009, we had our first meeting of the Costa Rica Agile User Group. Michael Vizdos gave a very customized and cozy presentation about Scrum. It started as a normal Scrum presentation but the audience quickly drove the attention to the Costa Rica reality: Scrum in a Near-shore Software Development Company. Michael has so much real life experience around the world so he gave us valuable insights, really unforgettable.

At the end of the meeting, we detailed a list of possible topics for future meetings. Just now I am pinging everywhere the poll [in Spanish] to pick the topic of the next meeting.

We already have our Google Group [in Spanish] of forty eight members so far. We have our location secured in Cenfotec Academic Center. Right now we are working in the website.

In future, we want to register our group at Agile Alliance, Scrum Alliance and APLN. We now are looking for sponsorship.

Agile Day Costa Rica

After some talking with Brian Marick, Brian Foote and Michael Vizdos, Carlos Sirias of Pernix Solutions and Gilberto Medrano of Thought Works we finally get close to start to promote the first Agile Day in Costa Rica. We already got the venue, now the hard work ahead is regarding the sponsorship, but we are confident we can make it. It’s going to be a great event.

Now what?

This year is very promising for Agile and a lot of work lay ahead of us.

For me, this year my work will be focused in building near-shore distributed teams effective.

I’ll keep you posted. Stay tuned.

Post to Twitter

posted in costa rica, ScrumMaster Training, user group |

  •  

  • May 2012
    M T W T F S S
    « Mar    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031