Posterous theme by Cory Watilo

Workshop: (picture > 1000 words) - What picture would you draw ?

Sometime last month Tarang came up with a great idea to kick off discussions on the TW project management group. The idea was for people to post a photo of a graph, chart, visualization that a team is using on a project and for the rest of the group to comment on what story can they read just from the picture. It turned into quite an interesting thread. We then ran with this theme in a couple of our Pune PM community meet-ups as well. 

While we were thinking what we can do to improve our collective skills of creating interesting and clear visualizations for what's happening on a project we came up with the idea of a workshop. Tarang and myself ran it in the Pune office a couple of weeks ago. I want to describe how we ran it and the feedback we received in this blog post.

How we ran it
  • There were around 15-17 participants from the office
  • We narrated a semi-fictional project where constant scope increase has created a tricky scope management situation 
  • We divided the participants into three groups and asked each group to come up with a few visualizations which would allow them to enter a stakeholder meeting with the clients and convey clearly the reasons for the scope increase, the impact of this on the release dates and the kind of options available with the stakeholders to take control of the situation.
  • All teams worked on their own whiteboards for about 30 mins to create some very unique and interesting visualizations.
  • Then each team took 5-7 minutes to explain each of their pictures to the rest of the participants.
  • In the meanwhile Tarang and myself also created a few pictures to address the situation, and walked people through what approach we would have taken ourselves
Some photos from the session

Reflections on this session
  • Overall there was very encouraging feedback from most of the participants. People enjoyed the exercise and really liked the project situation we had put in front of them
  • The next time we run it we want to also bring in other typically sticky project variables like quality, cost etc. 
  • It may be more fun for people if we took two such example case studies and in between the two exercises ask people to share their thinking on what makes an interesting visualization.

The story of a Quality Analyst

This is a story of a software quality analyst (QA).

He passed out of college with great passion for software quality. In his first job he realized though, that all he was expected to do was to look at test plan documents and manually test the application. He of course found it really boring to mindlessly follow the instructions and to keep entering data and clicking buttons all day. He began to wonder, is this what I want to do with my life ? If this was QA is all about ?

And then one day he stumbled upon a tool call Selenium. With Selenium, he realized that he could write simple programs to get the computer to do all the boring tasks of entering data and clicking on buttons. Selenium would run the scripts that he wrote and show a green bar if everything went as planned and show a red bar if there were any discrepancies in the application. It saved him all the manual effort, gave him confidence that no regression bugs will creep in. It was perfect. This was the beginning of his love story with the  idea of automated UI tests. He was so crazy about this at this time that all green things in life were good for him and all red was bad. His mom was surprised that he had started eating green vegetables now, but would not eat any apples :). No really, he was never happier as a QA.

After he spent about 6 months on his project doing this, he suspected that something was still wrong. While these tests were great help in finding regression issues, by now he had written some 300 of them. It took 6 hours to run all the tests once. On every run some random group of 10 tests failed every time. Whenever the application changed even a little bit, he had go make changes to 25 of his tests. So there were all these problems he was seeing, but automated UI testing was his first love remember, he said to himself that anything beautiful has some blemishes. Its OK. And so project after project he continued to do same things and saw the same pros and cons.

The on one day a miracle happened ! While he was asleep, someone planted an idea in his mind, like the in the movie inception. The idea was "Treat your services as a product". It didn't make any sense to him at first but the idea slowly grew on him. Today he has a very different approach to QA on his projects. 

His current project is a SOA based web application. He believes now, that the services layer is where all the business logic is, it is where all the complexity is so that is the most important thing to test for me. So he writes several automated tests against his services emulating end to end user flows. These tests are much easier to write than the corresponding UI level tests, they also run fast and are less brittle and less susceptible to change.  

Dont get me wrong... His love for selenium and his UI tests hasn't faded completely, though he now he treats them as a smoke suite. He has created a very small number of these tests around 15, which look at the most critical user scenarios and ensure that the app doesn't regress on those. 

Now of course this web application is a web 2.0 style application, it does have a lot of dynamic UI behavior. So how does he test that ? Well he does not... he depends instead on the developers in his team to test drive their java script code and thus their unit tests are enough to catch any issues that creep up.

Since he now not wasting time baby sitting a large, slow and brittle UI test suite, he gets to spend time doing what he really wanted to do in the first place. He now has the time to think about 'how do I break this damn application'. So he spends time conducting many crazy ad-hoc tests, thinking up crazy scenarios where the bugs usually hide. 

With all the extra time he also gets to plan actively to other kinds of tests like Performance testing, stress testing, load testing, Security testing and usability testing. 

He is at his happiest now, he is a real QA now and not just an automator.

Announcing a new release of IdeaBoardz.com

Picture_1

Sometime in 2009, a few of us at ThoughtWorks Pune started working on an application to allow people to capture retrospective notes more easily than spending an hour after the meeting to type up all the points written in the sticky notes. We started off just to play with the flex development platform. I personally was not impressed with flex but I think we all really liked the idea of the application we had built. The four of us (Anand, Anay, Dhaval and myself) have been working in steadily for the past year or so, contributing in whichever way, whenever possible. 

 
The app was code named 'orter' in its early days (hint: retro reversed), later we realized that the basically we had created a shared whiteboard which can used for collaboration distributed teams regardless of whether they were conducting a retrospective or any other kind of brainstorming meeting. Thats when we started calling it as IdeaBoardz.com.
 
Many teams in ThoughtWorks have used ideaboardz.com for their retrospectives. We demoed this at the Agile India conferences this year so some more folks saw the app there. Most people who have used the app have been kind to us and have encouraged us to improve it further. 
 
Recently, Divyanshu joined the team. He and Dhaval decided to ditch flex in favour of simple HTML+JS. Today they deployed the latest version, those who have seen the earlier version will appreciate the improvement in readability that this version brings. 
 
So that was what I wanted to say, check out the new UI at ideaboardz.com. Hope you like it.