Article :: Mental Retooling for Agile Project Management

By stealthily employing some Agile principles, Dave Christiansen took his project team from pointless to practical. Here's the tale.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Exploratory Testing on Agile Teams

Jonathan Kohl relates an intriguing experience with a slippery bug that convinced his team of the value of exploratory testing: simultaneous test design, execution, and learning.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Advantages of User Stories for Requirements

At the surface, user stories appear to have much in common with use cases and traditional requirements statements. However, there are many subtle differences among them and many advantages to user stories, especially for agile development projects.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Perils and Pitfalls of Agile Adoption

Agile development sounds great; what could go wrong? Matt Heusser examines some of the myths, mysteries, and classic mistakes in Agile development, including some things to consider before jumping into Agile with both feet.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Telling Stories and User Role Modeling

Agile software development is based on "telling stories." In this sample chapter, you'll learn about user roles, role modeling, user role maps, and personas. You'll also find out how taking these initial steps leads to better stories and better software.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Crystal Clear Applied: The Seven Properties of Running an Agile Project

This chapter describes seven properties set up by the best teams. Crystal Clear requires the first three. Better teams use the other four properties to get farther into the safety zone. All of the properties aside from osmotic communication apply to projects of all sizes.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Software Development: Agile vs. Disciplined Methods

So what does it feel like to develop software according to plan-driven or agile methods? In this chapter we try to portray the activities in a typical day on a software development project as performed by a plan-driven, PSP/TSP-trained team and by an agile, XP-trained team.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Software QA 101: The Basics of Testing

The testing phase of software development often gets short shrift by developers and IT managers. Yet testing is the only way to determine whether an application will function properly before it is deployed. In this article, Sue Hildreth offers an overview of the why and how of software testing.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Overview of Agile Development

This chapter explains how Agile delivers valuable software by encouraging direct dialog between the customer and developers.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Avoiding Java Exception Abuse

There are always exceptions to the rule, right? In Java, those exceptions allow a clean break from normal program flow in the event of an exceptional situation. They're not used for program flow interruption, but for program flow branching, which can sometimes lead to difficult-to-maintain code. Marcus Zarra walks you through several best practices for using exceptions in Java.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Agile Management for Software Engineering: Dealing with Uncertainty

There are five main constraints in software development management — people, time, functionality, budget, and resources — which all must be protected from uncertainty. Uncertainty manifests itself when the unplanned happens. David J. Anderson explains how a system can absorb uncertainty with the provision of buffers, and how and when these buffers should be used.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Software Development: Iterative & Evolutionary

Iterative and evolutionary development is a foundation not only of modern software methods, but of methods used as far back as the 1960s. Agile methods are a subset of iterative and evolutionary methods. This chapter summarizes key practices of iterative and evolutionary software development.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Developing Secure Applications Through Aspect-Oriented Programming

This chapter provides helpful information on using aspect-oriented programming to develop security components for distributed applications. The effectiveness of AOP technology is demonstrated with two application-level security problems that illustrate the utility of this technology.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Agile Software Management Accounting for Systems

Throughput Accounting can be generally applied for the management, control, and reporting of any system. Throughput Accounting is appropriate for managing general systems because it focuses on Throughput, which is the desired adaptive behavior of the system.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Scaling Software Agility: Best Practices for Large Enterprises

When it comes to software development and software project management in general, agile changes everything.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology
Article :: Conventional Software Testing on a Scrum Team

The Scrum methodology can pose a challenge for software testers who are used to more traditional waterfall-inspired development processes. Jonathan Kohl relates his experiences working on Scrum teams who found some clear advantages in changing their methods.

Categories: Agile Programming | Computers | InformIT | InformIT Agile Programming | Programming | Project Management | Technology