Testing and concurrency Our team is currently working with a client on a medium sized, medium complexity Java application which has quite low test coverage. We are introducing characterisation tests to snapshot functionality. These will give us the confidence to refactor away ...

Importance of real time performance monitors Decent log entries are essential. On our current project we aim to write enough data to allow off-line analysis of performance and usage plus errors. I am also an advocate of more immediate and accessible runtime information. Log analysis is great but ...

Concrete problems when developers opt out of TDDWe have two major classifications of automated test in common use: Acceptance tests which execute against the application in its fully deployed state. Unit tests which typically target a single class and are executed without instantiating a ...

Anti-pattern: The release vehicle.At my current client site you cannot get a piece of compiled code into production unless you can find an appropriate 'release vehicle', i.e. a planned high ceremony release of the component which has been officially prioritised, scheduled and funded. ...

Tale of two SCRUM stand upsI walked past two teams doing their daily SCRUM standup today. Both teams claim to be agile. I didn't join in (even as a chicken) but just observed for a minute or so. The first team was sitting down in a breakout area. Their body language spoke volumes. ...

Value and cost in hardware and softwareNeal Ford's presentation on emerging architecture contained a reference to the controversial Intel practice in the 1990s regarding the 386-SX math co-pro. Intel were producing two variants of the 386 chip at the time: The 386-DX which featured a ...

Agile 2009I have spent the week at the Agile2009 conference in Chicago. This annual conference, now in its eighth year, is the premier international gathering for agilsts. It caters for a whole spectrum of experience from new comers to the discipline to the gurus ...

Use of best of breed open sourceOver the last two years of my current project I have noticed a recuring pattern. On several occasions we have identified an implementation pattern which commonly appears on many enterprise projects. That pattern is common enough that there is a well known ...

Security compliance without empirical evidenceAs the project nears the final delivery I am having to complete a statement of compliance for group security (did you feel a shiver as you read that, it was justified). One of the values I have tried to instil is that we don't do any documentation or ...

Valtech Blog is liveThe Valtech blog is live, yay! It incorporates posts from various Valtech consultants and covers all things Agile and software development in general. My submissions are featured so no more swearing...

SpringSource in the cloud?SpringSource has been acquired by VMWare! Interesting that VMWare paid more for SpringSource than Redhat paid for JBoss, even in the midst of the recession. Spring has got to be the tool of choice for the development of enterprise Java applications ...

Professional Services DayWe had an excellent professional services day today. Rather than the previous format of set talks and dry presentations the organiser used the Open Spaces pattern. He drew up a grid with time slots and rooms then invited the attendees to write a single ...

Dangers of executable examples over dry documentationMy team is responsible for several web service APIs that are used by external parties. The standard pattern for educating users about these interfaces was to provide an API document which listed the calls possibly with the occasional example. I have ...

In container vs out of container testingEver since I started with Test Driven Development back in early 2004 I have always advocated out-of-container testing and regarded any test scheme that requires deployment before execution as flawed. I still think this is largely true and there are many ...

Death by developerIf you commit suicide by forcing a police officer to kill you, this is Death by cop . We have some stakeholders external to the team who seem committed to performing death by developer. Just because a project is agile and adaptive to change doesn't mean ...

Removing database dependancy from testsAt a recent internal tech day a project I had previosuly been involved in made a short report about some serious issues they were having with their test suite. They made heavy use of DBUnit to create a complex data set in an Oracle database. This was ...

DistractionsWe are still getting distracted from our main task. Two of the four developers have spent more than 50% of their time looking at a production memory leak. I am spending a lot of time doing interviews and attending meetings. All of it is important but it ...

Welcome to the waterfallWe have made some progress in the last week of development but it has not been as I envisaged. We have spent a lot of time talking through the use cases and that has helped the dev team understand some of the issues facing us. Those use cases have been ...

Technical interviewsExecuting a decent technical interview is hard. Often you only have an hour or less with a complete stranger to somehow assess technical skills which might take days or even weeks to fully appreciate if you were working with them on project. The urge to ...

The release starts hereI am keeping a diary of the main events during a software release as they happen. Right now, we are moving (in the client's methodology) from feasibility to detailed design. For a few weeks now one release has been almost finished and another almost ...

Re: Anti-pattern: The release vehicle.This whole Article hits the NAIL ON THE H.E.A.D. I am so tired of what's happening in the software industry. I really am exhausted with all the crap. All i want to do is get stuff out there. Stuff that really works. Stuff that'll make the customer happy, ...

Re: Anti-pattern: The release vehicle.I definitely agree but I could I suggest that you have a better definition of a 'release vehicle' to indicate that each release vehicle is a one-off. To borrow your transportation analogy, the solution you have suggested is a 'release train' where you ...

As the project nears the final delivery I am having to complete a statement of compliance for group security (did you feel a shiver as you read that, it was justified). One of the values I have tried to instil is that we don't do any documentation or formal design with no clearly defined audience. When we do identify a subject that does need to be formally recorded I am keen that it is done well. The interactions between components OAUTH is one of those few key areas.

The OAUTH sequence diagram was correctly checked into the UML repository and was pretty good. Looking at it I was suddenly struck but a deep sense of unease. How was I supposed to know whether the implementation sitting on our servers bears any relation to the work of art being displayed on my screen? What value is my statement without real knowledge that we are secure? I know this is is something I have known for years and bang on about to anybody who will listen but it was a startling moment to be sitting there looking at the design and being asked to make a formal statement about its realisation without empirical evidence. I already knew from an audit of the acceptance test suite (end to end, automated, in-container tests) that one of the omissions was anything that exercised OAUTH. I decided that one of my priorities for tomorrow will be the completion of that test and that I wont be making a statement of compliance without it.