复杂的问题是指那些不可预知的问题。软件开发中任何事情都可能是复杂的。当复杂的事情交互时,复杂的程度就难以形容了。软件开发中复杂性有三个维度:需求,技术和人。
敏捷软件开发指一组基于相同价值观和原则的软件开发方法论。