การวิวัฒนาการของซอฟต์แวร์เป็นกระบวนการที่โปรแกรมคอมพิวเตอร์เชิงพาณิชย์ต้องการการปรับปรุงการบำรุงรักษาและการปรับปรุงอย่างต่อเนื่องเมื่อเวลาผ่านไปเพื่อให้ผลิตภัณฑ์ยังคงทำงานได้ ในแง่นี้การวิวัฒนาการของซอฟต์แวร์ได้รับแรงผลักดันจากความต้องการทางธุรกิจและความต้องการของผู้บริโภคที่เปลี่ยนแปลงไปตามซอฟต์แวร์และเทคโนโลยีอื่น ๆ อย่างไรก็ตามปัจจัยผลักดันที่อยู่เบื้องหลังการพัฒนาซอฟต์แวร์มักจะเป็นปัจจัยภายในที่มุ่งเน้นไปที่ทีมวิศวกรรมที่ผลิตผลิตภัณฑ์และ บริษัท ที่ขึ้นอยู่กับความสำเร็จในการทำกำไร The Imperial College of London ประเทศอังกฤษประกาศใช้กฎหมายพื้นฐานสามประการแรกในการพัฒนาซอฟต์แวร์ในช่วงต้นทศวรรษ 1970 ซึ่งได้ขยายไปถึงแปดกฎหมายในปี 2011 ความพยายามอื่น ๆ ได้ถูกนำมาใช้ในการประเมินกระบวนการที่ใช้แบบจำลองเช่น Linear Sequential Model และ Prototype Model แต่กระบวนทัศน์ที่น่าจะเหมาะสมที่สุดสำหรับวงจรชีวิตของเอนโทรปีคือสิ่งที่คล้ายกับวิวัฒนาการของดาร์วินสำหรับสิ่งมีชีวิต
ปัจจัยผลักดันพื้นฐานที่อยู่เบื้องหลังการเปลี่ยนแปลงในสถาปัตยกรรมซอฟต์แวร์นั้นมีลักษณะคล้ายกับแรงจูงใจที่ทำให้ธุรกิจต่างๆอัพเกรดเครื่องจักรอุตสาหกรรมหรือขั้นตอนการปฏิบัติงานมาตรฐานเมื่อความต้องการทางสังคมเปลี่ยนแปลงไป เมื่อมีการใช้ซอฟต์แวร์มากขึ้นความต้องการหรือฟังก์ชั่นใหม่ของมันจะเห็นได้ชัดว่าจะต้องทำงานในรุ่นที่ใหม่กว่าของผลิตภัณฑ์ ซอฟต์แวร์ทั้งหมดมีการเปิดตัวด้วยข้อผิดพลาดที่ไม่รู้จักมาก่อนดังนั้นจึงต้องทำการแก้ไขและบำรุงรักษาเป็นระยะเพื่อแก้ไขสถานการณ์เช่นช่องโหว่ความปลอดภัยที่อาจทำให้ บริษัท เสี่ยงต่อการถูกโจมตีผ่านซอฟต์แวร์ กุญแจสำคัญในการพัฒนาซอฟต์แวร์ก็คือความจริงที่ว่าโปรแกรมดังกล่าวจะต้องปรับให้เข้ากับการทำงานกับอุปกรณ์คอมพิวเตอร์ที่เกิดขึ้นใหม่หลายประเภทและภายในสถาปัตยกรรมระบบปฏิบัติการที่หลากหลายเพื่อให้โปรแกรมนั้นมีความน่าสนใจที่กว้างขึ้น
การตอบสนองความต้องการทั้งหมดเหล่านี้มีความสำคัญต่อการพิจารณาว่าโปรแกรมซอฟต์แวร์ยังคงทำงานได้หรือไม่และเนื่องจากสินทรัพย์ซอฟต์แวร์นั้นเป็นส่วนสำคัญอย่างยิ่งของเศรษฐกิจข้อมูลในปี 2554 การวิวัฒนาการของซอฟต์แวร์ได้กลายเป็นปัจจัยพื้นฐานของการปรับตัวและการเติบโตทางธุรกิจ Meir Lehman นักวิทยาศาสตร์คอมพิวเตอร์ที่ Imperial College of London ได้รับเครดิตในการสร้างกฎหมายของ Lehman ซึ่งกำหนดกระบวนการของการวิวัฒนาการของซอฟต์แวร์และนักพัฒนาที่มีแนวทางในการคิดสร้างภาพซอฟต์แวร์ กฎหมายของ Lehman ตั้งอยู่บนพื้นฐานของซอฟต์แวร์ที่พัฒนาขึ้นเมื่อความคิดเห็นเกี่ยวกับประสิทธิภาพเพิ่มขึ้นและแนวโน้มที่หลีกเลี่ยงไม่ได้ก็คือความซับซ้อนที่เพิ่มมากขึ้น
เลห์แมนได้กล่าวว่าธรรมชาติของการวิวัฒนาการซอฟต์แวร์สะท้อนการเปลี่ยนแปลงตามธรรมชาติเช่นการกลายพันธุ์ในแมลงวันผลไม้วิธีที่เมืองขยายตัวเมื่อเวลาผ่านไปและโครงสร้างทางทหารปรับปรุงระบบอาวุธอย่างไร กฎสามข้อแรกของกระบวนการจำลองแนวโน้มเหล่านี้ในรายละเอียดการเปลี่ยนแปลงอย่างต่อเนื่องการเพิ่มความซับซ้อนและสิ่งที่เรียกว่าวิวัฒนาการของโปรแกรมขนาดใหญ่ การเปลี่ยนแปลงอย่างต่อเนื่องหมายถึงความจริงที่ว่าโปรแกรมจะต้องปรับให้เข้ากับสภาพธุรกิจในโลกแห่งความเป็นจริงในปัจจุบันและสิ่งนี้สะท้อนให้เห็นถึงความซับซ้อนที่เพิ่มขึ้นเนื่องจากโปรแกรมจะต้องตอบสนองความต้องการที่ไม่คาดคิด Large Program Evolution หมายถึงความจำเป็นในการแก้ไขข้อผิดพลาดและการออกใหม่ของโปรแกรมที่ผูกติดอยู่กับความต้องการของตลาด
ในบรรดากฎหมายที่เหลืออยู่ห้าข้อในวิวัฒนาการซอฟต์แวร์หมายเลขสี่คือเสถียรภาพขององค์กรและหมายถึงความจริงที่ว่าการเติบโตของโปรแกรมต้องใช้ชีวิตของตนเองโดยไม่คำนึงถึงระดับของทรัพยากรที่อุทิศให้กับมันและหมายเลขห้าคือการอนุรักษ์ความคุ้นเคย ที่ระบุว่าการเติบโตที่เพิ่มขึ้นของโปรแกรมหลีกเลี่ยงไม่ได้ หมายเลขหกในแปดกฎหมายของ Lehman คือการเติบโตอย่างต่อเนื่องซึ่งเป็นสิ่งจำเป็นเพื่อตอบสนองความต้องการของผู้บริโภคและหมายเลขเจ็ดคือคุณภาพที่ลดลงซึ่งเน้นถึงความจริงที่ว่าซอฟต์แวร์ทั้งหมดเผชิญกับข้อ จำกัด ในการใช้งานที่ไม่สามารถทำได้ กฎหมาย Lehman สุดท้ายสำหรับการพัฒนาซอฟต์แวร์คือระบบป้อนกลับ (Feedback System) ซึ่งเชื่อมโยงกันทุกกองกำลังที่มีผลต่อความมีชีวิตของโปรแกรมซอฟต์แวร์เพื่อขับเคลื่อนอย่างรวดเร็วเพื่อให้ประสบความสำเร็จหรือล้าสมัยและหลีกเลี่ยงไม่ได้ที่หลีกเลี่ยงไม่ได้


