A swimlane is a way to group activities performed by the same actor on an activity diagram or to group activities in a single thread (Quote by Scott Ambler)
Swimlanes are standard (UML) option to group activities by actor or building block (or thread, see quote above). They lead to partitioned activity diagrams, either horizontally or vertically.
They are very easy to use, even with pen and paper.
You find an example below - where the activities performed by each of the building blocks are grouped by (vertical) swimlanes.
The diagram above was rendered by PlantUML with the following code:
@startuml
|GUI|
start
:enter-data;
|Core-Domain|
:validate-address;
:validate-credit-card;
|Email-Provider|
:send-optin-mail;
:validate-smtp-return;
|Core-Domain|
:prepare-welcome-\npackage;
|GUI|
:display-success-message;
stop
@enduml
A note on tooling
PlantUML (as of February 2017) can only render vertical swimlanes. Depending on your needs, horizontal swimlanes might be better to understand - in wich case you need different tools.