Anouncing the Agile Hong Kong mailing list

Posted by Conrad Benham on November 20, 2009

A mailing list has been created over at Yahoo Groups. You can use this for anything Agile/Extreme Programming/Lean Software Development related. Feel free to post questions, thoughts, comments or whatever may be on your mind. Meeting announcements will continue to be posted in the usual places (this blog and Facebook) but will also extend out to the mailing list.

If you have a job opening that you’d like filling or you wish to announce some training etc, then please feel free to make use of the mailing list. The only request is that you keep postings relevant to the group.


Agile China 2009 2

Posted by Conrad Benham on September 02, 2009

For those who are unaware, Agile China is once again coming up. This two day event being held in Beijing in early September promises a strong cast of Agile leaders including Kent Beck and Dave Thomas. The agenda promises a nice lineup of presentations covering a number of topics: Agile adoption experience reports, future trends of Agile, self-organisation within teams and assessment of business impact of Agile.

The event is being held on Friday September 11th and Saturday 12th 2009. For more information check out the Agile China 2009 website out (English can be found here).

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

Two screens are bad? 3

Posted by steve on February 01, 2009

In the last meeting we had an interesting presentation/discussion on the Joel Test: 12 Steps to Better Code led by Julian Harley.As expected, some of the ideas were accepted by all, but a surprising number were contentious and threw up some good debates: (Apologies if my memory don’t match your recollection of the evening, I’ll blame the holiday I’ve just been on and the copius of amounts of saki which my parents-in-law forced me to drink. :) My fuzzy memory summarised the discussion as follows: 

  1. Do you use source control? Heck yeah! All agreed it is crazy not to do this.
  2. Can you make a build in one step? All agreed.
  3. Do you make daily builds? Daily builds were viewed as an absolute minimum and continuous integration and immediate builds were preferred.
  4. Do you have a bug database? All agreed.
  5. Do you fix bugs before writing new code? It depends. If a bug is found by the developer then it should be fixed, but we wouldn’t drop all our plans just because a bug was reported. The bug should be viewed alongside the new features to be developed priorities should be chosen (ideally by the client).
  6. Do you have an up-to-date schedule? Again, it depends. How detailed should a schedule be?
  7. Do you have a spec? Mmmmm. Once more, it depends. Everyone felt requirements were important but there was discussion about what level they should be and I can’t say a consensus was agreed upon.
  8. Do programmers have quiet working conditions? It was generally felt that there needs to be a balance between an environment which allows for osmostic communication so the team can benefit from the spred of knowledge and one which allows for quiet so the developer can concentrate.
  9. Do you use the best tools money can buy? This one was hard to pin down. Some people argued that not providing two screens for a developer should be a crime, whereas some argued that having two screens can be distracting and they often preferred just one screen.
  10. Do you have testers? All agreed.
  11. Do new candidates write code during their interview? Again surprisingly for me, this one had more discussion than expected. Some argued that judging people by a small coding sample could be unfair and too much emphasis was placed on this.
  12. Do you do hallway usability testing? All would like to follow the agile practice of having a customer or a proxy in the team so that we could have even better feedback than a random passer-by.

The discussion then focused on what we felt could be added to the list:

  1. Documentation was high on most people’s list but we found it hard to agree on exactly what kind of documentation.
  2. Collaborative aspect/tool. Something as simple as a wiki is often beneficial so that the team can record plans/discussions/decisions etc.
  3. UI designer. Having the app being designed by trained people instead of being designed by developers who think they can design a UI.
  4. Client presence. As mentioned in the final point, we felt that having a client or proxy see work as it is being developed was of great benefit.
  5. Automated Testing. Well we are agile after all :) Currently you can follow an interesting discussion between Joel Spolsky (and Jeff Atwood) on their stackoverflow podcast (#38 and #39) versus Uncle Bob Martin about automated testing. Hopefully Bob will appear on the stackoverflow podcast next week to sort out Joel and Jeff. [If you’re looking for a good podcast, the stackoverflow podcast is usually good (even though they can’t get the TDD idea!). I’ve also enjoyed the last two Hanselminutes, which discussed Uncle Bob’s SOLID principles and TDD]

Once again thanks again to Julian for hosting a great discussion. 

The Joel test for software: does it apply to Agile? 4

Posted by Conrad Benham on January 13, 2009

How good is your code? Think it’s good? Could it be better? Possibly? How do you know? In the first Agile Hong Kong meeting for 2009, regular attendee Julian Harley will help provide light on this by leading a discussion through The Joel Test: 12 Steps to Better Code. In his own words Joel Spolsky came up with this “…highly irresponsible, sloppy test to rate the quality of a software team.”

Julian will introduce the test and open the floor up for a round table discussion about the test. In particular Julian wants to discuss the following points:

  • does the Joel Test apply as-is?
  • what additions to it make it more appropriate  to Agile teams?

While not necessary it would be useful to have a quick glance over as Julian will cover these in the discussion:

When: 7:30pm, Monday 19th of January 2009
Where: ThoughtWorks Hong Kong Office
Address: Room 1304, 13/F, Tai Tung Building, 8 Fleming Road, Wanchai
Map: ThoughtWorks Hong Kong

Hong Kong Web & Tech Meetup Index

Posted by Conrad Benham on January 13, 2009

Are you wondering what other IT groups exist in Hong Kong, aside from Agile Hong Kong? Rex Chung a Ruby guru recently posted a list of of such groups that regularly meet in Hong Kong. Check it out on his blog! Rex also created a Google calendar containing these events. Again, more here.

Competition results

Posted by Conrad Benham on January 12, 2009

The final meeting for 2008 saw us rap up with the presentation and announcement of winners from the coding competition. The aim of the competition was to encourage competitors to think about and implement their programs using Agile and XP practices. While it was difficult for entrants to practice Agile to it’s fullest, some competitors took pragmatic approaches to this. Some competitors explained trade offs they made in notes included in their submissions. XP, on the other hand was much more practical and was practiced by all competitors to varying degrees.

There were four competitors:

Each competitor was awarded a prize as they each demonstrated different components of XP that were equally interesting. Of the solutions submitted, Alex and Michael’s solutions were command line based, implemented in Java. Steve’s solution made use of Google Web Toolkit. Francis’ (who worked in a team) solution was implemented using Ruby on Rails. Congratulations go out to each competitor for taking part in the competition.

A very big thank you goes out to JetBrains who sponsored the prizes for the night. JetBrains gave licenses away to some of their fabulous products. An equally big thank you goes out to Pinpoint Asia for their sponsorship of the pizza.

Competitors get ready…

Posted by Conrad Benham on December 05, 2008

In the next session we’ll go through the Wine Bar solutions developed by competitors signed up to the Competition Jam. We’ll take a look at what worked well and identify areas that could perhaps be improved. The floor will be open for discussion to allow people to offer suggestions and insights in what they do on their projects.

Without giving too much away, this session will give participants insight into structuring a project so it is easy to maintain, extend and ensure code quality. I will also introduce some technologies and paradigms we haven’t yet explored , in my own solution to the problem with a view to covering them more fully in future sessions. While the focus of this session will be on the code we’ll also have a look at some of the process aspects involved with Agile.

After going through all of this I’ll announce the competition winners.

Prizes for the night will be sponsored by JetBrains.
Pizza will be sponsored by Pinpoint Asia.

When: 7:30pm, Thursday 11h of December 2008
Where: ThoughtWorks Hong Kong Office
Address: Room 1304, 13/F, Tai Tung Building, 8 Fleming Road, Wanchai
Map: ThoughtWorks Hong Kong

Iteration 1, 2, 3: Lego Animal 2

Posted by Conrad Benham on November 27, 2008

Jenny Requesting StoriesOn Wednesday evening Jenny Wong did a fantastic job of leading a practical session demonstrating how to build things in an iterative, Agile fashion using Lego. The aim for the evening was to introduce participants to building a Lego product in small, incremental stages using a number of Agile concepts including stories, poker chip planning, iterations and on-site customer with show cases at the end of each iteration.

The group of twenty participants were divided into five groups each with four team members. Each team member was assigned a role: Business Analyst, Developer (two, to allow for pairing) and Quality Assurance (QA). Jenny and I acted as business proxies, deciding on which stories should be developed within an iteration.

The evening was divided into a single release with three iterations of 20 minutes duration each of which was further broken down into the following stages:

  • Estimation (3 minutes)
    • Teams estimated how much effort would be needed to develop a particular story. This stage involved the entire team.
  • Sign-up (3 minutes)
    • As business proxies, Jenny and I worked with the teams to determine what should be developed within the iteration. This included defects and stories not scoped for development during previous iterations. We also gave teams the opportunity to ask us questions about what should be developed when contradictory requirements were encountered. This stage mainly involved the Business Analysts but was open to developers and QA to listen in and ask clarifying questions. As business proxies Jenny and I used poker chip planning to ensure the functionality requested did not exceed what could be built during the iteration.
  • Development (4 minutes)
    • During this stage, the developers set to work, building the Lego animal. The responsibility of the BA at this stage was to ask the business proxies questions when development became difficult due to ambiguity.
  • Testing (5 minutes)
    • At this point the QAs tested the finished product to identify any defects giving the developers a chance to fix them.
  • Showcase (5 minutes)
    • The final stage of the iteration was the showcase in which the QA and BA worked together with the business proxies to show the product as it had been developed in the iteration. This gave the business proxies a chance to provide direction on the product, to ensure it met expectations.

At the end of the three iterations, five unique Lego animals had been built which were put on display for all to admire.

Lego Parade

To finish the evening, we held a retrospective. Ordinarily a retrospective is held at the end of each iteration. Due to time constraints we held a single iteration at the end of the release.  The aim of the retrospective is to gather information from people so they can share their thoughts. In this iteration we asked participants to talk about the following three areas:

  • What we have done well
  • What we should have done differently
  • Puzzles, questions, ideas

The following came out of the retrospective.

What we have done well

  • Prefers to be a developer, enjoyed playing with Lego.
  • Business value was useful for development team, because usually do not see this. We can focus on most important stories.
  • Knowing previous velocity helps plan for next iteration.
  • Asking leading questions that help answer questions for the team.
  • Push back on customer.
  • Mileage out of prebuilt components.
  • Throwing out low-value stories.
  • Velocity went up during the second and third iterations.

What we should have done differently

  • Customer feedback sucked: on-site business.
  • Ask business questions before the end of iteration.
  • View all stories at the start of iteration one.
  • Not enough time spent with the business.
  • More estimation points, not just 1, 2, 3 extend to include 5 and 8
  • Testing: acceptance criteria unknown
  • Non functional requirements not known until testing/showcase
  • Should have revisited estimations
  • Additional story points implemented was not appreciated; rather it was expected
  • QA to test during development
  • We didn’t do pair development
  • Stories were out of order
  • Not all teams had Lego wheels
  • Over-engineering once an idea had been considered
  • Assumptions were made about stories

Puzzles, questions, ideas

  • Is it better to have a lower velocity?
  • What was the project name?
  • Does a BA provide insight to developers during development?
  • Can one team act as a business representative for another team?

I’d like to thank everyone that came along and made the evening a fun and energetic event. Thanks also go to Jenny for running the event and to Pinpoint Asia for their sponsorship of the pizza. Thanks go to Vince Natteri for making a formal introduction of Pinpoint Asia to Agile Hong Kong.

Pinpoint Asia: new sponsor

Posted by Conrad Benham on November 23, 2008

Pinpoint Asia

It is with great pleasure that I introduce Pinpoint Asia as a new sponsor of Agile Hong Kong. A specialist IT recruitment firm, Pinpoint Asia recruits talented, experienced technologists for permanent and contract roles across the Financial Services, Technology, Legal, Logistics, Commerce and Government business sectors. Pinpoint Asia’s reach covers the Asia Pacific region including Hong Kong, Tokyo, Singapore, Shanghai, Beijing and Seoul.

I would like to thank Pinpoint Asia, in particular Andrew Lee the founding Managing Director for sponsoring Agile Hong Kong. It is because of the generous support of our sponsor offer that we are able to enjoy prizes and refreshments at each meeting.