Add to Technorati Favorites

« Top Mover and Shaker on the Internet! | Main | Back to the office! »

November 02, 2006

The Complete List of Software Development Frameworks, Process's, Methods, or Philosophies

There are so many software development process's, best practices, philosophies, and frameworks out there that I just wanted to create a complete reference list of valuable things to remember.  Note that some of these I recommend NOT using, however I have listed them so that we can ensure to remember what not to do.  However, you would be surprised how in some cases some of these practices are valid, even though they might see ridiculous.  Anyway, here is the list, and as always feel free to post your comments and I will try and review them and add the ones that are valid!

 

  • Agile Software Development
    • Extremely popular at the moment, Agile tries to minimize risk by developing software in short iterations.  Each iteration is a small project in itself.
  • Agile Unified Process (AUP)
  • Best Practice
    • The best way to get a specific outcome your looking for.
  • Constructionist design methodology (CDM)
  • Cowboy Coding
    • Your screwed, well.. I guess unless your trying to learn something new, some quick solution for an extremely small problem, or seeing if something might work.
  • Design by Use (DBU)
    • A software development technique that helps if your working with multiple teams building components that will be integrated to build a larger system.  Communicate early and integrate immediately.
  • Design-Driven Development (D3)
    • An Agile process for creating really cool and innovative requirements to build awesome solutions.  Works really nicely with SCRUM and XP.
  • Don't repeat yourself (DRY) or Once and Only Once (O3)
  • Dynamic Systems Development Method (DSDM)
    • A framework based originally around Rapid Application Development, now an agile method based around continuous feedback from users and responds nicely to changing requirements.
  • Extreme Programming (XP)
    • A set of rules to run a team based around:  Communication, Simplicity, Feedback, Courage, and Respect.  This is done by: Coding, Testing, Listening, Designing.
  • Pair Programming
    • An extreme programming practice, works great!  Two programmers working side-by-side, alternating turns on the keyboard and mouse, while the other watches and analyzes.
  • Iterative and Incremental Development
  • KISS principle (Keep It Simple, Stupid)
    • Everything should be done as simple as possible.
  • MIT Approach (Worse is better)
  • Open Unified Process
  • Quick-and-Dirty
    • A crude solution or programming implementation that is imperfect, inadequate, but solves the problem, or masks the problem, at hand.
  • Rational Unified Process (RUP)
    • A well known refinement of the unified process, it is an iterative software development process created by Rational Software Corporation (now a division of IBM).
  • Scrum (management)
  • Spiral model
  • Software Scouting
    • Experiment before building (proof of concept, prototypes, mocks, simulations, etc.).
  • Test-driven development (TDD)
  • Unified Process
    • Iterative and incremental software development process framework that can and should be customized before use by any organization.
  • Waterfall Model
  • Worse is better (New Jersey style)
  • You Ain't Gonna Need It (YAGNI)

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/820340/6664548

Listed below are links to weblogs that reference The Complete List of Software Development Frameworks, Process's, Methods, or Philosophies:

» The Complete List of Software Development Frameworks, Process's, Metho from DotNetKicks.com
You've been kicked (a good thing) - Trackback from DotNetKicks.com [Read More]

Comments

Thx, i really need those links

http://freewarelist.net

You have done an amazing job of consolidating all this information on 1 page. Keep up the great work!

Bits and Pieces or best intentions programming
which takes the following form

Start off with KISS or good methodology like AUP then gets applied as a Best practice, until the client changes the goalposts.
When it turns Agile, however this is usually superseded by Extreme programming or Pair Programming. depending on how much work is actually required given the time the project management team promised the client.

It usually goes though all or a least 6 of the other methodology's and ends up at a mixture
cowboy,
Kiss
Yagni
Quick and Dirty

and my own personal favourite , scream at the screen programming

regards
blambo

In the no-framework direction my team and I usually use the concept of microcalls.

It's an even simpler way to do client/server connections like REST or XML/RPC.

It follows the KISS principle.

http://www.microcalls.org

Thanks for compiling a great list. Keep up the good work guys ! cheers, Mike.

Thanks! Is a bit more than I need, but always a great job! keep doing it

I started (months ago) implementing Agile methodology with Scrum as the management process and D3 as the development process. I've seen a direct effect on colleagues' morale and quality of code produced.

Thanks for this post, it extends the zone of thoughts.

Post a comment

If you have a TypeKey or TypePad account, please Sign In

Add Us

  • Add to Technorati Favorites
    Add Miguel Carrasco's Feedburner

    Add Miguel Carrasco to Google

    Subscribe to MyMSN

    Subscribe to MyYahoo!

    Subscribe to Bloglines

    Subscribe to Newsgator

    Subscribe to Feedster

    Subscribe to NewsIsFree

Great Sites