Subversion, a mature open source version control system used by many open source projects, has just released version 1.5. New features include: merge tracking, sparse checkouts, and conflict resolution in the command line client.
Many agree that the minimum set of Agile practices includes disciplined version control. In particular, when several development teams work in the same codebase, to ensure there's a clean, releasable version at the end of every iteration, they need a plan. Henrik Kniberg's proven scheme is a useful guide for teams. This detailed paper includes the entire method and even a cheatsheet.
There has been a lot of discussion on various agile forums and blogs about the difference between 'Done' and 'Shippable'. It might sound like both mean the same, however discussions on the lists and various blogs suggest that these are still widely misunderstood, mis-used terms. Here's a roundup of recommendations about how to handle "Done."
The idea of continuous production has been around for some time, with Cal Henderson revealing in 2005 that Flickr releases code to production about every 30 minutes. InfoQ investigates continuous production and explores the effects it has on the product lifecycle, and in turn the host organisation.
A recent article published in IBM developerWorks talks about automating Continuous Integration and Code Inspection tasks in a build process using open source tools. It explains how to install and configure Hudson server with Subversion, Ant, and software inspection tools like FindBugs and PMD to create a build process with continuous feedback on test results and defects.
Spring 2.5: Drop-in upgrade for 2.0 with OSGi bundles, full annotation-based configuration & AspectJ
The first release candidate of Spring 2.5, formerly known as version 2.1, was recently released. InfoQ spoke with Spring framework lead developer Juergen Hoeller to learn more about this release.
The new Ruby Gems release 0.9.4.5 adds optimizations and new features, such as automatic installation of platform gems. Also, it's compatible with Ruby 1.9, making it fit for inclusion in the standard Ruby 1.9 release.
FiveRuns, an enterprise Rails company, have built an installer for Ruby and associated packages.
A discussion in the JRuby space is resurfacing: Should the project move to Java 5. Is it worth breaking compatibility with Java 1.4? Using languages features like Annotations and Enums would be useful, as well as and not having to use a backport of the Concurrency libs. We look at the pros and cons.
Jeff Attwood outlined a new programmatic Certification programme, WOMM (Works On My Machine), as an humorous mechanism for highlighting broken builds in a continuous build environment.
In the ongoing search to find the balance between XML and annotations, TestNG has introduced the concept of annotation transformers. An annotation transformer is code that will override the behavior of existing annotations. This allows you to modify your annotation without using XML and without recompiling your source. You will have to recompile your annotation transformers if you change them.
Borland in early October released a beta of Gauntlet continous integration server. Like any continous integration server, Gauntlet automates build and testing but also provides change sandboxing, reporting and trending, failure correlation, replay alongside existing repositories, and easy access to build, test, and run previous project versions.
Amazon has quietly been expanding their business model as of late. They are targeting developers with three new computing services: Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), and Amazon Simple Queue Serve (SQS). Bloggers have been commenting on how the products could revolutionize how applications are provisioned and deployed.
HostedQA, JIRA, Confluence, and Jive Forums all have implemented frameworks to manage changes to db schema's and data migrations between subsequent versions of their products. Pat Lightbody proposes that all enterprise apps should include an upgrade framework and provides some best practices.
Engine Yard is the first Rails application deployment service that combines serious and scalable infrastructure with easy management at an affordable price.