by John Turner
Posted on November 11, 2010
We are all aware of the devastation that has occurred over the past few years in the banking sector. This has had a profound effect on the banking industry as well as on the people who have trusted this industry to safeguard their hard earned cash and retirement plans. People are more skeptical of the banking industry and are becoming more demanding of the services it provides.
Of course, this skepticism is not all down to the banking crisis but can also be attributed to the way people’s behaviours have changed over the last decade or so. These changes are primarily attributable to the internet and/or the demands modern living places on people’s schedules.Read More
by John Turner
Posted on July 13, 2010
Patterns of Agile Practice Adoption is another book from InfoQ that describes potential ways in which Agile practices could be adopted individually and as clusters of practices that complement one another. As with Domain Driven Development Quickly, this book can be freely downloaded (registration required).
Part 1 - Business Value, Smells, and an adoption Strategy
This part of the book focuses on the reasons why one might consider adopting agile practices. It starts by looking at the value that agile practices can bring to the business, follows on by suggesting problems that agile practices could address and finishes by describing how to adopt agile practices.
Agile practices have the potential to deliver value to the business in a number of areas and your business might be more sensitive in one or more of these areas. The areas discussed include:
A useful exercise is presented at the end of this section to help one determine which areas are more important to your business.
We, as developers, are used to discussing code smells but probably less used to discussing smells in our development methodology or practices. This section discusses ‘Business smells’ and ‘Process smells’. Business smells are smells that affect the business and are visible to customers while process smells are only visible to the development team. I’ve listed the smells discussed below:
Again, a useful exercise is presented at the end of the section that asks one to discover, investigate and rank smells within the organisation.
Adopting Agile Practices
An awareness of agile practices is assumed as business values are related to corresponding agile practices that could potentially enhance the ability to deliver these values. Similarly, smells are related to corresponding agile practices that could potentially address the smell.
Advice is then delivered on how to use the information presented to develop a tailored agile adoption strategy. This advice can be summarised as follows:
by John Turner
Posted on July 05, 2010
With the advent and popularity of the EJB specification, developers spent more and more time focusing on learning and adhering to specifications and less time focusing on good design principles and OO development techniques. Domain Driven Design by Eric Evans attempted to reverse this trend by refocusing on the most important aspect of software design, i.e. representing the business domain within the software.
Domain Driven Development Quickly is a book from InfoQ that summarises the material presented in Eric Evans’ Domain-Driven Design book. It can be downloaded freely in PDF format (requires registration).
What is Domain Driven Development
An introduction to domain driven development is presented by first discussing the general nature of software development. An example and discussion of the solution domain follows.
The value of reflecting the (abstract) business domain in code is discussed. An overview is provided of how the model is developed from initial discussions with domain knowledge experts. A high level explanation of how the domain model evolves and is used to convey knowledge among interested parties is then given.
The Waterfall Model receives some criticism because of the absence of a feedback loop from business expert to analyst to developer. Agile methodologies on the other hand receive praise for their iterative nature.
Finally, a worked example of building a domain model for a flight control system is presented. The role of the software modeller and knowledge expert is described as is their interaction during the development of the domain model.Read More
by John Turner
Posted on June 29, 2010
If you are a software developer, The Pragmatic Programmer is not just a book but an arm around your shoulder, the mentor that you never had. It has rightly earned its place on the bookshelf of every self respecting software developer in the land. First published in 1999, it is as relevant today as ever.
Ron Jefferies said about this book ‘As with any such book, much of the advice is something you already know. Much of it is also something you have forgotten to focus on lately.’. You may or may not learn anything new, but this book will remind you what is important.Read More
by John Turner
Posted on June 10, 2010
Recently, I have taken to reading books concerned more with process of software development than the nuts and bolts of working with one language/framework/methodology or another. The Pragmatic Programmer is one such popular book that inspired a whole range of such books under The Pragmatic Bookshelf label. Another book under this label is “Pragmatic Thinking & Learning” by Andy Hunt.
Chapter 1 - Introduction
The context for the book is set and importantly, Andy highlights that while this book discusses the material and techniques with a focus on programming, it is not specific to programming. Indeed, I purchased the book hoping to improve the effectiveness of my studying techniques generally and the techniques covered have wide applicability. Andy also summarises the material and how it will be presented.
Chapter 2 - Journey from Novice to Expert
The five stages of the Dreyfus model of Skill Acquisition are explored. Examples of how the Dreyfus model can be used (and abused) are presented in the section ‘Herding Racehorses and Racing Sheep’. It’s a very useful title in that it invokes a strong image of poor utilisation of specialised resources.Read More