A project is a temporary endeavor undertaken to create a unique product or service. Agile project management focuses on iterative development, self-organizing teams, early customer involvement and flexibility. Some key aspects of agile include continuous integration, iterations to develop features in short cycles, and pair programming where two developers work together.