Recent entries
Recent Comments

David Rice

Mingle, Automated Testing, and Cruise

The Mingle team is absolutely crazy about testing and automation. Outside of testing installer integrity and production data migrations, we've totally replaced the manual regression test phase of the release cycle with a massive suite of automated acceptance tests. I'm mostly going to write about how the Mingle team has overcome some of the difficulties teams encounter when working with large acceptance suites, but, before I do that, I want to talk about our attitude towards testing. Why? Because without the right approach to testing, automation is pretty much useless. read more
Jez Humble

Announcing Cruise - Continuous Integration and Release Management system

ThoughtWorks Studios is proud to announce that Cruise, our continuous integration and release management product, is available for download and purchase.

Since ThoughtWorks' creation of , the first open source continuous integration server, our consultants have been helping our clients implement the practice of continuous integration. Over the years we've developed a catalogue of principles and practices around build and deployment management to deliver fast, high quality, low risk software releases. All of this collected experience has gone into the development of Cruise. read more
Ross Pettit

Metric-driven management versus management-driven metrics

The demand for IT metrics is outstripping IT’s ability to produce them. Part of this is due to the increase in quantitative management practices in business, the trend being to measure everything in sight in an effort to show change in performance over time as well as competitiveness (to the extent possible) relative to commercial peers. But part of this is also self-inflicted: long delivery horizons punctuated by abstract milestones make IT opaque. This puts IT under increased pressure to produce performance and quality metrics. More often than not, the metrics IT come up with contribute more noise than signal. read more
Luke Barrett

Usability and Mingle

The usability of Mingle has been the team’ focus from the very beginning and with 2.0 released I thought it might be interesting to take a little time to look at some of the challenges and opportunities we've had along the way.

Firstly, having the usability hat on a team is always interesting - and I'm going to venture that it's doubly interesting on an Agile team. Where each point of effort must be justified in terms of business value, it can be tough to argue for work that isn't always easy to express in those terms. Don't get me wrong - I'm not saying that you can't analyse usability in terms of business value, I'm just saying that if the decision is between having functionality period or having usable functionality, it can be tempting to opt for just functionality. Winning that argument is a lot about the mindset of the team and the sponsors - so I wanted to talk about what we did on Mingle... read more
Chad Wathington

Automated Testing Poll

Jez Humble

Deployment Pipelines: Revolutionizing Release Management

Continuous integration was one of the original twelve XP practices introduced in Kent Beck's book Extreme Programming Explained, back in 1999. It was designed to solve a specific and acute problem in the software development process: making sure that when an individual developer completes new functionality, or makes a change to the code, the software as a whole still works. Continuous integration requires that every time a developer writes some code, he or she builds the software and runs some tests on a non-development environment to make sure that his or her changes haven't broken anything. If done manually this process can be error-prone and time consuming, so it needs to be automated. The upshot is that to do continuous integration well, you need an automated build and a set of automated tests, and once the team is large enough, a continuous integration server to run them for you every time a developer submits code. Thus, CruiseControl and its many siblings were born. read more
Adam Monago

Introducing Mingle 2.0

Greetings Minglers New and Old,

It is our pleasure to announce that Mingle 2.0 is now generally available.

The last 9 months have been a labor of love for us, as we have worked to develop a fine piece of software with your input. It makes us proud to say that a broad community of our colleagues and customers from around the world has influenced Mingle through their own project experiences. read more
Adam Monago

Forest for the Trees

With Mingle's new feature, Card Trees, we are breaking new ground in how a team can visualize project complexity. We have built into Mingle the power to visually define parent-child relationships between cards on your project and tools to capture metrics at any level and aggregate them according to the hierarchies you design. Because Mingle does the work of crunching the data, you can spend time doing what you do best: working with your team rather than spreadsheets. read more
Julian Simpson

Bootstrap with a Bootstrapper

CruiseControl Enterprise Best Practices, part 4 In my last post I demonstrated using a bootstrapper to make sure that the configuration for CruiseControl was up to date. I'd like to expand on that in this post. Here's the question that led to the creation of the Bootstrappers in CruiseControl: How do you fix the build when you have broken your build files? read more
Vivek Prahlad

The state of the art of Functional Testing

At ThoughtWorks, we’ve had a strong tradition of innovation with functional testing. We’ve always viewed testing as a collaborative, team activity, involving domain experts, developers, and testers. However, we believe that we have a long way to go before we achieve testing nirvana. The current set of functional testing tools all have their own strengths, weaknesses, and gotchas. Over the past decade, development tools have got more and more sophisticated. In contrast, however, functional testing tools seem to have missed the party. We believe that the time is right for a next generation functional testing tool. A team at ThoughtWorks Studios has been hard at work, and we believe we do have something that pushes the envelope of functional testing.

read more
Julian Simpson

Configuring CruiseControl the CruiseControl way

You just started using CruiseControl. You use a Version Control System to manage your code. You installed CruiseControl on a spare computer in the office; now it is giving you immediate feedback on the changes that occur in that codebase. Life is good. Then the disk on that spare computer fails, and your build server resumes its previous role as a doorstop.

read more
Adam Monago

Mingle 1.1 is now available!

During the last 3 months, we have had the pleasure of releasing the first public version of Mingle and receiving an enormous amount of feedback from those people who downloaded it. What has been an even greater joy for us has been to be able to develop and release for you, version 1.1 of Mingle, only three months later. read more
Chad Wathington

Many Facets of Ruby

ThoughtWorks wants Ruby to win. By 'win', I mean become a major software development language, where it is the default choice for many application types. What I don't mean by 'win' is to beat some other specific language, particularly the dynamic languages like Python, Groovy, etc..., which we believe offer clear advantages in terms of Agile software development. read more
Julian Simpson

Keep your dependencies to yourself

The average Java project has many dependencies - open source tools and frameworks, third party libraries, libraries that come from your project or organization - the list is endless. I just counted 84 jar files that my current project depends on (or may depend on!). Much pain can come from the way you manage these dependencies. Sometimes it's harder than you think to make software build or execute if it's not clear what the dependencies are. read more
Chad Wathington

RailConf Europe 2007 - JRuby Game Contest

Here's special contest for people attending RailsConf Europe. We want to have a little fun with JRuby and Java interop. So, we've modified the game from the Java Game Book, and put a little RubyWorks spin on it. We've provided some examples, which you can see running in our booth, of how to control the game via JRuby. read more

Products  |  Customers  |  Contact Us
Copyright 2008 ThoughtWorks, Inc.