jump to navigation

Software Methodologies August 1, 2005

Posted by Coolguy in Software Development.

A software methodology is the set of rules and practices used to create computer programs.

Heavyweight methodology:

  • A heavyweight methodology has many rules, practices, and documents. It requires discipline and time to follow correctly.
  • Heavyweight methodologies try to plan out a large part of a project in great detail over a long span of time.
  • Project managers tend to want to predict every conceivable project milestone because they want to see every technical detail.
  • This leads managers to demand all sorts of specifications, plans, reports, checkpoints, and schedules.
  • But this works well only until things start changing; therefore, project managers who use heavyweight methodologies will resist change.
  • The heavyweight development methodology is based on a sequential series of steps, such as requirements definition, solution build, testing and deployment.
  • An example of a “heavyweight” process is the Rational Unified Process.
  • Project team larger than 10-20 people and working in multiple locations may be a good candidate for a heavyweight methodology
  • Heavyweight methodologies can be the better choice when you have multiple teams working at different locations and you need tighter control to formalize key parts of the project.

Lightweight methodology:

  • A lightweight (or Agile) methodology has only a few rules and practices or ones which are easy to follow.
  • Several methodologies fit under this agile banner:
    • XP (Extreme Programming)
    • Cockburn’s Crystal Family
    • Open Source
    • Highsmith’s Adaptive Software Development
    • Scrum
    • Feature Driven Development
    • DSDM (Dynamic System Development Method

Middleweight method:

  • Halfway between XP and RUP
  • KobrA Method that defines a framework of specifically-defined KobrA Komponents, which are components described by a combination of UML class and object diagrams and textual documents
  • Known as Component-Based Product Line Engineering, the KobrA method is touted as being incremental and scaleable because it supports a higher-level, UML-based representation of components and a product-line approach to their application and deployment

Choosing a Methodology:

The essential points you’ll need to consider when selecting a methodology are:

  • Budget
  • Team size
  • Project criticality
  • Technology used
  • Documentation
  • Training
  • Best practices/lessons learned
  • Tools and techniques
  • Existing processes
  • Software


No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: