极限编程,敏捷软件开发,需求变化,团队合作,持续集成,测试驱动开发,项目规模。