The agile model is an incremental software development model where testing is done after each release to ensure software quality. It allows for changes to be implemented at low cost by rolling back work done in previous sprints. Some advantages are flexibility to changing requirements, ability to incorporate last minute changes, and satisfied customers through iterative releases. Communication between developers and customers is emphasized over process. Potential disadvantages include lack of documentation and difficulty estimating efforts for large projects initially.