ในช่วงต้นทศวรรษ 2000 ได้เกิดวิธีการแบบอไจล์ (agile) เพื่อแก้ปัญหาของกระบวนการแบบดั้งเดิมโดย โดยวิธีการแบบ agile จะเสนอวิธีการที่คล่องตัวมากขึ้นในการสื่อสารระหว่างฝ่ายพัฒนาและผู้ใช้งาน ช่วยให้เกิดความยืดหยุ่นในการพัฒนาซอฟต์แวร์ให้ตรงกับความต้องการได้รวดเร็วขึ้น โดยวิธีการแบบ agile เป็นแนวทางที่ประกอบด้วยค่านิยมหลัก 4 ประการ คือ (1) ส่งเสริมการมีปฏิสัมพันธ์ระหว่างคนมากกว่าการทำตามขั้นตอนและผ่านการใช้เครื่องมือ (2) มุ่งพัฒนาซอฟต์แวร์ที่ใช้ได้จริงมากกว่าการทำเอกสารที่ครบถ้วนสมบูรณ์ (3) ร่วมมือทำงานกับผู้ใช้งานมากกว่าแค่การต่อรองให้เป็นไปตามสัญญา และ (4) การตอบสนองกับการเปลี่ยนแปลงมากกว่าการยึดติดกับแผนที่วางไว้ และยังมีหลักการพื้นฐานอีก 12 ข้อ คือ (1) ความสำคัญสูงสุดคือความพึงพอใจของผู้ใช้งานที่มีต่อการส่งมอบซอฟท์แวร์ที่มีคุณค่าต่อผู้ใช้งานตั้งแต่ต้นอย่างต่อเนื่อง (2) ยอมรับการเปลี่ยนแปลงตามความต้องการของลูกค้าแม้จะอยู่ในช่วงท้ายของการพัฒนาเพราะวิธีการแบบ agile สามารถแปรเอาการเปลี่ยนแปลงมาเป็นความได้เปรียบในการแข่งขันทางธุรกิจของผู้ใช้งาน (3) ส่งมอบซอฟท์แวร์ที่ใช้งานได้จริงอย่างสม่ำเสมออาจเป็นทุกสองถึงสามสัปดาห์หรือทุกสองถึงสามเดือนโดยควรทำให้ระยะเวลาระหว่างการส่งมอบนั้นสั้นที่สุดเท่าที่เป็นไปได้ (4) ตัวแทนจากฝ่ายธุรกิจและฝ่ายพัฒนาจะต้องทำงานร่วมกันเป็นประจำทุกวันตลอดช่วงเวลาของโครงการ (5) ทำให้แน่ใจว่าสมาชิกโครงการเข้าใจและมีจุดมุ่งหมายของโครงการร่วมกันสร้างสภาวะแวดล้อมและให้การสนับสนุนในสิ่งที่พวกเขาต้องการ และให้ความไว้วางใจแก่พวกเขาในการที่จะทำงานให้บรรลุเป้าหมายนั้น (6) วิธีที่มีประสิทธิภาพและประสิทธิผลสูงสุดในการถ่ายทอดข้อมูลต่างๆไปสู่ฝ่ายพัฒนาและการสื่อสารภายในฝ่ายพัฒนาเองคือการพูดคุยแบบต่อหน้า (7) ซอฟท์แวร์ที่ใช้งานได้จริงเป็นตัวหลักในการวัดความก้าวหน้าของโครงการ (8) วิธีการแบบ agile สนับสนุนให้เกิดการพัฒนาแบบยั่งยืนกล่าวคือผู้สนับสนุนนักพัฒนาและตัวแทนผู้ใช้งานควรจะสามารถรักษาอัตราเร็วในการทำงานร่วมกันให้คงที่ได้ตลอดไป (9) การใส่ใจในความเป็นเลิศทางเทคนิคและงานออกแบบที่ดีอย่างต่อเนื่องจะช่วยเพิ่มความเป็นวิธีการแบบ agile (10) ความเรียบง่ายหรือศิลปะในการทำงานอย่างพอเพียงนั้นสำคัญยิ่ง (11) สถาปัตยกรรมซอฟต์แวร์ ความต้องการของลูกค้า และงานออกแบบที่ดีที่สุด เกิดจากทีมที่บริหารจัดการตัวเองได้ (12) ในทุกๆช่วงเวลาหนึ่งทีมงานจะต้องย้อนกลับไปไตร่ตรองดูสิ่งที่ผ่านมาเพื่อหาทางที่จะพัฒนาความมีประสิทธิภาพและประสิทธิผลของทีมแล้วนำสิ่งเหล่านั้นมาปรับปรุงและเปลี่ยนแปลงพฤติกรรมของทีมและต้องทำเป็นประจำ
ด้วยวิธีการแบบ agile การพัฒนาซอฟต์แวร์จะทำได้เร็วขึ้นและช่วยลดเวลาที่เสียไปจากการพัฒนาสิ่งที่ไม่ต้องการเพราะดึงเอาผู้ใช้งานเข้ามามีส่วนร่วมในทีมพัฒนาเพื่อให้ความคิดเห็นตลอดช่วงเวลาของการพัฒนา วิธีการแบบ agiel เปิดโอกาสให้ฝ่ายพัฒนาสามารถทดลองแนวคิดใหม่ๆได้ โดยทดลองใช้ทางเลือกการออกแบบต่างๆ และค้นหาว่าอันไหนดีที่สุดสำหรับลูกค้า