Get started Bring yourself up to speed with our introductory content.

Excelling in Agile software development, testing and quality tutorial

This new Agile development, testing and quality assurance tutorial delivers the latest in expert how-tos and trends analysis, as well as best practice guides and waterfall versus Agile debates. Both recent Agile development adopters and long-time Agile users will benefit from Agile veterans' advice on scaling Agile, collaboration tactics, developer/tester relationships, project management issues and automated test and management tools.

While debate about the effectiveness of Agile software development continues, more software pros and development organizations are adopting Agile practices and using Agile tools. Indeed, some have been using Agile in development, testing and business processes for years. This Agile tutorial provides expert advice and user commentary for recent agile adopters and longer-term agile users. Topics covered include scaling gile; choosing and using open source, automated and integrated Agile-optimized tools; requirements gathering and management in Agile environments; pros and cons of Agile and waterfall methodologies; and more.

Table of Contents:

Agile methodologies and trends

Agile software methodologies include a number of different methodologies that follow the basic principles outlined in the Agile Manifesto that was authored in 2001.

Agile Manifesto Values:
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

We are uncovering better ways of developing software by doing it and helping others do it. In the following video, Agile guru Lisa Crispin answers the question, "Are there times when Agile is not the right approach to software develoment?" She suggests that team practices are just as important as the methodology teams use.

The growing trend of Agile use was examined in a survey, discussed in the following video by Dave West. He highlights some of the survey's findings, touching on Agile tools, planning and integration.

Agile by the numbers: Survey finds more adoption, but age-old problems
Agile software development methodologies, with an emphasis on Scrum, continue to grow in popularity according to results from a recent reader survey. Trends show increased numbers of distributed agile teams and that organizations are using various hybrid approaches such as Scrum/XP, a combination of Scrum and waterfall, or the emerging Kanban methodology. Documentation, communication, and resistance to change remain the top three challenges for those using agile methodologies. Find out how respondents are dealing with these challenges, the tools they find most essential in an Agile environment, and the benefits they are gaining from an Agile approach.
Read Full Story

Agile development growing, but problems remain
Promoting flexibility and change, Agile methodologies themselves have been morphing and undergoing change and adaptation since the Agile Manifesto was written in 2001. From organizations that use homebrew methodologies peppered with agile practices to die-hard practitioners that follow a specific agile methodology to the letter, there are a variety of ways groups are using Agile. Scrum continues to gain momentum as the pervasive Agile methodology while Extreme Programming (XP) has been losing mindshare, though remains popular in northern Europe. Add Dynamic Systems Development Method (DSDM), Crystal , Lean and Kanban to the mix and you find there's no shortage of Agile methodologies to choose from. Has everyone jumped on the Agile bandwagon?
Read Full Story

To The Top

Scaling Agile projects using Focus Stories

Mike Dwyer

In this four-part series, Principal Agile Coach Mike Dwyer steps us through the use of Focus Stories for large Agile development efforts. There is often skepticism around use of Agile practices on large-scale software development projects. Through the use of a Focus Story – a high-level definition at the goal of the project with a measurable and time-based definition of DONE -- large projects are able to stay on track. Dwyer steps us through the processes and benefits of aligning work being done on multiple teams to one over-arching Focus Story, ensuring efficiency in work processes for the smaller teams, all working together to achieve a common goal.

Part 1: Scaling Agile development: Get your Focus Story together
Part 2: Aligning business goals with Focus Stories
Part 3: Agile development: Quality assurance, consistency in testing
Part 4: How to manage your development portfolio through Agile Focus Stories


To The Top

Agile project management best practices and responsibilities

Software project management comes in a variety of flavors. Project management methods and approaches in agile project management, include: iterative, incremental, adaptive, process-based or a traditional phased approach, often called a waterfall model. Some organizations are using hybrid approaches which may combine the disciplines of the traditional approaches with the flexibility of some of the Agile methods. The software project management and quality assurance industry leaders are continually striving to find new and better ways to improve efficiency and quality in the software development lifecycle. These articles give some of the issues project managers face and the differences between managing in an Agile environment rather than a more traditional environment.

Agile project management by Jim Highsmith

 Adaptation in project management through Agile (Agile Project Management by Jim Highsmith)
Traditionally, project management has been about managing budget and resources to deliver a product on time that includes the features and functions originally specified. So how is Agile project management different? Agile is more about managing change. In traditional environments, project managers struggle with following the original plan and aim to minimize change. In an Agile environment, the project manager works at adapting to the inevitable change that is expected and welcomed. The goal of the Agile PM is to achieve customer satisfaction by allowing the customers the flexibility to change the plan over time. Adaptive and traditional approaches are quite different and require different styles of management, processes and measurements for success.
Read Full Story

Software expert on Agile's rise, avoiding project management mistakes
Agile software development has been getting a lot of attention, but is it always the right solution? In this interview , project management consultant, author and Agile expert Barbee Davis shares her views on the popularity of Agile, mistakes that software project managers make and career advice for those entering the field of software project management. Read more to find out Davis' thoughts on the difference in methodologies and how she believes project managers can best succeed in any environment.
Read Full Story

David Christiansen
David Christiansen

