Home > Addressing software quality issues with development models, methods
Learning Guide:
EMAIL THIS

Addressing software quality issues with development models, methods

29 Mar 2007 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


[IMAGE] If you want to build quality software, most experts these days say you should use an agile development model or method. However, many still believe traditional models have benefits. And others say even if you use an agile method, that doesn't guarantee you'll produce a quality product.

Each model has its own practices for building quality software. It is up to software makers and their development teams to determine which model best fits their needs and to follow its practices so that they can deliver software on time that meets users' needs and is bug-free.

To help you decide which model or combination of models is right for you, we've gathered these articles, tips, books and other resources about the main software development models. You'll learn what their main philosophies are, their benefits and downsides, and how companies are using them to create quality software.

Are there other topics you'd like to see learning guides on? Send me an e-mail and let me know what they are.
-- Michelle Davidson, Site Editor.

[TABLE][TABLE]

[Return to Table of Contents]

There is no absolutely perfect software development model or process. Proponents say each has its own benefits. But by comparing them you can determine which model -- or combination of models -- is best for your project.

[TABLE]

[Return to Table of Contents]

Traditional software development models such as Waterfall, V-Model and spiral aren't highly regarded these days and are considered to be ineffective. However, many companies still use them and say they have benefits.

[TABLE]

[Return to Table of Contents]

Agile software development is a methodology for the creative process that anticipates the need for flexibility and applies a level of pragmatism into the delivery of the finis


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Software development fundamentals
Agile development growing, but problems remain
Hamish Reid, software engineer, Perforce Software
Agile, IBM tools boost Merge Healthcare's software quality
Extending application lifecycle management to the enterprise
Quiz: Open source software development
Help with development life cycle metrics
How to develop secure applications
Manage component dependencies for improved system quality
Survey: Agile interest high, but waterfall still used by many
Continuous integration reduces bugs, increases productivity

Agile software development
Agile development growing, but problems remain
Agile, IBM tools boost Merge Healthcare's software quality
Agile development reshaping requirements
Agile software development tutorial: How to transition to agile
Agile software development tutorial: Pros and cons of agile
Agile software development tutorial: Agile requirements gathering
Agile software development tutorial: Agile project management, tools
Agile software development tutorial: Agile testing
Reporter's Notebook: Jack Vaughan on agile methodology
Best practices for moving testers from waterfall to agile development

Extreme Programming (XP)
Reporter's Notebook: Jack Vaughan on agile methodology
The challenges of test-driven development (TDD)
How teams transition to agile development methodologies
Adopting continuous integration brings agility, other benefits
Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?
Software development groups take many routes to Agile
Agile Software Development: The Cooperative Game, 2nd Edition -- Chapter 3, Communicating, Cooperating Teams
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD
Better software through debugging and unit testing -- Other useful resources
Better software through debugging and unit testing

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build tool  (SearchSoftwareQuality.com)
development environment  (SearchSoftwareQuality.com)
heuristics  (SearchSoftwareQuality.com)
histogram  (SearchSoftwareQuality.com)
intentional programming  (WhatIs.com)
JAD  (SearchSoftwareQuality.com)
lean programming  (SearchSoftwareQuality.com)
peer review  (SearchSoftwareQuality.com)
source code analysis  (SearchSoftwareQuality.com)
Standard Performance Evaluation Corporation  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


hed product. It focuses on keeping code simple, testing often and delivering functional bits of the application as soon as they're ready.

[TABLE]

[Return to Table of Contents]

Scrum is an agile software development model based on multiple small teams working in an intensive and interdependent manner. The model employs real-time decision-making processes based on actual events and information. This requires well-trained and specialized teams capable of self-management, communication and decision-making. The teams in the organization work together while constantly focusing on their common interests.

[TABLE]

[Return to Table of Contents]

Extreme Programming (XP) is a pragmatic approach to program development that emphasizes business results first and takes an incremental, get-something-started approach to building the product, using continual testing and revision.

[TABLE]

[Return to Table of Contents]

Rational Unified Process (RUP) is an object-oriented and Web-enabled program development methodology. According to Rational (developers of Rational Rose and the Unified Modeling Language), RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development.

[TABLE]

[Return to Table of Contents]

Test-driven development (TDD) is a software development technique that involves repeatedly first writing a test case and then implementing only the code necessary to pass the test.

[TABLE]

[Return to Table of Contents]

[TABLE]


Send in your suggestions
Are there other topics you'd like to see learning guides on? Send SearchSoftwareQuality.com's editors an e-mail at editor@searchsoftwarequality.com and let them know what they are.






Software Quality Testing - Research and White Papers
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts