1. Saturday October 15. 10. 2011 THE TWIMES OF INDIA
ThoughtWorks News & Views in a Nutshell A decade of excellence
10 Editors Desk th nniversary rA TWI has come a long way since
2001. From bringing Agile to India, to creating one of the most
enviable work environments, TWI has really revolutionized the
software industry in its own right. We take great pride in the fact
that every TWorker is unique; each one is opinionated, innovative
& wildly obstinate. This variety of personalities has come
together to make us what we are today. To cater to this vast range
of A Decade Of Excellence Growth and Leadership T en years ago I
moved to Bangalore to help start TW India. What was originally an
intent to spend a few months grew into a rich and rewarding 10+
year relationship (exceeding even my marriage in longevity!). One
of the things that always strikes me about working with TWI and
TWIers is the intense interest in growth and development. There is
a strong theme running throughout the organization about taking on
new and challenging career opportunities and developing leadership
skills. Of course, as with many things in India, you can also find
many counter-examples (people happy to be excellent at what they do
and skeptical of anything called 'leadership') - but that is not
the point of this article! The point of this article is that I
always really struggled to answer people who asked me what they
could do to grow their careers at TWI. There For internal use only
Ye a interests, weve put together a bunch of articles and thoughts,
that we hope you will all enjoy. ThoughtWorkers, both from India
and abroad, have written about things as varied as test load
balancers, Agile planning, life experiences and random musings,
which promise to entertain. Dont forget to check out what our
all-knowing Agony Uncle has to say! Thank you for being here to
celebrate the wonderful ten years that have passed, and to hope
that a more fabulous decade is ahead of us. Have a good read, and
dont forget to party your socks off! - Matt Simons were two main
reasons for this. One was that as a new entity, it was hard to
imagine what TWI would someday become - those first few years had
the distinct feel of an experiment that may or may not work out.
You could probably argue it still feels that way sometimes. The
other reason I struggled to provide guidance to people searching
for growth was that I myself was trying to answer that question -
being relatively early in my career it was difficult to tap into
the needed perspective to provide good advice. Recently I received
an email announcing some new leaders in one of the offices. I was
pleased to recognize most of them as long-serving TWers, many of
whom had asked me how they could grow, long ago. That got me
thinking about how I would answer 'the growth question' today,
after observing the growth paths of many current TWI leaders and
racking up a few more years of experience myself. Here are some
things I think matter a lot: Patience. Leadership traits develop
over a series of substantive experiences with different teams and a
variety of client or internal challenges. Each experience could
take 6-12 months to play out and it takes a number of them before
even the sharpest cookie can reliably get out of the details and
start to recognize patterns. Many of the current set of TWI leaders
have been through 6-8-10 years of growth experiences at TWI. While
there are exceptions, planning for growth on that timescale surely
sets the most reasonable expectations. Resilience. In almost all
cases, the trajectory towards TW leadership is not linear and
includes a measure of negative feedback if not outright failure
along the way. When we are at our best, TW is a fantastically
forgiving environment that allows people to totally blow it and (as
long as they genuinely learn from the experience) recover and
return stronger. Going through that fire of failure tempers some
but melts others. Leaders don't melt. Balance. Consulting at
ThoughtWorks is an intense experience that requires constant
attention to the tensions between. TW/Client/Self. Too much focus
on any one at the expense of the others is often harmful. The
leaders of today have figured out how to think through each
situation and strike the right balance for the context they are
operating in. Talent. Clearly the talent bar is high at TW, but
each of the TWI leaders of today distinguished themselves over the
years by being consistently excellent at something core to our
business. Often (but not always) this manifested in demonstrating
poly-skilling and an ability to take on a wide variety of roles,
whether or not previous experience had prepared them. Stewardship.
TWI is a unique and special part of a unique and special
organization. TWI's leaders have always understood that, and have
given freely their time, energy and passion to keep that fire lit
amongst generation after generation of noobs. They have all been
accessible, caring and engaged year after year. I have enormous
respect for this, especially given the pace at which we have grown
as an organization. It is one of my greatest pleasures to be able
to return to TWI year after year and see folks I remember as
wideeyed grads or energetic newbies achieving that growth that many
of them were searching for. I look forward to meeting future
generations of TWI leaders at the 10th Anniversary Away Day.
Congratulations and Happy Birthday TWI! Vignettes of TWI
2. The TWimes of India ThoughtWorks News & Views in a
Nutshell Identify the ThoughtWorkers below 02 (answers on the last
page) 1 2 7 8 9 10 11 12 13 14 15 16 17 18 20 21 23 24 19 3 4 22 5
6 If you were to direct an ad for Which celebrity would be the
ThoughtWorks, what would ideal brand ambassador for be the tagline?
ThoughtWorks and why? Habib - "Here is the entire ad. [In a TV
commercial] Jez Humble: Are you troubled by your CI glowing red in
the middle of the night? Martin Fowler: Do you experience feelings
of dread when you look at your codebase? Ajey Gore: Have you or
your family ever seen a spook, spectre or ghost? Roy: If the answer
is "yes," then don't wait another minute. Pick up the phone and
call the professionals... Roy, Jez Humble, Martin Fowler, Ajey
Gore: ThoughtWorkers Roy: Our courteous and efficient staff is on
call 24 hours a day to exorcise all the ghosts from your code! For
internal use only Roy, Jez Humble, Martin Fowler, Ajey Gore: We're
ready to believe you. [lifted shamelessly from Ghost Busters :P]"
Sameer Deans - We deliver better than even the dabbawallas Anand
Krishnaswamy - Taut Woks!? Hot Works!? Haute Walks!? Whatever the
pizza delivery guy hears, always repeat ---- drum roll in the
background ---- ThoughtWorks! [Later just give him the directions]
Gurpreet Luthra- "We hire those who are the best, and depend on
them to do the rest." Habib - "Bruce Willis. Like Roy, he instills
confidence in every role. We know that Bruce Willis will destroy
the villains and quip his way through. Also like Roy, he is bald."
Sameer Deans - Tom Cruise, because we make every project into
Mission Impossible! Mahadev Prasad - Upendra, since he gives
feedback without filter. Srijayanth - "I think Kashi Reddy sort of
fits the bill. Oh wait, celebrity you say... TN Seshan
perhaps...he'll certainly be taken seriously when he talks about
three pillars. Kaushik Ghosh Spiderman, since we seem to be into
Web big time! Sri Prasanna K - Guy Kawasaki. That dude knows how to
do take a company from deep down to the top. Manish Krishnan -
Barack Obama. Because Agile is about embracing change. Anand
Krishnaswamy Julian Assange. He is the reason we don't have any
documentation! ;-) Aman King - eh? We already have Roy, don't we?
No one represents "ideal" TW better than him. Vignettes of TWI
3. The TWimes of India Thinking Derek Johnson ThoughtWorks News
& Views in a Nutshell The Art of Persuasion: A helping hand
from sales Elena Yatzeck I f a man builds an ugly & unstable
house, would you put his tools on trial? Or would you analyze his
foundation, his use of shortcuts, the team he had helping him build
and his inability to see the big picture while building? There are
many things involved; yet as people we boil so much of our
existence to the religion or philosophy that our neighbor or we
choose. Is religion alone enough to build the person? Or does each
man still have to make righteous decisions when alone? Surround
yourself with people determined to help build and not destroy you.
I don't want to preach; I just hope we can elevate the conversation
beyond dogma and see each other as works in progress. We need to
recognize that tools like religion or philosophy can be used for
both good and evil, depending on the intent of the "builder". STOP
blaming the hammer for EVERYTHING that's wrong with the house! Im
just venting; I'm challenging my own views; and I thank all of you
who challenge me to THINK! Uttam Kinis Facebook status: BCCI gives
a crore to each player. 50 lacs to each support team member. 25 lac
to each national selector. Going by that, it owes me at least a
hundred bucks for supporting the team and wearing the team t-shirt
to work For internal use only 03 I recently stumbled onto this
really great article from Steve Martin (not the comedian) in the
Harvard Business Review on "Personality Traits of Top Sales
People." The article had some surprising revelations, most of which
I realized could end up helping almost all of us in our daily lives
in one way or another. It's a quick read, so do please run off and
read it. But I had a couple of thoughts about how Steve could help
the rest of us out. Professional sales people are role models to
all of us in at least one crucial thing: the ability to persuade.
Sales people get their targets to do two very hard things: make a
decision, and commit money to be spent on that decision. In our
lives, we may feel we have had a "big win" if a decision maker we
work with tentatively agrees to go along with a suggestion we have
made for a while on a trial basis (while planning to disclaim all
knowledge if it goes south), so long as it doesn't cost anything.
Now picture that deal if it had been handled by a real
professional: the decision maker would have committed to the idea
in the budget! Perhaps a supportive email would have been sent!
Hands could have been shaken. That's what I'm talking about! How do
we get there? Surprisingly, to me (sorry, professional sales
friends), it's not by being ostentatious or even friendly. The top
traits are: 1. Modesty 2. Conscientiousness 3. Achievement
Orientation 4. Curiosity 5. Lack of Gregariousness 6. Lack of
Discouragement 7.Lack of Self-Consciousness. Actually, when I
compared this list of traits to the personalities of people I know
are top sales people in my company, I realized they are very true,
but I hadn't recognized them before. So thank you HBR!
Additionally, though, I had a couple of thoughts about this, in
terms of persuasion you or I might need to do on a daily basis: If
you are a person who likes to get her way, (and who isn't?), then
here is a behavior strategy to cultivate in a work setting:
internally, be a man or woman of steel. Determine your goals in a
way you can measure (brush up on S.M.A.R.T. goals), and then pursue
those goals doggedly, sloughing off discouragement and
self-consciousness. This advice encompasses traits 2, 3, 6, and 7,
above. But externally, be modest, quiet, and somewhat aloof, coming
out of your shell only to ask a lot of questions (1, 4, and 5, if
you're keeping track). This combination of behaviors tracks
remarkably well to rules of thumb given to consultants when dealing
with clients anyway. It is the business of a general to be quiet
and thus ensure secrecy; to be upright and just, and thus maintain
order. In particular, understand that self-deprecating humor may
not be the thing here for you or for your client. I don't mean to
be sexist, but I think especially of my women friends with this
point. Any of us who try to be friendly and non-scary as our
primary communications mode may want to rethink this strategy in a
work environment where we hope to be persuasive. If we are trying
to achieve anything in particular, we need the respect of our
clients (or coworkers), not their friendship. Martin says that you
need to keep your emotional distance to stay in control: "Dominance
is the ability to gain the willing obedience of customers such that
the salesperson's recommendations and advice are followed. The
results indicate that overly friendly salespeople are too close to
their customers and have difficulty establishing dominance."
Lastly, be like Tigger (from Winnie the Pooh); don't be
self-conscious; learn to bounce. As Woody Allen famously said, "80%
of success is just showing up." Stay focused on the goal, and don't
let small setbacks get in your way. Because selling is what Tiggers
do best! Why Delhi Belly (the movie) rocks Rajiv Mathew 1. There is
no interval. The story is seamless and captivating. An interval
would have spoilt the carefully built up tempo. 2. Slick editing.
Every scene is vital for the movie to proceed further. Aamir has
gone into the details as far as editing is concerned. 3. Great
songs. Also no song is forced into the movie. Bhag DK Bose is
already a cult favorite! 4. Great sequences like the Burkha
robbery, Orange Juice & Ja Chudail dance provided the zing. 5.
Side characters like Disco Fighter, house owner & Kathak
dancers add the icing on the cake. Vignettes of TWI
4. The TWimes of India ThoughtWorks News & Views in a
Nutshell 04 Introducing Agile Planning with Apples, Chikoos, ity
calibration, we had one Raspberries, Jackfruits and Watermelons
iteration whose velocity was JK Werner JK Werner is a BA/IM, who
currently works out of London. He spent a considerable time in
India last year as a TWU trainer. learnt while doing the relative
sizing: L earning a new concept or process works best when done in
a simple situation. Once you have mastered the process, you can
apply it to more complex situations. I've made the mistake before
of introducing relative sizing and velocity calibration to a group
with the actual stories that were going to be used for the project.
Though we've managed, there has always been a challenge of
re-explaining the process throughout and pausing to discuss edge
cases. In a recent inception, I decided to introduce the concept
first with an abstract example - fruit. I had worked this through
in my head, and was happy that it would introduce the basic
concepts and make the actual relative sizing and velocity
calibration much easier. I was right in that sense, but it also did
much more. We were able to see many real world examples and
pitfalls come to light which made the actual relative sizing and
velocity calibration process much easier. Relative Sizing To start
with I had written about 30 different pieces of fruit down on story
cards. Rather than relatively size the stories based on the effort
it would take to develop them, we were going to relatively size the
fruit based on the effort to eat them! Here are some of the lessons
For internal use only The Technical Story Things were moving along
well and the team was making good progress through the sizing of
the fruit. Then came the kiwi... someone commented, "We need a
knife". I asked them what they should do. The team wanted to raise
a story to buy a knife. I asked what would happen if they played
the knife story, and then the business decided not to play the kiwi
story. They quickly agreed that if we never played the kiwi, buying
the knife would be a waste. This led us to making an assumption
that the kiwi story would include buying a knife, hence more
effort. When we later hit the pineapple story, we assumed that we
already had the knife. There was a brief discussion about what
happens if the kiwi is deprioritised and the pineapple is not, and
everyone was comfortable that the assumption of already having the
knife would then be wrong and we would resize. The learnings: Do
not create stories that will introduce technical infrastructure.
Include the effort to do this in the first story that needs it. If
multiple stories need it, make sure to assume the one that will be
played first and assume in the others that it is already in place.
If those assumptions change, you resize the stories. The Unknown
Story There were two other fruits that caused us trouble. The
jackfruit and the dragonfruit were both unknown to the team. The
jackfruit was easier to resolve. One of the team members knew what
it was and was able to describe it in enough detail for the team to
size it relatively to the other fruit. The dragonfruit was much
harder. Soon, someone got an iPhone out and looked it up on
Wikipedia. The learnings: The team should support each other by
sharing knowledge about the stories, allowing them to come to an
agreement on the size of the story. When the team doesn't know the
answer immediately, the BA should go away to discover the
information. Set the unknown story aside until the information is
found. Capture any assumptions that you make. The Duplicate Story
Though we didn't do this at the time, I've since realised that you
could very easily include duplicate stories in the exercise.
Depending on where you are from and where you have travelled,
finding fruits with multiple names may be a challenge. Two examples
are: carambola & starfruit, and chikoo & sapodilla. This
would be a nice way to set everyone's expectations that there will
be duplicates and to keep an eye out for them. Velocity Calibration
After the relative sizing, we moved on to velocity calibration. We
decided on a team size of two pairs and decided that we would have
4 iterations of 15 minutes each. We asked the team to select the
different fruits that they felt they could eat in each iteration
(with the assumption that they had a chance to digest their fruit
between iterations). Besides learning the basic concept, we also
encountered what happens when you try to include your Too Big
stories. The Too Big Story As we were doing the veloc- quite a bit
bigger than the others. No prizes for guessing which fruit was
included in that iteration. After a bit of a discussion it was easy
to see that we shouldn't include the watermelon in the velocity
exercise. In fact we realised that the watermelon could be broken
down into smaller pieces - think of the number of times where you
have seen a half or quarter of a watermelon for sale in the produce
section... The learnings: Exclude your Too Big stories from
velocity calibration. Break your Too Big stories down, resize them
and include the smaller stories. Summary: When we repeated the
exercise with real stories, the BAs and SMEs were aware that they
needed to answer questions on the unknown stories, we excluded the
Too Big stories from the velocity calibration, and the team was
diligent at capturing assumptions. Numerous times I heard someone
say "we need a knife for that story"! Most importantly, though, the
entire team had done the fruit exercise. SMEs, PMs, BAs, QAs and
Devs were familiar with the process before going into the actual
sizing and calibration. For the devs, the benefit was obvious, but
the understanding from the other members of the team was
invaluable. Even though the other team members recognized that they
could no longer participate with the exercises, they were engaged
and involved throughout. They took turns facilitating, answering
questions when they could and rarely challenged what the developers
decided! What is feedback in Hindi? Khilao piche se! Hahahah -
Rajaram Mallya Vignettes of TWI
5. The TWimes of India ThoughtWorks News & Views in a
Nutshell 05 TLB: Rocket boosters for your build JJ, a chemical
engineer by qualification, has been a developer at ThoughtWorks for
over four years. He currently works with Studios out of Bangalore
2, on the Go team. Janmejay Singh Ruby testing tool) among source,
BSD licensed tool that splits the load of test execution to make
several chunks(that we call partitions), hence allowing your tests
to execute in parallel, across several physical machines or VMs,
with each one executing only one small chunk(one partition). M ost
devs and testers would agree that keeping code well covered with
automated tests is an essential recipe for driving a software
project to success. Such a test-suite prevents software regression,
helps flush out the design, allows collective ownership of complex
and logic-heavy code, acts as a functional and executable
documentation for new project members, allows easy code refactoring
and clean-up as well as frequent releases - the list could just go
on and on. However, the number of tests a project has is usually
directly proportional its features, complexity and maturity, and
the numbers for these quantifiers are always headed upwards.
Obviously, as tests increase, the time it takes to execute the
suite goes up too. This is especially true for Integration and
Functional tests because these typically take longer to execute
than Unit tests. At some point, teams decide not to run these tests
for every commit because running the whole suite starts to take way
too long. I dont intend to enumerate bad things that can happen to
your project once it starts slipping down that slope, so lets step
back and consider a better alternative. So you have a big test
suite that takes over 10 minutes to execute and you wonder if there
is anything you can do to help make it faster? Here is something we
have been working on for over a year now and we call it TLB (an
acronym for Test Load Balancer). It is an open- For internal use
only So heres what the tool can do for you: Say you have a project
with a thousand test-suites that takes about ten minutes to
execute. By changing a few lines in your build script, and using
four more computers to deploy the job, TLB can help you bring the
total time down to 2 minutes. We call this timebalancing. It
partitions your test in such a way that each partition takes an
equal amount of load in terms of time. This implies that all
partitions take almost the same time to complete, and given that
each partition only runs one-fifth of the whole, it takes only
one-fifth the time, which is 10 minutes/5, which brings us down to
2 minutes. Similarly if you have a test-suite that takes 5 hours,
it can be cut down to just 20 minutes with 15 machines to
parallelize it. Lets understand what TLB does not do. It does not
launch multiple processes across machines. It does not invoke your
build task nor does it manage machines for you to run your build
on. There are very good tools around that can help you do all of
that. You can use the tool of your choice to invoke build task,
i.e. ant test, rake spec or buildr test etc. For instance, the
launching of processes across different physical machines at the
same time can be offloaded to a CI server (like Hudson or Go) or a
command-line driven tool like Capistrano or Cluster-SSH. Once the
build task is triggered on multiple machines, each one of these
processes executes only a part of the whole set of tests. By
design, TLB is really non-intrusive; all that changes is a few
lines in the build script of the project. other features. The only
other piece that you need in addition to invoking your build task
is a daemon that we call the TLB Server. This is a repository where
data captured while running tests (like running time, result etc.)
is stored. Some algorithms (eg. time-based partitioning or
failed-first orderer etc.) depend on such data. TLB can work
against an instance of either the TLB Server or the Go Server. TLB
server is a part of the TLB project and is available to download.
You can download the latest TLB distribution from
http://code.google.com/p/tlb/ downloads/list. Ruby support is
available as rubygems (namely tlb-testunit, tlb-rspec2 and
tlb-rspec1). The archive named setupexamples bundles tiny projects
we use for demonstration purpose. Each project is a unique
language, testingframework and buildframework combination and has a
shell-script named run_balanced.sh that can be executed to have TLB
make partitions of the test-suite and execute them serially, one
after another. The shell script, in short, just starts the TLB
server and executes test-task with the appropriate environment
variables set. In a real world situation, each one of these
partitions would be executed on different machines/process-trees in
parallel. Multiple partitions of a build obviously need to use the
same TLB server instance, which means the TLB server must be
reachable over the network from all machines that are to execute
partitions of a projects test suite. One TLB Server instance can be
shared by several projects or multiple builds of the same project.
This means all projects and builds can share a single
organization-wide or office-wide TLB server. TLB server binds to
port 7019 (unless overridden), so youd want to unblock that port
for inbound traffic on any firewalls/filters on the server machine.
(Similarly youd want to unblock it for outbound traffic on machines
that are going to execute the partitions). I emphasize this here
because sometimes firewalls can be really nasty and confusing. The
Java support library in the latest release of TLB (version 0.3)
supports popular Java build tools like Apache Ant and Apache
Buildr. The Ruby library bundles support for Rake. On the testing
framework side, TLB has support for widely used Java testing tools
namely JUnit and Twist, while the Ruby library bundles support for
two of the most popular testing frameworks, Test::Unit and RSpec
(both 1.x and 2.x). The next TLB release (0.4) will include support
for Maven(a Java build tool) and Cucumber(a Note: Because TLB does
not have the necessary data to partition tests accurately (using a
time-balancing algorithm) when the very first invocation is made,
it uses a count-balancing algorithm, you need to run the script
twice to actually see if it is time-balanced. Expect this behaviour
on your actual project as well. The distribution archive named
tlb-complete bundles all TLB artifacts (java support library, TLB
server, alien support library, setupexamples etc). Other archives
bundle the subset of the whole. Please refer to TLB website for
exhaustive documentation and other details. Should you have any
questions, featurerequests, feedback or suggestions related to TLB,
feel free to reach us. So go ahead give your test-suite rocket
boosters and watch it fly by. Happy TDDing! Vignettes of TWI
6. The TWimes of India ThoughtWorks News & Views in a
Nutshell Price, Value, Perfection Age Of Empires Strategies by
ThoughtWorks Gamers Pankhuri Agrawal Kiran Prakash So... You have
an image in your mind. That perfectly clear image. That one perfect
piece of art. Wherever you go, you subconsciously compare every
artifact with that image. Mostly, nothing comes near it. You smirk.
You sigh. You carry on. Then, behind a showcase of an odd shop...
you see something that resembles that image. You can only see it
from few angles. But it looks like a match. You feel curious. Even
excited. You enter the shop. You ask for the price. Of course its
going to cost you more than youre willing to pay! After all, it was
the only artifact so far that looked promising. What do you do? Do
you buy it? You say, let me have a closer look... When you do take
a closer look, seriously consider buying it, you start seeing the
mismatched shades, unexpected curves. You realize that the so
called clear image you had in your mind was not clear enough. You
overlooked small details while imagining it which are quite
surprising in reality. Did you want that particular color to be
there? Or is it spoiling the way youd like it? Do you buy it? Do
you not? It depends on both, the price and the value of the
artifact. Are you afraid of the high price? Or is the perfect image
so valuable to you that nothing less is acceptable? "The best part
about the movie BodyGuard is the one liners on the tee shirt of the
fat guy" - Ankit Dhingra For internal use only S ince the fall of
the Atilla Empire circa 20042005, some of the lesser kings have
been fighting hard to protect the TW-AOE Empire. Here are some of
the commonly observed AOE strategy patterns used by my fellow
ThoughtWorkers. The Storm Patrol : This strategy is favored by
Storm AKA Ketan. While attacking, use up all your initial economy
to make an army as large as you can and let them scout around the
wonder base. Specifically near the gates, so that none of the other
defenders can enter the wonder base. The Phil Entropy: This one's
straight from the barracks of IIT Roorkee, practiced religiously by
our philanthropic Philosopher AKA Ankur. Remember/practice a list
of AOE shortcuts which far exceeds your Resharper/Intellij ones;
use them to create an economy which is at least 5 times that of
your nearest rival at any given point. Donate resources liberally
among your teammates during the battle and pray that they play half
as well as you do. J(F)ake it : Pioneered by The King Jake AKA
Jake. Seconds before the game starts, quickly change your
civilization from 'Random' to 'Koreans'. 80% of the time your
rivals are busy adjusting their headphones or stuffing the last bit
of Haldiram's Matri into their mouth and they wont notice. And do
shout out the obligatory phrase "Oh sh**!! I am Koreans again!!
once the game starts. Make some onegars and spend the rest of your
time killing harmless villagers. The Gameover Escape: Employed
successfully by Gameover AKA Chetan Venkatappa. If you see a thick
forest outside the wonder base, make a siege onegar and few Trebs
and hide it deep inside the forest. Launch some fake attack and let
the enemy wipe you out (the idea is to drag the defending army out
of the wonder base) . Meanwhile quietly clear a small patch through
forest and unpack the trebs on wonder, while your enemy is still
busy feasting far outside the wonder base. The Badmash Defense:
Invented by Badmash AKA Mujir. It works really well when you are
defending with Turks. Build a wall around the wonder and put some
10 cannon pushers behind it, when the enemies attack with their
Trebs, the cannon pushers under the protection of the wall will
take down the Trebs easily with their +2 range. The Frag's Bait:
This has been proven to be working wonderfully well when Storm's in
your rival team, Pioneered by Bob AKA Fragbait. While the other
team is busy defending the wonder base, send some army (preferably
huskrals as they are good against buildings too) to your rivals
base. Put them on Aggressive stance. Once they bring their economy
to dust, go and calmly takedown the wonder. If people notice your
heroics after the game give a sheepish smile and act as if it was
an unintentional. The Persian Attack: Favored by yours truly, works
well when attacking with Persians. Just focus on building a massive
economy (using 150-160 villagers, leave creating army to your 06
teammates) when theres about 100 years left, pump some 30-40 war
elephants using 3-4 castles, and beg your teammate to open up a
gate/wall on a side of wonder base where there is least activity.
Take all your elephants and click on wonder, and pray that your
enemy dont have any halbedier left. And yeah some of the classics
like 'Jansankhya gambit'' and 'ThunderBird TakeOff'' have stood the
test of time and are still being practiced religiously. Statue! The
way to meditation Manoj Tharayil J ust try this out! During any
activity, just freeze and be still for 100 seconds. This is a great
way to understand your inner thought processes. As children, we
used to play this game and now we seem to have forgotten it without
realizing its intrinsic value. Many people have recommended the
"statue" method, one of them being Osho Rajneesh. He is generally
"misguided", in my opinion. But nobody can disagree with ALL the
views of another person. But I do agree with him about the statue
method of mediation. Another way is freezing during any cardio
exercise, like jumping up and down, or running. The contrast of
what you are doing is important. The contrast between physical
activity and complete absence of physical activity is what leads to
a state of meditation. Vignettes of TWI
7. The TWimes of India ThoughtWorks News & Views in a
Nutshell Social Networks Martin Fowler is our Chief Scientist and a
popular Twitter celebrity. Martin Fowler I wasn't cool enough to be
in the first wave of invitations, but I have now got onto Google+,
the Maybe Next Big Thing in social networks. It seems somewhat
appropriate to mark this Momentous Event by writing a little bit
about how I've used social networks so far, and some uninformed
speculation about the impact of Google+. My initial reaction to
social networks was suspicion. At heart, I'm a misanthropic hermit
with enough intelligence to put me on a veneer of sociability. So I
was never tempted by the early social networks like MySpace, and I
still regularly refuse any requests to LinkedIn. I'd kept half an
eye on Twitter, but was slow to get involved. Someone registered
the name @martinfowler and started feeding my blog posts into it. I
was worried that it may be a squatter, but it was actually a nice
programmer who happily handed over the account when I asked for it.
Eventually my colleague Doc List got me going on Twitter and now
it's a regular part of my life. Shortly afterwards, I joined
Facebook too. I use the two networks quite differently, which is
partly the function of my fate of being a geek celebrity. Twitter
is a public facing stream, where anything I tweet goes out For
internal use only to 35,000 followers. With Facebook I only link to
people who I know personally. At a simple level I can think of
Twitter as my professional side and Facebook as my social side but
that's a bit of a stretch since many of my friends are also
professional links. Twitter is a fascinating social construct. It's
a mix of features that I can't imagine someone would design
up-front [1]. The 140 character limit is one of those silly
technology fiats, yet it works well. As Elliotte Harold tweeted of
Google Buzz: "Favorite Buzz feature: I'm not restricted to 140
chars. Least fave Buzz feature: everyone else not restricted to 140
chars :-)". Similarly the asymmetric follow (35,000 follow me, but
I only follow 300) coupled with mentions (which get my attention)
works better than I would have ever thought if someone described it
to me. All in all, it allows me to keep a good sense of connection
without drowning in the flood of text. Almost all the people I
follow on Twitter are people I know personally. I read pretty much
all the tweets from people I follow or people who mention me. I
check the stream pretty regularly, several times a day most days. I
post a few times a day when at home, a bit less when travelling. I
choose my public posts carefully, conscious of the fact that I have
so many followers. I try to post things that are interesting to my
perception of that crowd. Mostly these are links to interesting
articles, which naturally include anything I write. I reply a bit
more casually when I see things from friends or mentions. I find
Twitter a useful source of web links to read which supplement my
regular blog feeds. I also enjoy the feedback on my own
contributions that appear whenever I tweet a new post. With
Facebook, I know that people who see my posts are only people I
know reasonably well. The other difference is that my non-geek
friends don't use Twitter but many do use Facebook. I don't check
Facebook so often, usually only once or twice a day. My posts there
don't include geek stuff, mostly they are either interesting social
things we are doing. One issue for me is how to deal with people
who are on both services. My approach is to almost never post the
same thing to both places, along the geek/social divide. But
several of my friends copy all posts to both services. I'm still
unsure how to deal with that, I could block them on Facebook, but
then I'd miss some conversations. I use a consistent avatar photo
on any site that I use. People are used to recognizing faces, so I
think it's only reasonable to use a regular face photo as an
avatar. It's frustrating when someone posts and I can't remember
who it is because I haven't learned to match their face to their
name yet. [2] Overall I've come to be very glad of both services.
The nature of my life means I have friends all over the globe and
it's good to keep some low-level regular contact with them. I was
never one for sending off emails, and have always disliked phone
calls. Posting short messages about what we're up to work well for
me. So how will Google+ fit into this? Of course I don't really
know; there's no sensible way of predicting the outcome. The
question for me is whether Google offers something that the current
Twitter/Facebook combo does not. From the small amount of use I've
put it to so far, it looks well put together. Circles seem to me to
be a very useful feature that matches how I see most people's
social interactions. [3] (Although as George Dinwiddie pointed out
remember that Google (and Doubleclick) are in all your circles.) On
the whole I'm very happy with Twitter and will need a lot of
persuading to shift off it. Facebook, I'm less excited about and
could easily see me moving. The circles notion could be just right
in that context. But the key issue here is that it doesn't matter
what I think or do, it's what all my contacts do that counts. I
mostly have a 07 Facebook account because people I want to keep in
contact with have a Facebook account. If they don't move to Google+
I'm staying with Facebook even if Google+ is nicer. That's why
Google+ has a huge mountain to climb, especially since I don't want
to check Yet Another Social Network. I suspect there may only be
room for one of Google+ and Facebook. So far this makes Google+
only marginally interesting to me. It's rather like Wave was - a
cool idea but of little use if nobody else is using it. What may be
the difference is tying in with Gmail. I always got the sense that
the Wave and Gmail teams weren't on speaking terms; hence their
software never seemed to be either. Google+ allows you to link to
people who aren't on Google+ but do have your email address, your
posts go to these people as email. I could do with this already for
some non-Facebook friends, and it could be an important booster to
getting people to use Google+. In general there seems to be a
determination with Google+ to tie in with other Google services.
This may be the lever they need to shift Facebook, other than their
obvious advantage, but it will still be a big challenge.
[Footnotes: 1: I'm sure that somewhere on the web is a really
interesting article on the evolution of Twitter's features and
their impact on social interaction. When you find it, please tweet
it to me. 2: If you do use a face as your avatar, please use full
face only (not head and shoulders) otherwise it will be too small
to see. Also make sure there's enough light on your face to be able
to see it properly at that small size. 3: I've heard some people
say that circles are a big innovation. I find that astonishing,
surely it's obvious that people interact differently with different
groups of contacts? I think the fact that Facebook didn't do this
is that they are fixation in their view of the world that people
should be public - which also explains their regular missteps over
privacy.] Life begins at the end of your comfort zone! - Sri
Prasanna K Vignettes of TWI
8. The TWimes of India ThoughtWorks News & Views in a
Nutshell Little Law, cycle time & throughput Paulo Caroli w
way. At home, I have 12 bottles of whisky at my bar. In average, I
finish (and purchase) one whisky bottle every two months. What is
the average time each whisky bottle stays in my bar? From the
problem statements I can get the following parameters: hile sitting
at my dining table I was thinking about a way to explain Little
Law, cycle time and throughput. This idea came to mind once I
poured myself a glass of whisky. It was the last dose of a Macallan
12 bottle. I removed the empty bottle from the bar, and made a note
to buy another one. - The inventory or WIP is 12 bottles. (Problem
statement A and B) - Throughput is 6 bottles per 12 months (Problem
statement A) - Average Cycle time is 2 months per bottle (Problem
statement B) - And the question is the average lead time Problem
Statement A: At home, I have 12 bottles of whisky at my bar. I
consume and purchase an average of 6 whisky bottles per year. What
is the average time each whisky bottle stays in my bar? I will
solve the problem in two ways: Problem Statement B: Lets state the
problem in another Solution 1: WIP = Throughput x Average Lead Time
12 bottles = (6 bottles /12 months) x Average Lead Time, Portuguese
in Gurgaon Shweta Sharma Shweta is a BA who works out of the
Gurgaon office. She is half a year old at ThoughtWorks. A few
months ago when I joined Thoughtworks, the Gurgaon office was this
fledgling office, working out of this temporary building space that
did not match up to the rest of the ThoughtWorks offices. When
asked about the coolness quotient of Gurgaon by a few folks from
the Bangalore office, I struggled to find something that
distinguished it from the other offices. Now, however, times have
changed and how! Apart from having a swanky, bright and cheerful
office space (which will surely set the trend for all the offices
to come), Gurgaon suddenly has all these activities and events
lined up week after week, which is creating a buzz and making the
office a fun place. Now, with the commencement of Portuguese
classes in the week of the 15th of August, and with a third of the
office attending the class, the office For internal use only is set
to be the one TWI office with the maximum number of people speaking
a foreign language The excitement generated by the Portuguese class
has prompted me to write this article. I would have loved for it to
be in Portuguese, but sadly I was not born a super computer with
the ability of becoming adept at a language by attending a single
class. But in the future, you can definitely expect some blogposts
in Portuguese from Gurgaon ThoughtWorkers! It all started with talk
of us bringing a major account from Brazil and executing it out of
Gurgaon, and a few folks said they would like to learn the official
language of that country. Once the idea spread and more people
showed interest, we sought Sahana Chattopadhyays help,and got a few
people to the office who Therefore, Average Lead Time = 24 months
Solution 2: Average Lead Time = WIP x Average Cycle Time Average
Lead Time = 12 bottles x (2 months/bottle) Therefore, Average Lead
Time = 24 months The formulae used on both solutions are
equivalent: WIP = Throughput x Lead time Lead Time = WIP x Cycle
Time Here are the definitions for these equations parameters: Lead
Time is the time between the initiation and delivery of a work
item. Cycle Time is the time between two successive deliveries.
Throughput is the rate at which items are passing through the
system. WIP - Work in progress; the could take classes, and zeroed
in on a language professor from JNU, Professor Manjula Sharma. We
sorted out the hows and whens : two classes a week, lasting two
hours each, after core working hours. We also thought about the few
unlucky people who might not be in office on class days, and setup
a video conferencing facility for signees to join in from other
place. Not an ideal situation for a language class, but it was the
best we could do. The first class was taken on the 17th of August.
The students (including Nitin and Mukesh sitting as obediently as
eager learners) were all present there in the Parliament room (our
big conference room) in anticipation. We were gearing up for a
boring rote class with monotone looming large. To our joy, we found
that our professor was entirely different from what wed expected.
The class started with a small history lesson on Brazil and the
Portuguese colonization to help us appreciate the cultural 08
number of work items in the system - work that has been started,
but not yet completed. Although these formulae are intuitively
reasonable, it's quite a remarkable result. And this is the main
theorem in the Queuing Theory, which is also known as Little Law
(It was described by John Little in 1961): The average number of
work items in a stable system is equal to their average completion
rate, multiplied by their average time in the system. The average
completion rate can be represented by either throughput, or its
inverse, average cycle time. This duality is shown at problem
statements A and B. These equivalent statements are made in terms
of, respectively, throughput and average cycle time. I dont know
about you, but before digging into Lean, I was a little confused
with throughput and cycle time (and I did not measure it). I hope
this article has helped you understand it. I also hope more people
start measuring such important parameters (I cant believe I did not
use these before going Lean!). nuances that affected the Portuguese
language spoken in Brazil. I must say I have not seen such a
vibrant history class before; no one dozed off and people actually
probed for more information! Prof. Sharma then worked with us on
alphabet pronunciation and made us spell our names. Spelling out my
name has never been such fun! We moved then to learning to
introduce ourselves and others, and in the process realized that it
is very different from the largely gender-neutral English language.
Portuguese has different words for a girl and a boy, be it
adjectives, pronouns or even a simple thank you! You say Obrigado
if you are a guy and Obrigada if you are a girl! All in all, it was
a great start. Our spirits were so high, that even the teacher
enthusiastically extended the class by 30 minutes to cater to our
enthusiasm!! As we proceed, we will keep you all posted about all
the interesting language nuances, constructs and the song-like
pronunciation - We hope you will stay hooked. Until thenat amanh !!
Vignettes of TWI
9. The TWimes of India ThoughtWorks News & Views in a
Nutshell Happy Hampi Sam is a QA based out of the Chicago office.
He spent 6 weeks in India for ThoughtWorks University 19 last year.
Sam Hotop anyway, but man, everybody I was standing in a 3000 year
old temple, completely naked and still dripping from the river
water. It was at this moment, as I looked over the boulders and
destroyed columns, that I realized Hampi had been calling me all
along. A true adventure that began with a bus ticket, a backpack,
and a couple bottles of rum. Our first week in India had been
packed with new information, new people, new food, and really what
amounts to a new way of life in a country that, on the surface, is
strikingly different from my own, but, with greater and greater
frequency, gives me glimpses of a life full of the same passions,
fears, desires and joys as my own. We decided to go to Hampi for
the weekend. We figured we'd just take a bus up, see some ruins and
head back. Friday was a long day. I ran home at 7.30, packed, and
then headed over to a party my colleagues were having. There were
only three of us going to Hampi that night, but we made an
appearance at the party nonetheless. It was a good time. I drank.
Took some sweet videos. And acted like an idiot. Typical party Sam.
Around 9:30, headed to the office to catch a cab for the bus
station, where the crazy-meter began to make its gradual shift
upwards. Little did we know that the crazy-meter would continue to
inch upwards over the course of the next 48 hours. The bus station
was totally packed with people. I mean, there are just millions of
people everywhere all the time For internal use only and their
brother was heading out to take a bus Friday night. The three of us
ended up in the last three seats, in the last row of a
"semi-sleeper". Admittedly, I found this naming convention a little
suspicious. Couldn't I just normal sleep? How exactly does one
semisleep? Our saving grace, alcohol. We knew that no matter how
bad this 8-hour bus ride turned out to be, we had booze. And if we
drank enough of it, we knew we'd eventually make it to drunksleep.
I think the three of us took some classes in drunksleep in college,
so this would be a piece of cake. No. It was not a piece of cake.
It was a piece of whatever is the opposite of cake. The trip
started out great. We started mixing some drinks. Yeah! Party!
Sweet! The plan was working. For a while. Problem one. Urine. There
was no bathroom on the bus and we were about 2 hours in. Then I
learnt what they meant by semi-sleeper. It means a regular bus with
no air conditioning and a back window that doesn't work. Problem
two. Tom. Tom's a really nice dude from the UK. Drunk Tom is a
whacked out lunatic that may get you killed. At some point, Drunk
Tom's personal crazy meter started to crescendo and as the normal
human beings on the bus lay in slumber, Tom turned his headphones
all the way up. Then he started to play the drums on his legs. Then
he asked me about 50 times, in pristine British fashion, "Have you
ever heard of Oasis?!" I mean, this was already hilarious on so
many levels, but the kicker was that Tom's voice was louder than
the really loud bus engine and the blaring music from his
headphones. We tried to politely ask Tom to keep it down a bit (it
was 3am!), but that seemed to make him rage a little, and a raging
white dude in a bus full of Indians in the absolute middle of
nowhere was definitely not a path I was about to head down. Problem
three. The road. About 6 hours in, the road went from decent to
totally ridiculously horrible. Now I'm not some pompous westerner
who's too good for other countries roads. These roads were insane.
Every single second there was another brainrattling crash that just
destroyed the vertebrae in my back. Even better was when there was
a really bad one, Tom would yell in the most cliche'd British
accent you can muster. This old lady was totally giving him the
death eye and he had no idea. I started looking through my
dictionary for ways to say "Take him. He's not with me" in Hindi.
Luckily, there was no mutiny. We eventually did bounce, rock and
roll into Hampi. Only, however, after we missed our stop and had to
call the guide, try to explain what happened, and then finally
really freak out the bus driver by asking him to talk to someone he
never met. "Hi, I'm a 6'5" white dude and I'm lost in India. I know
you can't understand anything I'm saying, but would you mind
talking to this guy?" Extends hand holding cellphone. It worked
though. Basava, our guide, was awesome. The bus parked and we got
out. Then, we wanted to jump back in because immediately there were
eleven billion people shouting at us. You want post cards? You need
guide? You want a taxi? You want a rick? You want a room? I just
said uhhhh alot. I did buy some nice post cards though. I said,
"We're looking for Basava." Silence. Basava's a man with a plan.
People don't mess with his tourists. And like a shining knight on a
white mare, there he was. He got out of an air conditioned Nissan
Ultima, shook our hands, and we'd never be the same. After some
rest, we headed out. Tom was still drunk and looked like death. I
just smiled a lot. That's my thing. We went to some ruins and got
some really good panoramic photos of one of the sites from pretty
high up. We descended down the back side of this 09 slope toward a
market and the main temple for that area. The market was bustling
and we got to see some really cool stuff. This place had awesome
animals. The first one we saw was a cobra. It was just like the
movies. There was some old guy playing one of those recorder things
and the cobra popped its head out of a basket and started dancing
around. It was crazy. We were walking along the street and everyone
kept trying to sell us bananas. They all seriously insisted that we
buy their bananas. So we bought some. So here we were, walking down
the street with these bananas. I happened to glance back and in the
distance I saw this cow walking through all the people. Funny. Cows
just walk around here. Little did I know that this cow had a plan.
I glanced back again and noticed that the cow was picking up speed,
knocking over little children, and heading towards, well, us. I
didn't think too much of it until I turned around a third time and
saw the thing full trot right towards Nolan. It wanted the bananas!
Give 'em your bananas Nolan! Run! Oh my god!! We're all gonna die!
It was so funny. The cow chased Nolan right into the temple. At the
entrance to the temple there were more aggressive animals. Monkeys.
They'd jump down, smack their palms together as if to say,
"Bananas. Now.", and then do their little monkey chirp thing. We
handed the monkeys some bananas. Oh but that wasn't all. The cows
had our bananas, the monkeys had our bananas, and as we walked
through the gate, a giant elephant was asking for bananas. And not
only that, it wanted money too! Apparently the elephant does
blessings as well, but only for cash. And the more cash you give,
the longer it blesses you. I had to try this. I handed its trunk 10
rupees, not really knowing what to expect. It took the cash, put it
in a bucket, and then plopped its trunk on my head. It just kept it
there for about 8 seconds. I was hooked. After I jumped down from
taking pictures with my new fuzzy-trunked friend, Nolan told all
the children that I was a giant and that I could bless them too. I
was bent over putting my shoes on and when I looked up, there were
about 15 pairs of eyes staring at me. I started laughing and they
all thought I was hilarious. Vignettes of TWI
10. The TWimes of India Basava took us around to some wonderful
places. He was so knowledgable. Hed studied archaeology and
ethnography in college and made his living taking to people like us
on these adventures. He knew exactly what we were looking for and
it wasn't the typical tourist traps. Before we knew it, we were
straight up Indiana Jonesing it down this river in a buffalo skin
boat called a coracle. We paddled down the river and listened to
Basava tell us about Hindu gods and the temples that had been
carved into the cliffs. Feeling adventurous, we went for a swim in
the river and climbed soaking wet up into one of Shiva's temples.
It was here that I stood, flailing in the wind, peering out over
the great divide. Conan. Conqueror. Terminator. We climbed down,
paddled on, and eventually docked. There was an old lady on the
shore making chai, so we stopped for a drink. Delicious. Later that
night, as the sun went down, we climbed another majestic temple. We
talked about how crazy it would have been to see this place in its
heyday. There were bathhouses, giant platforms for music and
dancing, markets, dining halls, even a small temple for beheading
people. It was awesome. At one point, we descended into this pitch
black underground lair where people were chanting. It was kind of
scary. We didn't want them to know we were there, so we tiptoed
through and out the other side. We watched the sun go down atop the
tallest temple. You could see everything. It was beautiful. That
night, thanks to Basava, we had a real sleeper bus for the trip
back home. I had my own bed. Nolan and Tom had to share one.
Bwhahahahahhaha. We each took some sleeping pills and the next
thing I remember was a loud "Bangalore! Last stop! Everybody get
out!" Took a rickshaw home and slept. A grand adventure indeed. I
am working on this guy -Jatin For internal use only ThoughtWorks
News & Views in a Nutshell Recognising a geek! Shweta Shetty 10
Shweta is a developer who works out of the Pune office. She blogs
at shwetakaleidoscope.blogspot.com is when you bend to turn on/turn
off the pc or take a trip to the kitchen to get a drink. If you are
a health freak you probably do those 'chair exercises' where you
stretch your legs in front of you, rotate your feet and think ou
know you are a "Wow, aerobics is tiring..." computer geek when: 5.
You have weak eyes. Do 1. You hear trees and think try to take a
break every hour children, binary search and and stare away from
the recursion and not about those screen. brown and green thingies
on which fruits grow. 6. You speak 'Geekanese'. This language
contains 2. To you 'Windows' is a sentences like swear word (or
'that other OS' if you are polite). You never "I think its time to
refactor my look out of them. No wonder cupboard." you dont know
what trees "Those newbies are having a really are. flame war and
adding noise to my list." 3. "Google is a search "I just submitted
a patch by engine"- to you this sentence skipping the tarring and
is akin to blasphemy. Thats simply gzipped the code." coz Google is
your dictionary, (I am unable to present an spell-checker,
translator, English translation of the postman, problem solver,
above sentences as Google calculator, convertor, locator,
translator does not support publisher, editor, artist.. Pretty
Geekanese yet) much the thing your life revolves around. 7. You
hero-worship some and identify each one of the 4. The only exercise
you get following people: Larry Page, Y Linus Torvalds, Chris
Mason, Valerie Aurora, Avi Kivity, Daniel Philips, Martin Fowler,
Martin Odersky, Guido van Rossum et all. 8. You are terrified of
bugs because you know there is no pest control agency on the planet
that can come around and zap them out for you. 9. You are more
comfortable chatting online or texting than phone conversations.
("Its cheaper" is just an excuse. Stop fooling yourself) And real
conversations with real people is a rare event. 10. You have read
through (and understood) all the above points and the only thing
going through your head is "What?? This aint
normal/expected/regular behaviour?" Welcome to the world of
computer geeks! Actually you were already here. My first glimpse of
snow Soumya Swaroop I was seated in the window seat of the plane.
When I looked out, all I could see were clouds, so dense and vast,
that the earth was not visible. The plane started its descent.
After a while, patches of earth started to become visible. If my
eyes were to be believed, I was seeing a huge lake, and soon I
could see more in number. My brain refused the thought. Surely,
there cannot be so many lakes so close by. Slowly, the vision
became more clear and I realized that this was actually my first
glimpse at snow. Which song do you associate ThoughtWorks India
with? Shweta Shetty - We will, we will, rock you! by Queen
Srijayanth - Hai Huku Hai Huku Hai Kaushik Ghosh - Lyrics from Dum
maaro dum..."Unche se uncha banda, potty pe baithe nanga." It's in
line with our Sameer Deans - Comfortably philosophy of equality and
lack of hierarchy :) Numb by Pinku Floydu Habib - Bhaag D.K.
Bose...especially towards a project deadline :P Manish Krishnan -
If I were corny, I would say "Saare Jahan se Achha". Anand
Krishnaswamy - Munni badnaam hui . You didn't ask me to justify my
choice, so no explanation provided. No... No... No! Vignettes of
TWI
11. The TWimes of India ThoughtWorks News & Views in a
Nutshell 11 Why MapFaire.com? Sudhir Jonathan T he first question
I'm asked when I tell people I'm writing and launching MapFaire is
Huh? Why? Isn't that like Google maps or Places or something?
Fortunately, no, it isn't. Here's why. Google Places is a
directory. And the whole point of Google encouraging people to come
add their businesses on to Places is basically a way to ensure that
their own directory is more complete, accurate and up to date. You
give Google more data; and we all know how good they are at doing
things with data. Along the way, businesses get more exposure and
traffic from people looking up whatever keywords are associated
with them. When people search for stuff they'll see your business
(along with every other business in the area). So how is MapFaire
different? First of all, this isn't some massive public directory.
It's your map! It has your name on it. It looks like you made it.
It shows your businesses only. It has (well, not yet, but it will
soon) your color scheme, logo and icons on it. It's like an
extension to your website that you can make without bothering with
all the technical things that people who make websites and program
maps need to bother with. So if you've always wanted to create a
store locator for your stores, a great looking map of all your
restaurants, a map of all your outlets to give to your customers,
or anything of that sort, then you'll find MapFaire a great way to
do it. Do let me know what you think when you try it out. It's
still under construction and your feedback will be probably shape
MapFaire in the days to come. PK & Akshay Negi practice Pear
Programming "Some people drink form the fountain of knowledge,
others just gargle" - Kirti Agarwals Gmail status Conversations
Akshay Dhavle Akshay is a senior BA from Pune. His website is
akshaydhavle.com. For internal use only I have observed over the
last few weeks (as part of the Staffing team) that a lot of my
tasks these days are conversations. They are in the format Talk to
[x] about [y]. I remember my first project as a Business Analyst.
There were 5-6 client stakeholders to talk to everyday. One of the
patterns I had used effectively was to note down everything I
wanted to cover with every person. Then I could have a single
meeting with every stakeholder and cover all the topics that needed
his attention. I used Microsoft OneNote for this at that time. I
felt the need for a similar software application. Yes! One story
can change the project. Shakir A Shakiel "Noodles Remind me of
Noodles"- K10 H Having an Android phone, having a need and wanting
to write an Android application came together in the form of
Conversations. Its an Eclipse project. I have used MotoDevStudio
because I have a Droid (Milestone) and Rajat Vig (lead consultant,
TW Pune) said it works much better. Of course, the solution could
have been simple post-its on my Mac, but that would be so uncool!
Thanks to Shishir Das (lead consultant, TW Pune), I got over the
initial hurdles. Im looking forward to writing more Android
applications. Vignettes of TWI
12. The TWimes of India ThoughtWorks News & Views in a
Nutshell 12 What being a Project Manager means to me Vishal
Bhalerao see with the different sets of stakeholders that a Project
Manager deals with on a day-to-day basis: A Be very clear and
concise in what you are trying to achieve while starting a
conversation. Set the boundaries of the conversation. Give enough
context always assume that there is someone new to the group that
is reading or listening to it. Ensure that there is enough content
in what you are communicating to arrive at a decision. Keep it open
enough for opinions to be floated around it. At the end of it, make
sure there is a conclusion. Summarize everything that has been said
and considered in this final conclusion. Be open to suggestions and
be humble enough to accept some ones point of view. I have
experienced that the most interesting insights come from the least
expected quarters. Be ready to accept something radical. Be
prepared with all the facts. You might need to satisfy different
perspectives and expectations as a follow up Having said all of
above, lets look at what kind of communication you would typically
For internal use only Key things to remember: Always state facts to
the team. Be the first one to share In a distributed environment
information. If the team finds where the teams are split out from
someone else, they across continents, communi- might lose faith in
you. cation becomes key to being Have the courage to successful.
The customer accept your mistakes and cannot see his team in
action, speak about them in front of and so he or she is always the
team. Keep talking to the anticipating that something team members
in groups and will break. Since they dont individually. see you,
they tend to not Before making any readily trust you. changes, make
sure you build a consensus amongst your Key things to remember:
team. Its easier to push for certain things when you have Be very
honest. the ground ready. Provide all the facts, and Give the team
the whole data to back up the facts context. Always provide a At
times, do not hesitate possible solution to the to bring your
emotions to the problem you raise. Clearly conversations. state
what is expected of them. Be prepared to back up If you need help
from your feedback with real data. the customer, ask. Ive had
better experiences when I did Management: not hesitate to ask the
The internal management is a customer plenty of questions. very
crucial stakeholder. At The analogy that comes to my ThoughtWorks,
the support I mind is weird but looks apt. have from the management
is The development teams are unbelievable. It gives me the like
residential schools to courage to make the right calls which
customers send their and do the right things. At the children
(ideas/products) to be same time, they need to be shaped up to face
the real privy to all the information in world (the market). At the
end a nutshell on the project to of the day, the child is still
make the right calls theirs. So when you ask for help in specific
situations, Key things to remember: Understand the kind of they
will always come. Own up when you goof up. Never information the
management shy away from the mistakes is interested in. Talk on a
regular basis youve made, and be proactive in accepting them and to
the management team and communicating them to the keep them posted
on the customer. They are a lot more happenings on the project.
Escalate things which forgiving when you accept, rather than when
you try to you think will have adverse cover up and they end up
impact, but dont go to the discovering them themselves. management
for every small issue. Dont go to them only Team: with issues.
Think up possible The team looks up to their options. When you
present Project Managers to provide options its easier for them to
them guidance and direction, think through and guide you in because
PMs have direct the right direction. conversations with the other
stakeholders, and at times also Outside people (not in the have
more contextual infor- team but on the same floor): mation which
the team needs to be privy to, to make the You will be surprised to
see right calls. On Agile teams if why this set of people is you
want your team to be important. While you are self-organizing, the
mantra running a project, there are should be Be truthful and times
when a project hits a Customers: s a Project Manger, a major chunk
of my time is spent communicating with various stakeholders; be it
the customer, the management, the team or people outside the team.
Lets look at what the general guidelines can be for such
communication: honest. rough spot and the team goes through a
downward spiral on motivation. When you are not too happy, you tend
to share your feelings. The information spreads like wildfire that
the project is not a good to be on and that people are unhappy.
There are several aftereffects when you need to staff your team
with new people who did not want to be part of the team. This is a
difficult situation to be in as a Project Manager. The team does
not realize that their frustrated rants have actually got them in a
situation wherein they cannot roll off, because the people they
ranted to are still under the impression that its a bad project to
join. It is important for the Project Manager to take care of this
negative perception and keep talking to this external audience. Key
things to remember: Talk to people outside of your project on a
periodic basis. Take a random sample and gauge what they have been
hearing about your project. Correct the information they have if
you get an opportunity. Give them context of the situation to help
them to set right their views of the project. Encourage them to
have a follow up conversation with their source of information.
Celebrate your teams success; send out emails to the entire floor
about the same Encourage people to come and work with your team for
a day. It has always helped me when I followed the these
guidelines. Life has been a lot simpler, purely from the standpoint
of connecting with stakeholders, as I gained trust by communicating
effectively. Let it bite, then well write Vinay I am trying to
imagine men bathing PK Deepali: I went through the devs! Anay :
They seem kinda porous! Vignettes of TWI
13. The TWimes of India ThoughtWorks News & Views in a
Nutshell Coopers Corner Select observations from Khushroo Cooper F
ound a weird Distribution List at my workplace, ThoughtWorks India
(TWI). The DL is called TWI_Massage_Group, no mention if its about
giving or getting. If someone doesn't want a cake on their
birthday, is it okay to give them a loaf of bread to cut? I admire
the PM of India for being the only one who is taking Anna Hazare's
blows when all the actual corrupt politicians are cowering in their
hideouts exhibiting radio silence. WTF Moment: There is a Taare
Zameen Par II Deepak Paramasivam situations. Once, during my early
days in the hostel, with the intention of going home, I acted as if
I was suffering from an unbearable stomach ache. In front of my
principal, I crouched down, clutching my stomach and crying at high
pitch. But she was unmoved; youd think she was stone hearted. From
then on, till the end of her tenure, she made me represent my
school in all mono-acting competitions. I was sitting with my
sister in her class, 2nd standard, section-D. Even after spending a
year in school, I was still homesick. My class tutor dropped in, as
usual, to drag me back to my class. That was a regular scene;
during one such struggle, I tore her sari. Today she was aided by a
maid servant, so I had no other go I bit her hand to run away from
them. My parents had had enough of my pranks, both in and out of
school, and I was packed off to a boarding school from 1st
standard. Till the end of my schooling, I didnt have a teacher like
Aamir Khan. So I devised my own strategies to escape from For
internal use only Chandru was my best pal. He was more loyal than a
friend. Wed share my Sunday lunch that came from home. In those
days, we considered Sunday lunch a life saver, after being forced
to bear with our hostel mess food. We even start fasting from
Friday evening so that we could enjoy Sunday lunch better. Most of
the time, Chandrus parents failed to visit him on Sunday. 192-page
book called "Teach Yourself Twitter in 10 Minutes" by SAMS.
Seriously...a book?Of 192 pages? In 10 Minutes? I need a haircut,
badly! Look like a Mowgli. Flipping through British Airways Sky
Shopping catalog, came across Hello Kitty stuffed toy. The
description read "Suitable for all ages". Really? All ages? WTF
moment @ Heathrow. Group of about 30 school kids comes in. Most
guys had larger bags than the girls. Such an anti-pattern! General
perfume ad themes. Pour Femme: Some skinny delusional female doing
some fingers to punish us. Other teachers would just make me kneel
down outside the class (which I loved, because from there, I could
look at my first crush, Subha, sitting in 4B). I was always
irregular with homework and class work. I preferred eating in our
hostel mess to writing! In class, whenever my science teacher would
check my homework, Id keep changing my place. He would act as if
hed not noticed, and at the end of the class, hed call me
specially, check my homework which used to be incomplete, and go on
to punish me with the pencil drill. Chandru, although he didnt like
it, use to back me in local gang wars between the fans of
Shakthimaan and Superman. On a particular Sunday evening, Chandru
felt sorry for me and offered to complete my science homework.
Since there was plenty of work to do, while he was writing, Id kept
telling him sardonically that it would be impossible for him to
finish the work, with the hope that it would make him write faster.
After a point, he understood my intentions and stopped writing for
me. I convinced him to write for me again after long hours of
begging for pardon. To my satisfaction, the work was finished. Our
science teacher is the only person I was ever afraid of. He was the
only teacher who used a pencil drill between our In science class,
I acted the way I always did. At the end of the class, with the
usual pride and sadistic expression, 13 weird moves while
constantly giggling or running away from something. Pour Homme:
Some goofy guy spraying it on himself and then getting surrounded
by women who cannot keep their hands off (and do stuff to) him.
Anyone else doubt their employment status upon not seeing any
emails from the workplace over the weekend? Why do the newspapers
appear shocked on the death of a 95-year old? Was anyone *NOT*
expecting it? If your company's Resource Manager is silent about
your next project, tell him that you want to go on a vacation. Your
phone will ring in less than 20 minutes :) the science teacher
called me and checked my homework. He grunted. When I was about to
get back to my desk, a light flashed above his head, his face
brightened This handwriting is too good to be yours, he said. Come
on, little punk, tell me who did it for you, and he took out the
pencil. There was no escape. DimDim (urf Diptanu) : Dude! I come
with my own package! Lets write bad code and finish this! Diptanu A
UI dev is like a broad band connection Prabhu Akshay on Diptanu :
He always finds a pair except while coding! Today even I am wearing
pants Diptanu Don't call me unfair. Thats racist! PK Ravi P (on the
phone) : Hey the voice is echoing Simanta : Is it ok now.. is it ok
now.. is it ok now..!!! Vignettes of TWI
14. The TWimes of India ThoughtWorks News & Views in a
Nutshell 10 random tech learnings from Sears Fitness Aman King H
ere are some of the things our team has experienced so far: 1.
Rails 3.x ActiveRelation is squeaky clean but methods like
include?, size, and count can have unexpected results: check the
Rails codebase 2. Ruby gem parallel_tests can help reduce build
time drastically: from 55 mins to 5! 3. 960 grid system is the
reason why many websites don't take up the entire screen width! 4.
A graph db like Neo4j can make you think very differently about
data 5. Facebook integration is convenient for end-users, and fun
for developers 6. If your web app is usercentric, beware: the User
class will bloat like crazy! 7. SASS definitely helps manage
stylesheets better 8. Akamai DSA improves performance but note:
DELETE and PUT http verbs aren't enabled by default! If you use
them, put in a request before going live! 9. ATDD is worth
attempting in your team: will lead to more green builds than red
10. Never undermine the value of learning a language well, whether
Ruby or JavaScript Step 2: Understand some cool techniques/concepts
about movie making. You can drop these into your conversations and
your audience will be in awe of you in a jiffy. T his article will
help you sound like you are some sort of movie geek of Roger
Ebertish proportions. (If you missed the Roger Ebert reference,
then you have some way to go). A conversation could go like this:
Oh that movie used an unnecessary MacGuffin, however the Deus Ex
Machina saved the script at the end. Where a MacGuffin is a plot
element that everyone in the movie is after. Such as the bag of
diamonds in Delhi Belly, the real identity of Aamir Khans character
in 3 Idiots or the briefcase in Pulp Fiction. And Deus Ex Machina
is a Follow these simple steps and plot element whereby a difficult
problem is suddenly solved due you should get there sooner: to the
intervention of some character or incident. Such as, Step 1:
Register on IMDb. in a love triangle when one The website is a
haven for couple is paired off, a sudden movie geeks. If you are
regis- appearance of another character tered, you are already on
your helps soothe the heart of the way to movie geekdom. When
rejected suitor. Quite like when youre talking about any Juhi
Chawla made a special movie, just say Man! You appearance in Kabhi
Haan must check out the trivia on Kabhi Na. IMDb for this movie! or
Man! The message boards for Step 3: Be prepared to answer this
movie on IMDb are hilari- the question What are your top 5 movies?
ous! Thats it. For internal use only 10 myths about DevOps and the
group Rashmi Mishra Bonus point: To keep things exciting, continue
sharing opinions and challenging yourself... and don't forget to
have fun! This is awesome man, the entire body is clickable -
Sadique after seeing a new Mac mouse for the first time 3 steps to
sounding like a movie geek Apoorv Gawde 14 The answers can vary
from the dumb response Huh? to the ultra ambitious response: Do you
mean from amongst the ones that I have directed or the ones that I
have written? My preferred dialogue in such a conversation is as
follows: Movie buff: Hey Apoorv, what are your top 5 movies? Me: In
what language? Tada! You will see the jaw drop and you will have
achieved another level of Movie Geekiness. On a Skype video call,
Sri Prasanna (from TW Gurgaon) was standing with his back to the
window. Pune ThoughtWorker on Skype video: Hey Prasanna, there is
lot of bright light coming from your backside!! Pune is a suburb of
Model Colony Prasanna Vaste 1. DevOps is a buzzword and Ajey Gore
came up with it. 2. It is another name for a glorified build
monkey. 3. DevOps group can be reached at 8600 4. There is no
development work in DevOps. 5. IS grows up to be DevOps 6. DevOps
practices in your project are a "nice to have" 7. DevOps does not
increase "reproducibility" http://devopscloud.net/2011/04/
20/top-10-reasons-for-having-a-configuration-management-so lution/
8. DevOps practices have a steep learning curve. 9. DevOps and the
cloud are interchangeable terms. 10. DevOps is all work and no
play. "Chandan Jog is so chocolatey" - Ashutosh Vivek to Ausmarton:
Dude you are funny when you don't crack jokes! "I want to paint the
town brown." - Arvind Awte "Phata hua scene hai" Sameer Deans
cliched line "In TW, you don't ask for permission you ask for
forgiveness" Mahadeva Prasad Vignettes of TWI
15. The TWimes of India Durability Ranjan Sakalley W hen I got
married in 2009, I bought a bunch of consumer durables a
refrigerator, a washing machine, a microwave oven and more.
Although it created a big dent in my pocket, I chose to go for
premium vendors. I was confident that my decision to do this was a
good long term solution. However, during the last few months, I am
having trouble with these automatons. To the extent that I have
come to believe that at least one person is evil in this realm. For
the record, I am not against things breaking, not even when they
belong to someone else. But these things cost me money, quite a lot
of it. I picked up the phone and yelled, and eventually got some
service. We got things fixed for some time, and then again after
some days I noticed people eyeing a couple of stains on my whites.
I called them again. Long story short, I was induced to buy an
extended warranty and a service agreement with that vendor, and
then again with another. I was fairly doubtful that people would
believe me if I told them I preferred wearing beige these days. Not
surprisingly, these agreements cost more money. I was sad for a
while. Then the naive businessman in me, for a moment admired the
business-model - build cheap, sell maintenance. I was annoyed.
Understanding the nuances of how one is getting shafted is not a
funny moment. Its like a daemon at the back of your mind but keeps
following a schedule to pop up once in a while when you are down.
But all this is not about me. Its about all of us. As software
service providers, independent consultants, vendors and what not,
how much time and money do we spend on creating a durable product?
Personally, I believe this whole outsourcing business gets a bad
name because of the aforementioned quackery and bad designs that
follow. Most businesses end up paying multiples of the wads they
paid for building, for maintenance. I am a bit For internal use
only ThoughtWorks News & Views in a Nutshell thick, but
eventually I get the pain of customers worrying about all this. If
maintenance contracts are a pain for me, they are a pain for them.
It is inevitable that a flaw will crop up once in a while, but
designing your revenue model, as a vendor, based on tomfoolery like
this, is downright risky. The infinite improbability drive might
just go faster by a couple of light years/second when you think of
building a 100 year company this way. But frankly, a lot can be
done to ensure you produce something durable. Its not all that
tough if you are not lazy. There are three parts to it. Good
design, great quality assurance and a pinch of foresight. In what
measures you would need a good design I leave to your intelligence.
But you need some good developers and a couple of great ones. If
someone is still using IE6, chances are that they never thought
long term. Spy on their file system - if their folders are modular,
chances are that they think long term. They might componentise your
system, and thus increase the shelf-life. When you say Facebook, do
they start talking about data architectures, or do they send you a
friend request? Ask them what they think of Twitter. If you get a
tweet mention, thats bad. If they start telling you stories about
architectural evolution of Twitter, it might be a good sign. Do
they discuss Ruby or Python over lunch, or are they worried about
Monica Bellucci's next motion picture. There's nothing wrong with
worrying about Monica Bellucci. But you get the picture. You don't
need just a good architect. You need good developers passionate
about craftsmanship. And not more than two of the cowboy variety.
Do they know how to crash the JVM? Great quality assurance. Books
have been written about this. But these books are all like
religious books. Theoretical and dogmatic. When some people follow
them by rote, they are living in the past. You need good QAs,
diligent QAs and then some people who just can't think straight.
And a couple of people annoyed with those developers as well.
Innovation in this stream of work is highly. You need to test
things as soon as they are checked-in, not three months later.
Building a good automation framework might be a good idea.
Releasing software every once in a while has been proven to have
quite a good effect on software quality. Think not about twice a
year, but twice a month. It doesn't need to be on a consumer box,
it just has to be releasable. People should be worried about those
kinds of things, at least more than they are about their next trip
to the park. Are they proud of the product? Foresight. Difficult.
Being progressive is important to build durable products. I cannot
explain much about why it seems intuitive to me. Whatever little I
can, in a short sentence is - if you don't know what the future of
computing is, the longevity of your software becomes a probability
(a fairly low number), and not certainty (fairly close to the real
thing). Someone in the team should be reading blogs. Others should
be reading some books about technology. 15 What was your most
memorable incident at TW? Habib - Late night gaming sessions at the
guesthouse in Delhi where Arvind Awte would invariably shout
"Jockey on me!" or "Heal me! Heal me!" every few minutes. Sameer
Deans - It was one of the team outings we had on the CIT Goldspike
team where a number of people got drunk and gave long sermons
extolling the virtues of certain others on the team. Kaushik Ghosh
- I mishit a TT ball, which went right up, hit something and a huge
bulb suddenly came crashing down on the TT table. Incidentally Roy
was visiting Pune at the time and was sitting just a few meters
away wondering what was going on. Srijayanth - When we tried making
Vishy a trending topic on Twitter and Puneet Goyal pitched in with
this gem: "Vishy is so old that he has seen Mr B with a full head
of hair". And Gogo responding: "Vishy is older than that. He has
seen Roy Enough said. Life's too short with a full head of hair."
to keep squabbling about incompetence. Lets build Aman King -
Getting birthday better products. bumps from everyone in the team
(and it was a large team!). I don't hope to have another Hemanshu
to Manish: such moment though! I dont see chick flicks. I like
romantic Praveena G - The time when comedies. everybody from my
team had called me up when I was sick :) Excerpt from Ravindra
Shirsaths Facebook wall Awte: Ravi, are you done with work?
Ravindra: No yaar, I will be late today. Ill come home by 8. What
about you? Awte: Fine. Btw, Chandan Jog has left for Bihar!
Ravindra: Yes I know We will have party tonight! Apoorv: Stop
talking like married couples!! Next you will say, Dont wait for me
for dinner!!! Anand K - When I spooled the toilet paper in the loo
and hit the flush handle, Vivek Singh (or was it Gogo?) walked in
and chided me for wasting paper! Never mind that I was in the loo
with my pants down holding a madly spinning reel of toilet paper!
Jannet Thomas - My first 12 weeks in TW trying to get Visa for my
intl assignment to UK, then to Oz, but finally Canada. Yes, that
exotic location that every US citizen dreams of finally getting to
visit! Amirdha Gopals Gmail status Self service is the best Service
Vignettes of TWI
16. The TWimes of India ThoughtWorks News & Views in a
Nutshell S*!t my Architect Says Habibullah Pagarkar raise a ticket
to provision a showcase environment: Instead of doing that lets use
the Cruise instance of our app as our showcase environment. What
follows is an extract from various conversations with a real life
Architect. Yes boys and girls, this breed does exist. This is the
truth, the whole truth and nothing but Architect to dev team: .NET
the truth. So help me god. Oh MVC cannot be installed on please
help me god! prod. It is a security risk. Dev, being snide: Yeah,
and Dev has just joined the we are on Windows. No project. security
risks there. Architect: You are new here so Architect, very
serious: Yes. let me tell you how things No security risks there.
Okay, work. We practice Agile and I have to find a way to have
Continuous Deployment. MVC without MVC. Architect: Okay, so when a
build is complete; the Architect after thinking DLLs are checked
into SVN. very hard for one whole day: Then somebody goes into the
Yay! I got MVC working QA environment and takes an without MVC. svn
update! Dev: So apart from dropping Dev: So you go into the QA in
the DLL in the bin folder, environment and physically what else did
you do? type svn update? Architect: Architect: No, I simply raise a
ticket. I keep raising tickets Architect to dev: Could you and the
app gets deployed re-order the DDL so that when continuously. I do
select *, I see my chosen Dev is stunned after hearing 3 columns
first? the intro speech: We need to automate that. Dev to
Architect: Hey man, Architect, sounding surprised: the new
migration you