Next meetup & presentation – fresh from QCon Beijing 1

Posted by steve on April 19, 2009

Earlier this month Steven Mak gave this presentation at the QCon conference in Beijing and having used that as a warm-up he is now ready to present Acceptance Test Driven Development to Agile Hong Kong:

Testing has always been the core part in software development but now it is no longer merely a tool for verification. Agile software development emphasizes “Quality Built In” and Acceptance Tests are becoming part of the requirement specification and the medium for customer collaboration. Acceptance Test Driven Development provides the methods for ensuring quality through customer collaboration. This talk will introduce the concept of ATDD and discuss how it works in practice. In particular, it will discuss two leading ATDD frameworks: FIT and Robot

Steven Mak is an Agile Coach of Odd-e team. He is interested in different parts of software development activities and a variety of programming languages, from mainstream to the very exotic. At the moment, He focuses on the practice of test-driven development, refactoring, continuous integration, and also Scrum. He begins interested in programming while he was in primary school. Later obtained a Bachelor degree in Computer Science at the University of Hong Kong. To pursue better understanding of teams, customers, and products, he earned a Master degree in Business Administration from the Imperial College London. You can read more about his thoughts on his blog.

Don’t forget that pizzas and drinks will be provided before the talk and a small gift will be provided to all attendees!

Pizza will be sponsored by Pinpoint Asia.
Speakers reward for the night will be sponsored by JetBrains.
Location kindly provided by ThoughWorks.

When: 7:15pm, Wednesday 29th of April 2009
Where: ThoughtWorks Hong Kong Office
Address: Room 1304, 13/F, Tai Tung Building, 8 Fleming Road, Wanchai
Map: ThoughtWorks Hong Kong
Contact Steve

CI is a Software Development Practice 2

Posted by Conrad Benham on July 21, 2008

A big thank you to Chris Stevenson for giving an “Introduction to Continuous Integration with a brief introduction to Cruise Control”. Chris works for ThoughtWorks. He has worked in many of the offices, most recently in Beijing and is en route to San Francisco where he will be lead developer of Cruise Control Enterprise.

Chris presented a solid introduction to continuous integration (CI) citing Martin Fowler’s work on CI. According to Chris, CI is about ensuring we have working, compiling code that passes unit tests. While many consider CI to be a tool, Chris made it clear that CI is actually a software development practice that is often supported by a tool, but does not have to be. As a result CI is a practice that is used by the team. Automated CI tools are important on projects that have larger teams. CI is the practice of continually integrating code changes made by members of a team with the code base, ensuring these changes don’t break the build in any way. This is verified by running an automated build (as distinguished from a CI tool) that compiles, tests and creates deployable artifacts.

Automated builds must include automated tests: both unit and behavioural tests. Chris introduced the practice of behaviour driven development (BDD), with specific reference to the tools RSpec (for Ruby) and JBehave (for Java). Chris also introduced a number of tools used for user interface testing: Selenium, WebTest, Sahi, Frankenstein, White, Abbot.

Chris spoke of the importance of small continuous commits to the code base. Small changes limit the amount of merge conflicts that occur when checking code into source code control systems and therefore minimising the pain that is associated with conflicts. It is therefore common for people to check code in many times a day. Chris highlighted the importance of a short build, discussing the implications of a build that takes a long time to complete.

Chris ended his presentation with a sneak preview of Cruise Control Enterprise which is to be released in the next week or so.

Interestingly, Eric Minick recently wrote a blog entitled “Continuous Integration: Was Fowler Wrong?“. Eric’s premise is that CI is about tests, not builds. Given the controversial nature of this, a discussion has commenced on The ServerSide.

A Code Jam will be announced in the next day or so which will provide a practical introduction to Continuous Integration tools and how to use them. So, stay tuned…

Agile at 10,000 feet 1

Posted by Conrad Benham on February 24, 2008

Agile Hong Kong is a new group, so it is fitting that one of the first informational postings be an introduction to Agile, related methodologies and principles. Here is a list of books, articles and websites containing information on some of the practices. This list is not definitive as there is much work out there dedicated to Agile – far more than could ever be captured here. The list should be a good start for those wanting to learn more about Agile.

All links open in a new window.

Methodologies

Agile is an umbrella term that is applied to a family or group of software development practices. Agile describes the practices that are generally applied by other methods including Extreme Programming, Crystal Clear, Scrum Alliance, Lean Software Development.

Extreme Programming

Lean Software Development

Crystal Clear

Scrum Alliance

Practices

Project Management

Stories, estimation and planning

Standups

Retrospectives

Sustainable Pace

Design

Testing

Pair Programming

Refactoring

Continuous Integration

Disclaimer: no royalties, benefits or bribes were solicited or received for any of the links contained in this list. No animals were hurt either.