I constantly get emails from Static Analysis vendors telling me why I
need to buy their technology. Recently I’ve been receiving emails
explaining how my team can use static analysis tools to do impressive
things like “test millions of complex lines of...
Earlier this month I attended the monthly meeting of the Seattle PHP Meetup Group.
In ways I didn’t expect, it was a very interesting meeting. The content
itself was interesting enough (we were talking about database design),
but what I found even more...
A few weeks ago Chris Matts wrote an interesting blog post ‘the language of risk‘ in which he describes an approach he used to explain the processes his team uses to an auditor.
Why did the auditor like what I said?
Because I explained everything we did...
This article shows an example of how the application of the Open/Closed Principle improved the design of a real project, the open source library PHPUnit_Selenium. These design concepts apply to every object-oriented language, including Java, Ruby or even C++.
Maybe it’s all the time I spend with startups, but while I strongly
value Scrum’s ideas behind self-organizing teams & continual
feedback – I can’t help but feel Kanban represents the next level of
agility, giving us more flexibility and...
This is the fourth of several posts
in which I’d like to share some of the things we learned throughout more than a
year of Agile development using Scrum. Some of them might appear as open doors,
but I wish I knew or thought about those before I started...
One of the strong pillars of devops (if not the strongest) is the collaboration/communication. For the talk about Devops Metrics for Velocity 2011
I researched how to prove collaboration is a good thing: while
discussing devops to people it sometimes comes...
So far, we have only treated the movement of object members (fields and methods, and constructor as special methods); the assumption we made was that these members are moved between classes in an hierarchy which already exist.Larger scale refactorings involve...
As happens often for a method, a field may be present in the base class of a hierarchy even if it is actually used only in some of the subclasses. This scenarion can be the result of the evolution of the code from some previous state where that field was...
In the first post in this series, I explained why I think Maven Maven is a good idea.
Most projects need pretty much the same thing from a build system, but
using Ant normally results in complex, non-standard build system which
becomes a headache to...
In my previous post I explained why Maven is a good concept for Java project builds. In this post I'll delve into a key area where it falls down, the overcomplexity of its configuration.
In brief, we have a proliferation of home-brewed build systems
Clover is a
great tool for generating code coverage reports from your unit tests. It
can be executed as a plugin in Eclipse, Maven or Ant.
However, not everyone knows that it can also be used to collect coverage data of integration tests.
It’s the end of the year. Time to look back on what you’ve done, what
you’ve learned, your successes and mistakes, and what you learned from
them. I also like to look at the big picture: not just my team and the
projects that I manage, or even the...