"Agile" is the name given to a group of techniques that are designed to help programmers to deliver working software into your hands, as quickly as possible. There's a strong emphasis on making new features available on a rapid (repeating) release schedule, enabling the team to iterate on their software's features, and -- crucially -- on a product's design.
To get a better feel for the ideas behind the agile movement, have a read of the 12 principles of the Agile Manifesto.
When pair programming, two developers sit at the same computer and work together on the same problem. One will type, while the other observes. Both will be equally responsible for the design. It's a cost effective way to produce high quality code, and is commonly practiced by XP teams.
I wound down my freelancing business at the end of 2011 in order to dedicate some time to building my own product. For a long time now I've felt there's been a need for another Agile planning app that caters to those of us who practice Extreme Programming and Scrum.