Showing posts with label lessons learned. Show all posts
Showing posts with label lessons learned. Show all posts

Sunday, 24 January 2016

London Tester Gathering Workshops competition!

The London Tester Gathering Workshops are approaching and they are shaping up nicely.

To read a little bit about previous days have a look at these posts:

London Tester Gathering Workshops - Stephen Janaway
Lessons From The Black Ops Testing LTG Workshops! - Dan Ashby
Using games to aid tester creativity - John Stevenson
Focused Awareness - Simon Knight
Experiences of LTGW Workshops 2015 - Dan Ashby
LTGW2014: resources from our workshop - Carlos Ble
Announcement: Workshop & ebook: “Fast Feedback Using Ruby” - Stephan Kamper

Taking a page out of Richard's book I've decided to have a competition for 3 tickets to the Workshops.*

To enter you have to fill out the form:

  • Explain why you want to attend.
  • If there is a particular workshop you're interested in? And why?
  • What do you think is missing from the Workshops?
  • After the workshops write a blog post about the experience.

The form.

Not all the questions are mandatory.
* The competition is for a single ticket so there are 3 chances to win.
** Travel/accom. is not part of the competition. You will need to arrange and fund that yourself.
*** I have not needed to purchase these tickets as I organise the workshops.
**** Competition ends midnight on the 30th April.

Friday, 20 November 2015

A BDD lesson from my past - Part One

So, a few years ago I was involved in an agile transformation.
I was part of the consultancy brought in to work with a client.
As part of our learning through trial and error, we decided to try Behaviour Driven Development.
I wanted to learn from what we went through and share it with others.
I also wanted to learn what some of the people on the client site learned.
I worked with two separate people and we came up with 2 talks.
We worked with the same theme but taking their different experiences and personalities we created different talks.
It worked quite well.
Thanks to @andrewjutton and @brightoniant for joining me on this exercise and also being willing to go through their first presentation experience with me.
Recently @friendlytester wrote a post which reminded me of that time.
His post prompted me to write this post.
Are you sitting comfortably? Good. Then we'll begin.

Many moons ago, a few people came across SpecFlow and this lead them to Behaviour Driven Development.
We didn't spend time thinking through exactly what we wanted to achieve, or how we'd know if we were getting there.
SpecFlow, however, was shiny and new and we were still working on how exactly we were going to use automation in testing. 
We were lucky that people with the business knowledge were available.
We were unlucky in that the people with business knowledge were offsite most of the time.
We decided to trial BDD, which was driven by the tool and by the 'Software makers', which at the time did not include anybody from the business.
This (now) seems wrong and didn't work as effectively as it could have.
I have no evidence to back this up, but I believe that having the business suggest the idea of BDD would change the approach completely. 
BDD is about focusing on collaboration, not focusing on a tool.
You can work with BDD without ever using automation and receive plenty of value.
In-some cases you'll be better off as you won't get lost in the tool and focus on the collaboration.
Collaboration is the key and point.

So, there we were; Giving it, Whening it and Thening like mad.
Mostly written (solely) by the Business Analysts and therefore bypassing a shared understanding and attempting to share one person's understanding.
Here's an example:
Scenario: Display ‘Insurer Selection’ screen

Given that Insurer selection screen has been invoked
When the Insurer selection UI is rendered
Then the ‘Insurer Selection’ page is displayed
And the ‘Risk Variation Name’ field is displayed
And the ‘Risk Variation Name’ field is selected
And the ‘Customer Name’ is displayed
And only breadcrumb ‘Select Insurer’ is displayed
And all insurers setup in the system for the policy type are displayed
And all insurers setup in the system for the policy type are not selected
And the ‘Next’ button is disabled
We were learning.
We hadn't quite grasped yet that the how wasn't important, it's the what that is important.
What is actually trying to be completed?
End of part one.

Monday, 8 April 2013

Explaining testing: 101 Tactics For Revolutionaries

Here are the first 10 to get you started.

Onward to glory!

  1. if you’re in charge, do it yourself
  2. if you’re not in charge, do it yourself
  3. become known as “the guy who…” so when the time is right, everyone knows there’s a guy who…
  4. learn to be nice, so people like you
  5. realise there are no rules, you can do what you like
  6. know that you are as right as you can be for now given what you’ve learnt so far
  7. know that this is the same for everybody else
  8. stay on the inside of the wrong thing so you can speak with authority on why and how it is wrong
  9. know it’s not a race. That you can divide the world into those ahead of you and those behind, and to all those ahead of you, you’re the one behind.
  10. be an entrepreneur not a crusader
The rest are here: 101 Tactics For Revolutionaries

Sunday, 10 March 2013

Inbetween talks - Agile Dev Practices 2013


So #agiledevprac has been and gone.

I had a great time.


During the Monday my fellow speaker Ant and I had a chance to hang out with Maik Nogens.

Maik's a great guy, if you see him (you can't miss him, he's 8ft tall, although everybody looks 8ft tall when they are standing next to me) say hi.

We had a walk around Potsdam and sampled a couple of Bratwurst.  This is my second time in Potsdam and I think it's a great place, nice, quiet and picturesque.

On the first night there was a speakers dinner at Walhalla.

Jose stood up and gave a short speech welcoming everybody.

The food itself was OK, the company was great.

Ant and I had both chosen a fish dish which came with bacon sauce. BACON. SAUCE. How could you not?!

