Agile Software Development

Agile Software Development

This blog is all about Agile Software Development. The blog is concerned with Agile Software Development Methodology. The most popular pre-packaged method is probably Scrum. Scrum is used for software development in many corporations. There are other methods beside Scrum. One example is eXtreme Programming. Although losing some of its popularity, still there are many ideas from XP that are widely used. Examples include Test Driven Development (TDD), Continuous Integration (CI), Coding Standards and Collective Ownership of Code. Extreme Programming (XP) can be combined with Scrum to form Scrum Extreme Programming.

Software Requirements Engineering

This blog is also concerned with software requirements engineering. Requirements engineering goes beyond mere use cases and user stories. It covers functional and non-functional requirements. It is all about getting what you need and knowing what you need.

Agile Project Management

Working together as an agile team. Unveiling of The URI Is The Thing by Nick J Webb, on Flickr. Used under a creative commons license, click for details.

Agile Project Management is important for Agile Software Development. Not everyone will agree that Project Management is a correct term to be used as it has many connotations and associations with plan driven software development which is seen as the opposite of agile software development.

Software Testing

Software testing is also important. Without continuous testing there is no real agile software development. Organizations like ISTQB provide frameworks for testing and testing methodology. Search-Based Software Engineering is a field of research that is also providing many interesting results on software testing including software test generation and software test selection.

Research Results

The posts on this blog comment on Agile Software Development and other Agile developments and touch on specific methods such as Scrum and Extreme Programming. The posts are based on my experiences of agile software development in different settings. I try to explain and improve on agile software development methodology. I scan the research literature on software engineering and agile software development methodology and provide commentary on the most interesting findings and research results.