SOGETI UK BLOG

The old saying goes: “a chain is only as strong as its weakest link”. In that sense it’s rather strange that a lot of the IT projects I’ve witnessed have skirted around the combined integration testing between two teams.

Usually this becomes apparent when the product is being demoed for the first time. The teams show how the two systems connect with each other. Then it’s time for the questions. I’ve got a pre-selected bundle of questions that I ask:

  • What happens if the system A tries to send information to system B but the system B is down? Is the message queued or is it lost?
  • What happens if the system A is sending information to system B but the data connection breaks during the send? Is the entire message resent? Is there a possibility that some of the data has reached system B and for instance the message’s unique id number is already filled?
  • Does system B send back any confirmation to system A? What if this confirmation is not sent? Will system A retry its message?
  • Does the system A allow system B to change anything? Is the integration push or pull or does it work with queries?

These questions might seem obvious and the answers to them should be obvious as well. If the development team can answer them right away with good arguments, the situation is good. However if any of them are answered with a blank stare and “well…I don’t really know” then the situation is bad.

A lot can go wrong even if all the components of the system are tried and tested but the integration hasn’t been thought of.  But who should think of these things? The team leaders, the architects, the product owners.

As so, I present you with a quick workshop for management to understand the importance of integration planning.

What do you need?

  • Two boxes of Legos. They don’t necessarily _need_ to be Legos, they can also be Duplos or any other type of blocks.
  • Either two rooms (one for the other team and one for the other) or a big room with corners for both teams
  • A whiteboard and markers for requirements
  • Some post-its and pencils
  • A stopwatch (or an alarm clock)
  • 4-8 people
  • A couple of hours for doing and discussion

3791665349_4e013e7b40_b

How to do the exercise

The first flight

Divide the group into two. Preferably put together people that don’t know each other yet as this depicts the development team that has been hand-picked by management.

Give a box of Legos to both teams.

Write on the whiteboard the assignment: let’s build a spaceship! Write requirements on the whiteboard. They can be eg.

  • The spaceship must be able to carry 8 legopersons and a 5 cm x 5 cm x 5 cm Lego block.
  • The spaceship must fit into a certain area drawn on a grid paper
  • The spaceship must have 4 engines
  • You have to be able to “fly” the ship by keeping it in one hand

You can think of other ones as well.

Now, send the other team into the other room and let the other one stay in the first room.

Go to the teams separately. Assign the front half of the spaceship for the other team and the back half to the other.

Give the teams 10 minutes to build their components and then bring them back into the first room. Let them then attach the two parts together in two minutes so that the spaceship can be flown by taking it into your hand and swooshing it around the space.

Chances are that the two minutes timespace is not enough for the teams to be able to connect the two parts together.

So there’s your lesson one: Communication. Dismantle the spaceship and go to the next phase.

The Waterfall phase

Wipe the whiteboard and make new requirements. They can be anything, just keep the “swoosh around the room with one hand” requirement.

After writing down the requirements let the two team plan their approach together for five minutes. Give them the pencils and post-its so they can agree on things. Then after five minutes divide the teams again.

Now go and throw a wrench in their works. Write down on post-its some specific requirements for both teams that the other team doesn’t know about.

The back half team could for instance get a requirement that the company doesn’t have a big enough hall to house anything that’s bigger than 10 x 10 on a grid paper.

The front half team could have a requirement that they need to incorporate the “government-approved control system” into their half that is a bulky and weird contraption of Legos you just happened to whip up.

Then after 10 minutes let the teams again try to connect the two pieces together. It might be a bit easier but the unspoken private requirements will probably create problems.

That’s the lesson number two: there are usually more stakeholders in the project than just the two

Dismantle the spaceship and go to the final phase.

The Agile phase

Once again wipe the whiteboard and rewrite the requirements, all except the “swoosh!” one. Let the teams discuss for two minutes and then send them to their own rooms. Give both again the unexpected private requirements.

This time let the teams use a “quick meeting” option. After three minutes they have the option to meet with each other for a minute, glance at each other’s product and make required changes to their plans. The development clock stops during the meetings, so the time is 3+1+3+1+4 = 10 minutes of “development” time and short meetings.

Now even though the teams have received their mystery requirements, they can tell these things to the other party and they can plan accordingly. Yes, one minute is a short time, it keeps the exercise hectic.

The importance of communicating everything to the other party in order to work for the final product should now be a bit clearer than before. Discuss how the exercise might have changed the viewpoint of the participants.

What else?

This exercise is something that has been rolling around in my head for quite a while now.  I’ve never run it on any group but probably will in the near future. As such, the time constraints might be a bit off. If anyone is inspired and wants to run it, let me know how well the exercise went and what changes you would make to it. I would really appreciate it!

TUOMAS PEURAKOSKI AUTHOR:
Tuomas Peurakoski has been Consultant for Sogeti Group since 2013. During this time he has been continuously trying to find new ways to think outside the box and connect the already defined processes into more logical and streamlined gestalt entities. He has worked during this time in several different roles: test automator, manual tester, test manager and training. He is also the Finnish representative of Sogeti Mobile Testing STS and works a lot with sales to find the best solution for customers’ mobile testing needs.

Posted in: architecture, Cloud, communication, Data structure, Developers, Digital strategy, Infrastructure, integration tests, IT strategy, project management, Quality Assurance, Requirements, Research, Software Development, Test Plans, Training, Transformation, User Experience, waterfall      
Comments: 0
Tags: , , , , ,

 

candy_chess

As we move towards the end of 2015, Let’s look at the No. 7 blog of the year!

(This blog was originally published on 31st March 2015)

In December 2014, SogetiLabs organized a workshop in Chantilly, France. The days were filled with a lot of discussions, team assignments and so on. During these two busy days, I still managed to find some free time. Instead of reading an article, learning a foreign word or doing few squats in my spare time, I downloaded King’s Candy Crush Soda Saga on my phone. While trying it out for the first time, one of the SogetiLabs Fellows peered down on my phone and said “You’re playing Candy Crush? That’s a waste of time! You can’t learn anything from it!” I agree with the first part. Playing Candy Crush is a waste of time. However, I do not agree with the second part. I’ve learned quite a lot from it.

Freemium has been talked about for years now, ever since the first Farmville players decided that it’s a good idea to send their credit card information to Zynga in order to get their crops to grow more quickly. This is passing on to other games as well. You buy the new Assassin’s Creed, you can get the best armor in the game right away if you “hack” it with your hacking credits that, incidentally, you can purchase with your credit card. This is nothing new then, right? Everybody knows not to pay for those games. Except for suckers, that is. And there are a lot of suckers, since King makes approximately a million dollars in revenue every day from Candy Crush.

Maybe we need to delve deeper to get to the real story behind it. I started to think about how Candy Crush, really, isn’t just one game. Sure, on the surface it’s just that. It’s a puzzle game where you match candies with a limited amount of moves and hope that you get a) to the next level and (if you’re a masochist) b) get three stars on all levels.

But on the whole, it’s actually reminiscent of Kasparov versus Deep Blue, just set in a Las Vegas casino. The psychology is really interesting. How is the machine thinking? How is it playing with the player? How is it trying to win?

The basic gist is that the player wants to win by paying as little as possible. Preferably nothing. The game wants the player to pay as much as possible but keep them engaged. The game must be quite annoying, yet very addictive  at the same time. Isn’t it an oxymoron?

This is how I think the game is rigged. I haven’t done any thorough investigation, so most of these observations are my gut feelings based on how I played the game. I still think I’m at least partly correct (if anything, this is how I’d do it myself).

The beginning of the game is important. For the first, maybe ten, levels the player _must_ win. This is key. You’re supposed to have bells and whistles ringing at the same time and the winning should _look_ glorious. Even if the level itself is easy, it should look difficult. We often think that our success is due to our own aptitudes so we like a pat on the back. This is what the game does. It tells you that hey, you rule, you’re good at this! This generates a positive feedback loop which then adds to the addiction. I’m getting positive feedback! I must get more of this! And like with any drug, you get addicted to the feeling instead of the game. You need more. You get into a homeostasis where you want more positive feedback and the previous amount is not enough.

The game picks up the player’s pawn off the chess board.

Then later on you get quite a few more difficult stages. The fail must happen just before winning. You need to have one move less than what you need. You need to taste the victory and then it must be yanked away from you. The key here is to make the player think “man, if I just had one more move left…”

“But sure you can get one”, the game says eloquently. “In fact, we’ve given you some gold bars that you can use as currency in this game. Just give a small amount of those gold bars and you’ll get FIVE more moves!”

“Okay,” thinks the player. “It’s not like I paid for anything myself yet.” There is a small wince as the player thinks that “Well, I couldn’t play it through without using any help. Oh well. Give me those five moves.”

“But certainly,” says the game, grinning with a wide smile and evil eyes.

The game goes on. The previous situation happens one or two times more. Then this happens. “Oh, it seems that you again have just one more teddy bear to save! Luckily you can get these five more moves and instead of paying NINE gold bars we’ll give it to you for just SIX gold bars!”

“But I’ve only got five left. Actually, you knew it the whole time.”
“Knew what?”
“You knew when you gave me these gold bars in the beginning, that I would end up in this situation.”

“Moi? Bon sang! Would I do that? But you see, you just need one gold bar since you already have five and as you would have it, we have gold bars for sale here…they’re really cheap, actually. You can get 10 for 99 cents! That’s 9.9 cents per gold bar! Now, we already have your credit card–”

“Hold on a moment, game. First of all, you said you’d be free–”

“Freemium, dear.”

“Okay, freemium. I don’t NEED anything but one gold bar. You’re selling me 10 of those, minimum.”