Best practices for Scrum and when to apply them
Software testing, when using a Scrum methodology, occurs right alongside development. While there are no silver bullets, there are some best practices that can be put in place to help improve the chances for high quality and success with each code iteration. In this article, David Christiansen provides useful tips on how testers can make sure a story is properly tested using such techniques as the HICCUPPS method and automation. Christiansen outlines some key guidelines that project teams should be following in order to address some of the common weaknesses of Scrum-based projects.
Read Full Story


To The Top

Agile tools

As the software development industry continues to grow and change, so do the tools that are used to manage the software development lifecycle. There are a plethora of new tools, both open source and commercially available, supporting projects that are being managed using Agile methodologies. In this set of articles you will learn about some of the popular tools that are used in an Agile environment, including open source tools for the budget-conscious, automation tools for speed, and reporting tools allowing for project transparency throughout the organization.

Free tools for Agile testers
In this tip, software expert David Christainsen describes the benefits of free testing tools, particularly useful for those testing in an agile environment. Selenium IDE is a record and playback tool used for testing Web applications through a Firefox browser. This tool can be used to replicate bugs for error reports as well as for functional automation. Sun VirtualBox will allow for testing your application on various operating systems and browser by creating simulated environments of the needed technologies. PivotalTracker is a project management tool, specifically for agile teams. Learn more about these tools and others that will help your team achieve success without impacting your budget.
Read Full Story

Matt Heusser

Using automation to speed up software testing in Agile
Can automation improve and speed up software testing in Agile development? In this informative tip, test pro Matt Heusser discusses a variety of automation techniques and tools that can be used in your Agile environment. Types of automation include record and playback, keyword-driven testing, behind-the-GUI testing and model-driven testing. Find out the differences in each of these, the best tools to use in each scenario and how to get started. Automation does not solve all problems and is not necessarily the right approach for every project. Heusser explores the subtle differences and helps readers become aware of options so that they can decide what would be best for them.
Read Full Story

Tools bringing traditional, agile projects together
Larger organizations' distributed teams' "stickies on the whiteboard doesn't cut it," said Todd Olson, of Rally Software. "Executives need a different set of tools." Organizations that have a combination of both traditional and Agile approaches to development are looking for tools that will accommodate either methodology. This article looks at three tools that provide the transparency required of agile applications in large-scale, geographically dispersed organizations. Reporting tools are necessary to give organizational insights into the status of their projects and in heavily regulated industries, provide traceability evidence. Read more to find which tools are recommended and some of the functions they provide.
Read Full Story


To The Top

Waterfall vs. Agile

The age-old debate continues between the traditional phased waterfall methodology known for its discipline and adherence to standards and the leaner Agile methodology, touted for its adaptability for change. These articles outline some of the differences between the two, examining the strengths and weaknesses in each approach.

Testers debate differences between waterfall, Agile test automation
In this two-part discussion between seasoned test experts, Matt Heusser and Lanette Creamer, Creamer poses some difficult questions about the differences between the Agile and waterfall approaches to software development. Creamer questions whether testing practices such as Test-Driven Development (TDD) and automation are really Agile techniques or practices that can be applied to any software project. She also asks about depth of test coverage or integration testing with legacy systems in Agile environments. Read on to find out how Heusser answers these tough questions and what Creamer and Heusser agree is benefiting testers, regardless of the methodology they use when developing software.
Read Full Story

Why waterfall developers still shun Agile
Is agile for everyone? In this post we find Agile experts who admit that there are certain instances when the tried-and-true waterfall approach may be the most appropriate for a software project. This resistance to change may be due to a variety of reasons, but basically, if the team is operating successfully, they don't see a compelling reason to rock the boat. Another major reason some are resistant to join the Agile movement is the resistance of the Business to get more involved in development processes. This post includes a video clip from HyperStratus CEO Bernard Golden giving his point of view.
Read Full Story

Ways Agile beats waterfall development and boost software quality
This article says explains some of the differences between the agile and waterfall approaches to software development, stating that Agile allows the team to reach its goals by providing short iterations, each with its own development cycle, allowing for continuous integration and improvement based on customer feedback. Tests are carried out throughout the Software Development Life Cycle (SDLC), enhancing quality throughout, rather than squeezing it in at the end. Find out more why so many people feel that Agile is the best approach to developing software.
Read Full Story


To The Top

What the experts have to say – podcasts with Agile leaders

Ellen Gottesdiener

Succeeding with software requirements in Agile projects
Have you ever wondered what CRUD activities are and when you perform them? What about YAGNI documentation? Curious about what the best practices for Agile requirements management are? Ellen Gottesdiener, principal consultant at EBG Consulting Inc. speaks on these topics and more in this SearchSoftwareQuality audiocast.
Listen To Podcast

  • How to determine which items from the backlog should be chosen for an iteration
  • The amount of detail needed for user stories
  • How teams can "tamp down" requirements
  • How to best handle documentation requirements
  • How the "big picture" requirements are considered in an Agile environment

To The Top

More Tutorials:
Web 2.0 application security troubleshooting, testing tutorial
From beating login problems to hacking your own applications, this multimedia how-to collection of how-tos covers all security topics in Web 2.0 and rich Internet applications.

Mastering software requirements use cases, elicitation and Agile processes
Software development, test and requirements experts offer how-tos and tips for eliciting software requirements, developing use cases and using Agile practices.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.