Modern Software Development Methodologies

Topics: Extreme Programming, Agile software development, Dynamic Systems Development Method Pages: 5 (626 words) Published: August 12, 2013
Modern software development methodologies

Softwares projects are often considered pale due to inability to cater to changing user requirements.


Modern software methodologies encourage using shorter iterations, an iteration is a single development cycle that delivers a limited set of features which is usually done in 1-2 weeks.

Agile software methodologies:

A group of software methodologies and practices that enable to accommodate frequent changes in user requirements during the project time period. They are based on iterative and incremental development.

Dynamic systems development method
Feature driven development

Agile software methodologies:

Accepting changes in requirements anytime
Customer centric software development
Light weight software development (less prominence to documentation) Good for small teams of experts

Agile manifesto

Manifesto site
Agile manifesto is a formal declaration of 4 key values and 12 principles to guide an iterative an people centric approach to software development

4 key values of Agile

Individuals and interactions are valued over processes and tools Working software is valued over detailed documentation Customer collaboration is valued over a contract negotiation Responding to change is valued over following a preset plan

Extreme Programming (XP)

An agile methodology which is intended to improve software quality and responsiveness to changing customer requirements.

XP specialised in quality, XP specialised to adapt to change

Risks of XP:

Schedule slips

Business changes

Staff turnovers

New technologies

4 control variables of XP projects:


External parties (clients, managers etc) can decide the values of any 3 variables the XP team get to pick the value for the 4th variable. Deciding the values for the 4 variables is done in a transparent manner.

The 12 practices that define XP:

The planning game
Small releases
Simple design
Pair programming
Collective ownership
Continuous integration
40-hour workweek
On-site customer
Coding standards

1. Planning game

A meeting attended by both IT and business tea that is focused on choosing user stories for one iteration.

User stories are provided by the end users.

2. Small releases

XP releases are small in terms of functionality (1-2 features per iteration)

3. Metaphor

XP encourage using a naming concept for classes and methods that make it easy for a team member to guess the functionality of a class or method just by its name.

This supports stand-up meetings

A stand up meeting is held every morning to communicate problems, solutions an promote team focus each member has to tell:

What was accomplished yesterday
What will be attempted today
What problems are causing delays

It is a time-boxed meeting where everyone stands up in a circle

4. Simple design

Do as little as needed. Only the basic features the customer wanted.

Avoid unnecessary complexity, abstractions, expand ability in the design.

5. Testing

Unit test- test small code unit


6. Refactoring

Changing the internal structure of software time to time to make it easier to understand and cheaper to modify without changing its observable behaviour

7. Pair programming

Two developers are assigned to code one module. One person concentrates on...
Continue Reading

Please join StudyMode to read the full document

You May Also Find These Documents Helpful

  • Project Management Methodologies Essay
  • Dynamic Systems Development Method and Methodology Essay
  • What Is the Best Methodology for Development of Web Applications? Essay
  • Essay about Development of an Attendance System for Kabila Using a Dynamic Systems Development Method
  • Information Systems Development Methodologies Essay
  • Software Engineer Paper
  • Software Engineering Essay
  • Essay on Systems Development Life Cycle SDLC Systems

Become a StudyMode Member

Sign Up - It's Free