Friday, February 26, 2010

jXmlCoverage

Coverage helps us to know what we are not testing. It doesn't helps us much to know if we are testing well what we are testing.

There are discussions about the usefulness of coverage. For example see the summary of a discussion on the subject, where I took the idea that the only thing that coverage shows are the untested areas.

For my part, I did a rant (in Spanish) about using the % coverage as a metric, especially by people who learned the concept only as a byproduct of learning TDD.

But if we take into account the characteristics of coverage, it can be an important aid for the test activity (whoever do this activity).

There are many types of coverage. For example, test coverage on business objectives or requirements, on identified risks, on the code or the inputs and outputs of the program.

Code coverage is the most common coverage metric, probably because it is easier to measure than others. Even within the code coverage, there are many possible coverage: class, method, line, statement, decision, path, etc.

In any coverage metric, we first define the universe, and then we measured how many of these points are being covered by some test case.

For example, in line of code coverage, each line is a point. If that line is executed by running a test, this point is said to be covered.

You can take the percentage of coverage as the number of points covered over the total amount of points.

But as mentioned earlier, is more valuable to know the points not covered.

The tool

The tool jXmlCoverage measures coverage based on the XML used by the System Under Test (SUT).

Many SUT uses XML as input, output or configuration. For example, Web Service. In these SUT it is available, or you can create, an XSD that defines a contract that the corresponding XML must comply.

We are interested in the degree to which the tests exercise the different values in the XML, specially the values that are not used at all.

For this, we must define the universe that we want to measure. What we do is to decide for each element defined in the XSD, the interesting equivalence partitions. For example, for an integer, it could be positive, zero, and negative integers and values out of range. We call this a sub-domain. Each sub-domain is a point on which coverage is measured.

After the definition and configuration phase, we have a testing universe, on which we can measure coverage.

All the XML used by the tests are evaluated against the sub-domains, counting how many times a sub-domain is used (covered) by the test cases.

As a result, we can obtain the sub-domains that were not covered.

As in all coverage metrics, one must avoid the temptation to treat a sub-domain as a sub-domain covered well tested.


Tuesday, January 12, 2010

Scrum week in Buenos Aires

Tobias Mayer and Alan Cyment will facilitate a serie of activities between January 25 and 28.

January 25: Scaling Scrum (free) by Tobias
This is a full-day workshop that works as a 3rd day of a CSM. See an example.

January 26: CSP Q&A (free) by Alan and Tobias
Help for filling your CSP application form

January 27: The Spirit of Scrum (*) by Tobias
This full-day workshop will allow Scrum practitioners to reach the next level of Scrum by exploring some of these underlying foundations in a highly experiential way. It will consist of a series of interactive exercises and facilitated discussion designed to help participants not just understand, but embody these principles and values at a deep level.

January 28: Improvisation for agile teams (*) by Alan Cyment and Tobias
The skill of teamwork is complex, multi-faceted, and sometimes paradoxical. Team members need to create for themselves environments that are both safe and challenging, both structured and flexible. A good team member should be able to respect organization and embrace chaos; be part of the team, yet able to have the courage of their own, individual convictions; be able to plot a steady course and be willing to stray from it. Team members need to be present; they need to be dynamic; they need compassion and empathy - and they need to be agile.
Improv is very much a conscious, kinesthetic application of complexity theory to the creative process. The exercises illuminate the things individuals may do to halt the creative process and forward motion of the team. The exercises offer new, simple methods of basic communication that help to overcome these behaviors, and keep the future limitless. The exercises heighten a person's sense of "permission" to be absolutely available to the project and the group. And they provide a template for moving a project relentlessly forward in increments small and thorough enough to bring the whole group along.

(*) For cost and payment, please see the link below

More info and registration at www.agiles.org/agiles-bsas (some of the information in Spanish)

Activities organized by Agiles Argentina, Agilar Argentina and Southworks

Note: Tobias' activities will be in English, Alan's will be in Spanish.

Monday, December 14, 2009

CSM in Buenos Aires: Tobias Mayer

Tobias Mayer will facilitate a Certified ScrumMaster training in Buenos Aires, Argentina.

The Certified ScrumMaster Training (CSM) course consists of two days of presentation, group discussion and experiential/interactive exercises designed to effectively teach Scrum principles and practices. There are no powerpoint slides and the lecture aspect of the course is kept to a minimum. The value of Scrum comes from doing it, so the class focuses on action. At the end of the training the participants will have the confidence and understanding to begin to socialize Scrum at their own organization and support development teams in improving their processes. Upon graduation, attendees will each receive official designation as a "Certified ScrumMaster", a title bestowed by the Scrum Alliance.

Date: January 25-26th, 2010
Where: Perú 375, 1st floor (Southworks)
Cost: usd 700 + VAT
Registration: http://tinyurl.com/tobiasBsAsCSM

This event is organized by Agilar Argentina

The Spirit of Scrum: Road to Joy

Tobias Mayer will facilitate a one day Workshop in Buenos Aires, Argentina. It is targeted to Scrum Masters and agile coaches.

An exploration of the foundational principles and values of Scrum. This session bypasses Scrum practices (which it is assumed participants are familiar with) and will explore Scrum at a deeper, more human level. Through a series of games, interactive exercises and facilitated discussion a deeper understanding of the new mindset required to do Scrum will be acquired. This is not about methodology or process, it is about joy.

Date: January 28th, 2010
Where: Perú 375, 1st floor (Southworks)
Cost: usd 220 + VAT
Registration: http://tinyurl.com/tobiasBsAsWorkshop