“Well, you see, it doesn’t make sense to send any less because…”

“Why? Why doesn’t it make sense? This isn’t real! You knew I was going to lose that level! Now, you’re trying to talk me into buying this empty ridiculous stuff that means that I’m actually paying to play your game!”

“Come on, don’t be like that. What’s 99 cents nowadays anyway?”

“I don’t like this. I’m not going to play anymore.”

“Hey, man…why do you have to be so uncool? Look, here are all your Facebook friends who play this as well. Check out Martha, she got 3 stars out of this level. You want to be better than Martha, right?”

“Goodbye!”

And thus the player stops playing.

The player moves his bishop on the chess board to threaten the King. Check.

About two weeks flow by.

Then, on a rainy day, the player is waiting for a bus. Taking shelter in a bus stop, he looks at the time. If he just hadn’t missed that last bus… if he had had one minute more, then he wouldn’t have to wait here now 20 minutes for the next one to arrive.

Nothing interesting on Facebook… nothing on Google+ (did you really expect anything there?). Then he has the craving… and starts up Candy Crush.

“Oh, it’s you. How nice to have you back. Did you know that while you were gone a lot of people donated lives for your account? That’s how we roll here. That’s how we support each other. You belong with us. Remember that level you couldn’t beat? I believe in you, player. I believe in you.”

So the player starts the level. Two moves later he realizes that BAM, the playing field is filled with those special candies that blow up everything. Then there’s the super candy that removes all the candies of a certain color off the screen. Wait, another one! They’re right next to each other! What happens if I match these two…

Cue the cannons.

It’s full of stars. Three stars, to be exact. The level that was impossible is now complete. “WOW!” says the game. “THAT IS THE MOST AMAZING THING I’VE EVER SEEN! ARE YOU A WIZARD?” The player is lulled into the most beautiful and comforting cloud of self-deception ever conceived. I’m good at this. I can beat this game. This time, for sure.

“Welcome home”, the game says to the player. “We’ve missed you.”

Then it picks up the player’s bishop from the chess board.

We hope you enjoyed reading this blog. If you have any comments or feedback, please feel free to mention in the comments box below.

 

TUOMAS PEURAKOSKI AUTHOR:
Tuomas Peurakoski has been Consultant for Sogeti Group since 2013. During this time he has been continuously trying to find new ways to think outside the box and connect the already defined processes into more logical and streamlined gestalt entities. He has worked during this time in several different roles: test automator, manual tester, test manager and training. He is also the Finnish representative of Sogeti Mobile Testing STS and works a lot with sales to find the best solution for customers’ mobile testing needs.

Posted in: architecture, Behaviour Driven Development, Developers, Digital strategy, e-Commerce, Human Behaviour, Human Interaction Testing, IT strategy, Marketing, Social Aspects, Socio-technical systems, Software Development, SogetiLabs      
Comments: 0
Tags: , , , , , , , ,

 

Creative Commons

 

In order to succeed in projects, we are expected to be efficient in our work. Too many people think that this automatically translates as “don’t do anything but work and do everything in a hurry”- that’s not the case.

For example, Forbes’ blog post “9 Habits of Productive People” suggests the following items:

Cut your ‘to-do list’ in half

– Getting things done during your workday shouldn’t mean fitting in doing as much as possible in the sanctioned eight hours.

Follow the 80/20 rule.

– Only 20 percent of what you do each day produces 80 percent of your results.

Of course, it’s easy to say that you should be more efficient by working less, but what if you have a lot of mandatory tasks that you just can’t drop? Maybe you should consider automating them.

For instance, Sikuli Script is an easy open-source way to automate tedious tasks. Whatever is on the screen, it’s probable that Sikuli can interact with it. If you have a manual task that could be done by a robot, why not try exactly that?

As demonstrated by the marvelous web comic XKCD you can spend a surprisingly significant time on automating your task before you stop saving time in the long run.

is_it_worth_the_time

We automate test cases all the time and those cases emulate our real work. Why leave it only at that?

To read the original post and add comments, please visit the SogetiLabs blog: AUTOMATIC FOR THE PEOPLE

Related Posts:

  1. The trend in IT: focus shifts from process to people
  2. What is really wrong with people?
  3. ECM Governance: technology matters, people more
  4. Get The Right Data, In the Right Place, To The Right People

 

TUOMAS PEURAKOSKI AUTHOR:
Tuomas Peurakoski has been Consultant for Sogeti Group since 2013. During this time he has been continuously trying to find new ways to think outside the box and connect the already defined processes into more logical and streamlined gestalt entities. He has worked during this time in several different roles: test automator, manual tester, test manager and training. He is also the Finnish representative of Sogeti Mobile Testing STS and works a lot with sales to find the best solution for customers’ mobile testing needs.

Posted in: Automation Testing, Developers, Test Automation      
Comments: 0
Tags: , ,