List of software development philosophies
Software development process |
---|
Core activities |
Paradigms and models |
Methodologies and frameworks |
Supporting disciplines |
Tools |
Standards and BOKs |
This is a list of approaches, styles, and philosophies in software development not included in the category tree of software development philosophies. It contains also software development processes, software development methodologies and single practices, principles and laws.
Software development philosophies
Software development philosophies
Programming principles
Miscellany
- Abstraction principle (programming)
- Alignment of authority and responsibility
- Big Design Up Front (BDUF)
- Black box engineering
- Brooks's law
- Cathedral and the Bazaar (see also Release early, release often (RERO))
- Chief programmer team
- CMMI
- Code and fix
- Cone of Uncertainty
- Continuous integration
- Control tables
- Convention over configuration
- Conway's law
- Dependency injection
- Design by contract (DbC)
- Design for test (DFT)
- Don't repeat yourself (DRY) or Duplication is Evil (DIE) or Once and Only Once (OAOO), Single Point of Truth (SPoT), Single Source Of Truth (SSOT)
- Easier to Ask Forgiveness than Permission (EAFP)
- Encapsulation (computer science)
- Evolutionary prototyping
- Free software license
- General Responsibility Assignment Software Patterns (GRASP)
- Hofstadter's law
- Hollywood principle
- Information hiding
- Interface (computer science)
- Interface (object-oriented programming)
- Inversion of control
- Joint application design, also known as JAD or "joint application development"
- Kaizen
- Literate programming
- Microsoft Solutions Framework (MSF)
- Model-driven architecture (MDA)
- MoSCoW method
- Naked objects
- Open source
- Principle of least astonishment (POLA/PLA)
- Principle of good enough (POGE)
- Project triangle
- Program optimization
- Protocol (object-oriented programming)
- Rapid prototyping
- Refactoring
- Release early, release often (RERO) – see also The Cathedral and the Bazaar
- Responsibility-driven design (RDD)
- the Right thing, or the MIT approach, as contrasted with the New Jersey style, Worse is better.
- Secure by design
- Separation of concerns (SoC)
- Service-oriented modeling
- Software craftsmanship
- Software system safety
- Spiral model
- Stepwise refinement
- Team software process (TSP)
- Type-Generic-Profile (TGP)[1]
- Unix philosophy
- V-Model
- Wheel and spoke model
- The Zen of Python
Programming paradigm
- Agent-oriented programming
- Aspect-oriented programming (AOP)
- Modular programming
- Component-based software engineering
- Object-oriented programming (OOP)
- Functional programming (FP)
Software development methodology
- Agile Unified Process (AUP)
- Dynamic systems development method (DSDM)
- Constructionist design methodology (CDM)
- Crystal Clear
- Extreme programming (XP)
- Iterative and incremental development
- Kanban
- Lean software development
- Open Unified Process
- Pair programming
- Rapid application development (RAD)
- Rational Unified Process (RUP)
- Scrum
- Structured systems analysis and design method (SSADM)
- Unified Process (UP)
Software development processes
- Behavior-driven development (BDD)
- Design-driven development (D3)
- Domain-driven design (DDD)
- Feature-driven development (FDD)
- Test-driven development (TDD)
- User-centered design (UCD)
- Value-driven design (VDD)
- Configuration-driven development (CDD)
- Bug-driven development (BgDD)
Software metrics
See also
- Anti-pattern
- Design pattern
- Programming paradigm
- Software development methodology
- Software development process
References
- Don't Make Me Think (book by Steve Krug about human computer interaction and web usability)
This article is issued from Wikipedia - version of the 9/15/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.