This event is organized by Agiles Argentina and Agilar Argentina

keywords: collaboration empiricism prioritization rhythm Scrum self-organizationtimebox

Process/Mechanics

Scrum is quickly being seen as the de facto way of starting out down an Agile pathway. People see it as a quick and easy way in. The problem is that Scrum is very easily misunderstood. There are a multitude of Scrum Facades in place around the world, companies who claim to be doing Scrum because they have people with the titles of “Scrum Master” and “Product Owner”, have daily meetings, maybe even planning meetings, reviews and retrospectives, keep a backlog of work and show some sort of burn down graph each sprint.

Underneath the facade though, the same old command and control beast lurks, the same old fear and CYA behavior. Nothing has essentially changed. So what is missing? I believe the spirit of Scrum is missing, the essence of change.

Scrum is not just a framework and a set of roles, meetings and artifacts. Scrum is a way of being that is utterly different from any previous way of working that we have encountered in the software industry. To do Scrum — to really do Scrum — requires an absolute shift in the way we think and act.

Scrum relies on some core principles:
— Empiricism
— Self-Organization
— Collaboration
— Prioritization
— Rhythm

and some essential values:
— Courage
— Trustfulness
— Transparency

This session will allow Scrum practitioners to reach the next level of Scrum by exploring some of these underlying foundations in a highly experiential way. The session will consist of a series of interactive exercises and facilitated discussion designed to help participants not just understand, but embody these principles and values at a deep level.

I create and/or adapt new games frequently, the majority require no props, and usually require the participants to be on their feet. Most have simple formats and can be easily remembered. None of them have pre-determined outcomes: they are all about self-discovery. For more detailed information on the kinds of games and interactive exercises I’ll use for this session please follow one or more of these links to descriptions of sessions I have run previously.

This session is intended as a taster and it is hoped participants will be encouraged to explore more deeply the human interaction foundations of Scrum once they leave the conference.

Learning outcomes

  • Tobias Mayer has built a reputation in the Scrum world of offering highly challenging training sessions, pushing people to the edge of their comfort zone and ultimately breaking through to a new way of behaving. This session has that same outcome in mind.


Wednesday, August 12, 2009

Registration for Ágiles 2009 is open!

Registration for Ágiles 2009 is open!

Ágiles 2009 will be held on October 8-9 in Florianópolis, Brazil.

Ágiles 2009 aims to be a meeting point for IT professionals in the region interested in sharing their experiences, and discussing and learning on Agile Software Development.

Among the international guests who will participate in Ágiles 2009 are Matt Gelbwaks, Naresh Jain, Dave Nicolette, Joshua Keriewsky and the keynote speakers Brian Marick and Diana Larsen.

The conference features talks, interactive sessions and workshops sessions.
We expect 800 people, from all over the world.

Before the event, there are courses on CSM, CSPO, TDD and Retrospectives.

You can find the registration form in http://www.agiles2009.org/en/registracion.php

More information on the event, program and venue in
www.agiles2009.org

Ágiles 2009 Organizers
Agile 2009 is made possible through the collaboration of OnCast Technologies and the support of our sponsors:

[Gold Sponsor]
Globo.com
| ThoughtWorks

[Silver Sponsor]
Baufest | Scrum Alliance | Agilar | AdaptWorks | Industrial Logic |
Agile Alliance

[Media Sponsors]
Visão Ágil | InfoQ
| Globalcode

[Institutional Sponsor]
SADIO | ACATE
| SUCESU-SC

Thursday, July 30, 2009

Learning Lean Production - A Game

In the a course in the University of Buenos Aires (on Project Management) we use a model of Process-Based Organization and agile development (Scrum and Lean Software Development).
It is important to show technics the are good for process and technics that are good for projects. Looking better ways to teach those subjects, we found the sithe Tasty Cupcakes. A nice site to find teaching games on agile. For teach Lean production, we choose Mr. Happy Face.

The result, as always with games, was a very dynamic and funny session, with all the student focused and paying attention. Very good results, they we were able to learn Lean principles, JIT, pull and kanban concepts from the experience.

Ricardo Colusso was the one behind the camera. Thanks!

The first video is a “traditional”, taylorist production line, with student trying to predict how many pieces will be sell. The second one is a Lean production line using pull and kanban to signal the need of producing something.




Saturday, June 13, 2009

Ágiles 2009: call for presentarions and sposorship opportunities

Ágiles 2009, the Second Latin American Conference on Agile Methodologies will be held from 6 to 9 of October in the beautiful Florianópolis - Brazil.

After a great success in Argentina, the major Latin America's community congress arrives at Brazil, integrating cultures and enhancing the discussion about the adoption and Agile methods implementation.

We have confirmed Brian Marick and Diana Larsen as the Keynote Speakers
for the event.
Beyond that we have several illustrious guest speakers that are confirming their presence to enrich the conference. There will be pre-event courses including, CSM, CSPO, Agile Retrospectives, TDD, Refactoring and automated tests (subjects supposed to change). Check out the complete program
for more details.Enlace

I would like to invite you to be a Sponsor of Ágiles. Check out the sponsorship opportunities here
.

Also, we have just opened the call for participation
. Submit your proposals until July 6.

Early bird registration will be opened soon. Keep updated with fresh news from the conference web-site
and our twitter.

See also this new in InfoQ (Ágiles 2009: Breaking Down Regional Frontiers in Latin America) and previous posting on 2008 (videos, conference) or the Ágiles 2008 web site and conference results.