We'd been waiting and looking forward to it for weeks. We'd been imaging all sorts of amazing creations.

It was one of the biggest disappointments ever. It is a cream sauce with bits of bacon in it.



Ant and I shared a table with a number of people and we spent the most time talking to Ray Scott and Vagif Abilov.

I've come across Ray and Vagif before in my travels but have never had a chance to sit down and have a proper talk.

It was great to do so.

After dinner there was a short visit to the hotel bar and then off to sleep.


Over the next few days there were:

  • Pop-up coding dojos.

  • Conversations all around with people from the world over.
    • I would love to list the names of everybody I had a conversation with but there are too many.
  • Ant drank his first ever full pint of beer, followed by his second, and third, etc.
 
  • A social dinner event complete with improv comedy troupe.
    • Ant and I were on the same table and again had a number of diners with us. During dinner we spoke mostly with Ray Scott and Krystian Kaczor
    • After the meal we spoke with a few more people.
  • A group of us went for a meal, sat down and realised none of us speak German.
    • We had 2 English guys, 1 Hungarian, 2 Spanish guys and 3 Russians.
    • Luckily, one of the waiters spoke Russian so we were able to get a meal organised.
Unfortunately I didn't get the names of two of the (Russian) guys at dinner, the rest are:



It was great to catch up with some people, meet new people, have some great meals and have some great discussions.


In my opinion, over the next few days there were some good talks, some OK talks and some talks that didn't quite work.

Conferences are essentially a meeting of people who want to contribute, teach, learn and share.

It's not just attending the talks.

Make the effort to meet new people and talk and you will get untold value from a conference.

Thursday, 21 February 2013

Reasons to come to Agile Dev Practices




Program Overview

  1. I'll be there.
  2. Good mix of sessions.
  3. Good mix of tutorials.
  4. Good range of subjects.
  5. Did I mention I'll be there?
  6. Good range of workshops.
  7. My colleague Ant will be there.
  8. 25% off with code ATDC4P_025.
  9. Potsdam/Berlin is great.
  10. Markus can sign 'ATDD by Example: A Practical Guide to Acceptance Test-Driven Development' for you.  
  11. You can talk to Gaspar Nagay, main contributor of the open-source .NET BDD tool, SpecFlow
  12. Ellen can sign one of her books for you.
  13. You can talk to Chris Matts and Olav Masssen.
  14. Díaz & Hilterscheid have put on a great event.
  15. You can talk to people who make software from all over the world, share your stories. 
  16. You can teach.
  17. You can learn. 

There are more reasons, what am I missing?

Wednesday, 30 January 2013

Total awareness of conditioning

How do I free myself from my conditioning of the culture in which I was born? First, I must be aware that I am conditioned; not somebody telling me that I am conditioned. You understand the difference?

If somebody tells me I am hungry, that’s something different from actually being hungry. So I must be aware of my conditioning, which means, I must be aware of it not only superficially, but at the deeper levels. That is, I must be aware totally.

To be so aware, means that I am not trying to go beyond the conditioning, not trying to be free of the conditioning. I must see it as it actually is, not bring in another element, such as wanting to be free of it, because that is an escape from actuality. I must be aware. What does that mean?

To be aware of my conditioning totally, not partially, means my mind must be highly sensitive, mustn’t it? Otherwise, I can’t be aware.

To be sensitive means to observe everything very, very closely; the colours, the quality of people, all the things around me. I must also be aware of what actually is without any choice. Can you do that?

Not trying to interpret it, not trying to change it, not trying to go beyond it or trying to be free of it; just to be totally aware of it?

Jiddu Krishnamurti - The Awakening of Intelligence

Sunday, 27 January 2013

Why would I need excuses?

Recently uTest posted "8 Common Excuses in Software Testing" and within the comments there was a link to "Excuses for testers when bugs are caught in later testing cycles/UAT/Production".

My immediate thought was 'WTF? Why would I need excuses?'.

Reasons, yes, explanations, yes, but excuses? Hell no.

Am I wrong? Do I need excuses?

Or am I getting reasons and excuses mixed up?  Are some people taking them to mean the same thing?

At the end of "Excuses for testers when bugs are caught in later testing cycles/UAT/Production".  There is this sentence 'Well these are not actually excuses. These can be the actual reasons why an application is shipped to client with major bugs.'

The way I understand the two in this context are:

Reasons
1.a basis or cause, as for some belief, action, fact, event, etc.: the reason for declaring war. 
2.a statement presented in justification or explanation of a belief or action.

Excuses
1.to regard or judge with forgiveness or indulgence; pardon or forgive; overlook (a fault, error, etc.): Excuse his bad manners. 
2.to offer an apology for; seek to remove the blame of: He excused his absence by saying that he was ill. 
3.to serve as an apology or justification for; justify: Ignorance of the law excuses no one.

I am not a gate keeper, I am an information provider, I have limited time to provide what information I can.

I will do my best, the people around me will do their best and sometimes we will not be able to investigate everything.

I'm happy to explain things but make up excuses?  I think that will do more harm than good.

There are plenty of reasons why issues end up in production, learn from them, explain, improve how you test and what you test.

Don't make excuses.


28/01/13 Update.
Forgot to add, what and how you are testing and what you are not testing should be communicated and continuously communicated as you delve deeper into the software.