Twitter

Breaking the Build at the New Job

My first break of the CI build on a new team came about two weeks into starting the new job. We had made a small change to a dynamically created URL on a single page of the application. Normally this would fall into the category of “too simple to test” for me. My pairing partner [...]

Developer Expectations

I came across a note of mine from last year on my baseline expectations for developers: All code is checked into source control on an hourly basis or at most daily. Every project has an automated build. (Maven, Ant) All projects are setup in continuous integration (Hudson) All code follows the current Java/Groovy coding standards. [...]

Multiple IDEs

According to a Forester report the multiple IDEs for Java developers is standard practice: While Eclipse is common, it won’t become the only Java IDE in enterprise IT shops any time soon. Less than one out of five Java developers have a single primary Java IDE and no other. – Jeffery S. Hammond (Forrester Research) [...]

Continuous Integration Game One Year Later

Hudson has a Continuous Integration Plugin game that gives you points for successful builds, adding tests, removing TODOs, etc. As a plugin it started out simple, but now allows you to get points based on: Doing a successful build. Adding new successful tests. Fixing PMD, FindBugs, or Checkstyle warnings. Fixing a compiler warning. Fixing a [...]

Staying A Specializing Generalist

Long ago Scott Ambler discussed the idea of a specializing generalist, an element critical for Agile teams. Stumbling across the definition of a generalist who has developed some deep skills in certain areas, but broad skills in a variety of functions felt natural. As a very old web developer I long ago spread out from [...]

Testing .NET Code Behind

Running through a recent code review on an outsourced internal project I came across a new issue. The developers have built a few SharePoint Web Parts in using ASP.NET. I gently asked where the unit tests where since I’d dug around in source code and not seen any. The developers looked a little surprised and [...]

Rhythm of Broken Builds

Saturday 1:15 Build Broken 1:22 Build Broken 1:46 Build Fixed Sunday 9:18 Build Broken 9:26 Build Fixed Active healthy projects have a rhythm. The scenarios look like: The project rarely has any active development. Broken builds are a complete surprise. If you know someone is coding on it, you need to quickly provide some feedback [...]

Continuous Integration and Audits

Audits are easy to pass. You have a documented process. You have a pile of documentation that shows that you followed the process. An auditor independently validates the documentation. Much like running your suite of tests on a CI server. In an average IT shop you may even have audits of your software process. Recently [...]

Bridging Development Realities

Denis over at One Brike At a Time recently expressed frustration at having to use low trust practices: It used to be that I did not care much for defensive programming outside of a system’s boundaries. It used to be that I did not really care or believed in strict source control (as in authorise [...]

Blowing Out the Maven Repository

After about 45 minutes of frustration trying to work through some maven exercises in the Sonatype book I kept arriving at the following message: 1Reason: Not a v4.0.0 POM. for project org.apache.maven.plugins:maven-site-plugin at /Users/edgibbs/.m2/repository/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom I had the sample code downloaded and got the same error, so I investigated possibly not having access to the maven [...]