Programming (general computer-science masterpiece by Donald E. Knuth) The Cathedral and the Bazaar - book comparing top-down vs. bottom-up open-source software The Philosophy of Computer Science Where's the Theory for Software Engineering? The Yo-yo problem Programming paradigms Agent-oriented programming Aspect-oriented programming (AOP) Convention over configuration Component-based software engineering Functional programming (FP) Hierarchical object-oriented design (HOOD) Literate programming Logic programming Modular programming Object-oriented programming (OOP) Procedural programming Reactive programming Software development methodologies Agile Unified Process (AUP) Constructionist design methodology (CDM) Dynamic systems development method (DSDM) Extreme programming (XP) Iterative and incremental development Kanban Lean software development Model-based system engineering (MBSE) Open Unified Process Pair programming Rapid application development (RAD) Rational Unified Process (RUP) Rubber duck debugging Scrum Structured systems analysis and design method (SSADM) Unified Process (UP) Software development processes Active-Admin-driven development (AADD) Behavior-driven development (BDD) Bug-driven development (BgDD) Configuration-driven development (CDD) Readme-driven development (RDD) Design-driven development (D3) Domain-driven design (DDD) Feature-driven development (FDD) Test-driven development (TDD) User-centered design (UCD) (User-Driven Development (UDD)) Value-driven design (VDD) Software review Software quality assurance See also Anti-pattern Coding conventions Design pattern Programming paradigm Software development methodology Software development process Outline of computer science Outline of software engineering Outline of computer engineering Outline of computer programming Outline of software development Outline of web design and web development Outline of computers :Category:Programming principles Further reading ISO/IEC/IEEE 26515:2018(E) - ISO/IEC/IEEE International Standard - Systems and software engineering — Developing information for users in an agile environment Other materials, books, articles, etc. Don't Make Me Think (book by Steve Krug about human computer interaction and web usability) References Software development process Methodology Computer science