You’re not alone, even when sailing

Any sailor, and skipper, knows the sailing rules. Unlike what many people think, there are “driving” rules in the sea, the same as on the road. Who has right of way, and when. If both are sailing boats, if one is a motorboat, the direction they are facing, the wind direction – many parameters set a clear and definitive system, so that safety and proper conduct are maintained.
When you go out there, it can be very crowded. If you are exiting a big marina, or a port, there are usually many types of boats around you. They can be very small, maybe even kid’s club boats, they can be surfing boards, small and big motorboats, yachts of all sizes, cargo ships, cruise ships, police boats, fishing boats…. the list goes on. The point is you have to learn to sail within this crowd of boats, share the sea with others, and learn the rules properly, to prevent accidents.
And when sailing together as a group, all skippers should be coordinated:

  • Where they are sailing to
  • The purpose of the sail, of each specific part of it
  • Who leads – who is the skippers’ skipper
  • Which tools of communication are used (VHF, cellphone, flags & signs)
  • When changing course, due to wind changes, or for any other reason, first verify that you have a clear path, that it does not cross the path of any other boat, and you have a clear view of the way. You are not alone.

This will ensure a smooth and safe sail.

Your’e not alone, even when testing

It’s the same with a software testing project. You are not alone in the project, you and your testing team. There are quite a few other groups involved:

  • Management. Of all ranks and types.
  • Developers. Can’t do without them (and sometimes can’t with :-) ).
  • Designers.
  • Network engineers.
  • Customers. External or internal.
  • Other testing groups, working on parallel projects, but part of your testing dept.

And, just like in the sea, you must navigate your way carefully, applying rules and making sure that all parties are working in harmony and synchronization. This will yield better results, a better product.
In many companies, the project team is composed of people from all of the above groups. This makes it easier to reach that required coordination, and to ensure an altogether better project. But unfortunately, in most companies and in most software development projects, it is still a matter of separate groups, trying to work on the same project.
So the need is there. What can you do about it? The basic guidelines are the same as in sailing:

  • A project manager is essential, one that all groups know to be the decision maker. Skipper of skippers.
  • The purpose of the project must be clear, and so does each phase of it. This may sound obvious, but that is exactly why it is missing so often, causing misunderstandings and people pulling in different directions, or having different priorities within the same project.
  • Set rules for the project, regarding the coordination between the different groups:
    • Regular meetings, with clear agenda.
    • Preset priorities, transparent to all.
    • Share data, documents, progress. Share, share and be transparent and open (regarding all events, good or bad).
  • Create agreed upon means of communication, including a set of tools, used by each group, that can integrate. This includes development tools, testing management tools, automation testing, requirement management, bug tracking, etc.
  • Manage expectations of others around you – management, other groups, customers. Keep them updated and don’t surprise them with sudden maneuvers…
  • When making a change on course, due to external changes or new information, first verify that you have a clear path on that new course, that it does not cross the path of any other project or group, and you have a clear view of the direction you are going in. You are not alone.

Share with us your way for ensuring that you are well coordinated with all others around you, when working on your testing project.