Skip to main content

Posts

Agile Cambridge: Creating a Walking Skeleton from Scratch

11am Thursday 29th December 2011 Come and see me at Agile Cambridge . Session Starting with an (almost) clean IDE Paul will develop a Walking Skeleton. The walking skeleton was described by Alistair Cockburn as "... a tiny implementation of the system that performs a small end-to-end function. It need not use the final architecture, but it should link together the main architectural components. The architecture and the functionality can then evolve in parallel." It is also one of the theme's in Freeman & Pryce's Growing Object Orientated Software Guided by Tests . In this session Paul will start with an (almost) clean IDE and develop a walking skeleton for a simple application and demonstrate how Test Driven Development (TDD) can be used even at the system level to test features. Profile Husband, father, software consultant, author, testing and agile evangelist. Paul has been programming in one form or another for over 20 years and ha...

Mocking C++

This month’s ACCU London was at 7City to hear Ed Sykes tell us about a couple of C++ mocking frameworks, MockIt Now and HippoMock . Ed is a very relaxed, confident speaker and the code and demonstrations he used were simple, straight forward and easy to understand. I mostly came a long to meet Ed as he’s an excellent contributor to the ACCU and specifically the Mentored Developers projects. Ed obviously hit a chord with the audience and there was plenty of interaction and question asking. There were even a few tangents that Ed handled brilliantly. It looks like both of these frameworks use quite a bit of compiler magic and function pointer repointing, along with macro magic to achieve in C++, what is easily achieved with reflection in the likes of Java and C#. Following the short presentation there was a long discussion on the more general topic of mock objects. Even though I haven’t used C++ for a little while, this presentation was absolutely fascinating and I will definitely be u...

Behavior Driven Development

While collaborating on a new article I was recently pointed in the direction of Behavior Driven Development (BDD) by Chris O’Dell . I only thought I had a vague idea of what it was before and I got so absorbed in Behavior Driven Development on Wikipedia and Dan North’s Introducing BDD today that I missed my stop on the tube. I never miss my stop on the tube! There are two main points that stood out for me. I usually develop software inside out. Start with the model and then add the user interfaces on top. Dan North tells us that the first thing that we should do is get the user interface going and then show it to the customer/user to get immediate feedback. This is actually far more sensible as the user interface is what the users see and use, so they can tell you if it’s right or how it needs to be changed. Then you can develop the model to suit, rather than the other way around. For while now I have been looking for a good way to record acceptance criteria with user stories and I t...

An Introduction to the WPF with the MVVM - Part 1

After three wonderful years working with Java I am back in the C# arena and amazed by how things have changed. When I was working with C# previously it was with .Net 1.1 and as I return .Net 4 is ready to go. I started a new contract and my client suggested that to get ahead of the game I should learn Windows Presentation Foundation (WPF), the latest Microsoft framework for creating Windows desktop (and web) applications. It replaces the likes of Windows Forms on the desktop. Two of the major features of WPF are that it is rendered entirely on a computer's graphics card and separates presentation from presentation logic. Manning is my preferred technical book publisher, so I bought the PDF version of WPF In Action with Visual Studio 2008 and read it on my Kindle. It is a great introduction to producing Graphical User Interfaces (GUIs) with WPF, but I later discovered that although Model-View-ViewModel (MVVM) is covered, the detail is not great. The MVVM pattern is similar to Marti...

JVM Cloud Platforms

Tonight kicked off with the usual high quality lightening talks that I have come to expect form the London Java Community . The two main presenters spoke individually about the cloud solutions that their individual companies offered. I know little to nothing about cloud computing. The emphasis was centred around Platform As A Service (PaaS). It appears that most of the major players (Amazon, google, etc) do not provide a private PaaS for testing and development. I find this astounding, despite the fact that I have worked with at least one major vendor who makes it very expensive to have a development environment, but at least it was still possible. The stronger of the two systems described seemed to be the offering from SpringSource . Peter Ledbrook (Grails Advocate and ACCU Mentored Developers mentor) is a very interesting speaker. He has clearly been bitten by live demos not working in presentations before and, alas, he was bitten again tonight. Although, the previous speaker als...

One Test Or Two?

Paul Grenyer & Chris O’Dell "I know what you’re thinking: “Is that two tests or only one.” Well, to tell the truth, in all this agility, I’m not sure myself. But this is Test Driven Development, the most power development technique in the world, and could give you clean code, you’ve got to ask yourself one question: Do I feel expressive? Well, do ya, punk?" Paul: I have a Windows Presentation Foundation (WPF) application that loads a list of widget names from a database and uses them to populate a drop down box. There is no default widget, so the user must select one from the list and click the load button to load it. The behavior is such that before a widget name is selected the button is disabled and cannot be clicked. One pattern often employed in WPF applications is Model-View-ViewModel . The view model can use variations of the Command Pattern for processing commands from and giving feedback, such as the enabled state of a button, to the View. MVVM is intended to ...

The Last Programming Language

Tonight was mostly about entertainment and Robert C. Martin had me in stitches for most of the evening. He started off, as I gather he often does, by seeing who in the room could recite PI to any number of decimal places and how he lost a PI off to Herb Sutter . Throughout his talk Uncle Bob mentioned most of the languages and paradigms of the last 60+ years and gradually brought us to the idea that nothing much that was really new has come about since around 1965. He went on to tell us that he thought that programming would converge into a single language. He even told us what that language would be, but I'm not going to spoil his surprise. If you ever get the chance, go and listen to Uncle Bob! It's 100% geeky fun with a serious message. And I got my copy of Clean Code signed. See the video here .