David Dickinson

David Dickinson

Author's Posts

In Retrospect . . .

David Dickinson

One of the many recommended Agile practices is to conduct retrospectives at different intervals during and after a project. For those of you who are unfamiliar with the concept, in their seminal book Agile Retrospectives, Esther Derby and Diana Larsen define a retrospective as, “a special meeting where the team gathers after completing an increment of work to inspect and adapt the methods and teamwork.”[1] This process of inspection and then adaptation has many salutary effects (listed by Derby and Larson), including improved productivity, improved capability, improved quality, and increased capacity. Here at Pinnacle, as part of our custom development process, we faithfully conduct retrospectives at least once every two iterations and at the end of each release because we have seen these benefits. However, in this post I want to reflect on a few of the less tangible benefits I have observed.

Read More
Topics: Development

Coupling and Cohesion: An SOA Challenge

David Dickinson

Cohesion and coupling are two fundamental concepts in software development at least since Stevens, Myers and Constantine published their seminal article “Structured Design” in 1974.[1] Since then, however, there has been a great deal of metamorphosis, metastasis and other alterations to the basic definitions depending upon the context and the application.

Read More

The H-Factors

David Dickinson

This is a blog post about attitude and approach, rather than technique or practices and its origin was in my attendance at the Software Craftsmanship North America (SCNA) conference in Chicago this past November. As always, the SCNA organizers put on a great set of meetings and I learned a lot and was able to spend time with like-minded practitioners of the software craft. But the more I thought about it, the more the last part of that last sentence began to gnaw at me; “like-minded practitioners.”

Read More

Agile in Practice: Removing the Mystery of Software Development

David Dickinson

Naturally, after reviewing the fragile foundation that underpins the traditional development, the next step is to offer a solution to the problem: How can we effectively manage IT projects in a way that meets the customer’s goals without the usual cost/time overruns and with no diminution in quality? Agile development practices present an alternative that addresses the issues with conventional software development and also addresses the need for increased customer engagement.

Read More

Agile in Practice: Traditional Development Assumptions II

David Dickinson

Last time we reviewed some of the assumptions that underlie the traditional method of software development, commonly termed “Waterfall.” This week I’d like to address in a little more detail some of these fallacies.

Read More