agile software development alan perlis aspect-oriented software development association for computing machinery automatic programming barry boehm belgium bertrand meyer british columbia canada carnegie mellon university computer engineering computer programming computer science computer software craig larman darmstadt darmstadt university of technology data model data modeling database model doctorate edward yourdon electrical engineering enterprise architecture enterprise engineering ergonomics extreme programming fellow formal methods fred brooks function model functional specification germany grady booch history of software engineering ibm rational unified process idef ieee computer society information hiding information model international conference on software engineering iterative and incremental development ivar jacobson james rumbaugh kent beck limerick management martin fowler mathematics mcmaster university metamodeling modeling language modular design niklaus wirth norbert wiener award for social and professional responsibility object-oriented programming object model ole-johan dahl ontario programming paradigm project management quality management republic of ireland requirements analysis sigsoft service-oriented architecture software architecture software deployment software design software development methodology software development process software engineering software maintenance software quality software quality assurance software testing spiral model strategic defense initiative structured analysis switzerland systems development life cycle systems engineering tom demarco uml united states university of limerick university of north carolina at chapel hill university of victoria view model ward cunningham waterfall model watts humphrey