Great time had during Weekend Testing Europe, recommended for all to sharpen up your skills, ask questions, or just get a bit of practice. The exercise in principle was compare features from mobile to desktop on the beautiful LinkedIn app/site...
For those interested my testing session files generated:
Linked In Mobile App
iPhone 5s iOS 8.3
## No access to search algorithm to verify results
##User needs to authenticate for search function to be available.
##On tapping search and entering no details, contacts appear alphabetically ascending.
##Cancelling returns to home tab and reloads the Newsfeed.
##Options for the user:
Contacts appear alphabetically ascending.
Displays a set of jobs you may be interested in
? Unknown algorithm for this, would need to be verified ?
Displays option to set location
In a new dialog you can search for a location or use current
Using current prompts for access to location services
Don't allow and the screen goes blank you can only cancel.
App remembers that you have disallowed location use.
Displays the companies you are currently following
? What happens when you follow no companies ?
Displays your currently joined groups
? What happens when you have no groups ?
Adding search terms filters your own contacts first, then returns those you may know
? Unverified algo here ?
TO CHECK - Searching on a full name of a contact you already have returns those you don't only
Can search with only 1 char - hopefully this is managed in the search algo
TO CHECK - Cannot search by company, only title
Title appears to be fuzzily matched, without location set you get jobs from all over.
With location set:
Latest jobs are returned first, lots of jobs in Leeds.
Location can be removed, returns to previous results.
Job title and location can be used in conjunction.
Windows 8.1, Chrome 42
Again, no understanding of the search algo
Should be aware that the aim is different here than the mobile experience, search for power and results rather than speed.
User does not need to be authenticated to search
Minor functionality is available, searching by first name and last name
The search is a true 'elastic search' rather than the linear, categorised search.
Entering text exposes:
Can search with 1 char - 18 results are filtered each time.
The 18 results are shared between the above categories
The search dynamically filters as you type.
Searching on a full name reliabily returns connected and unconnected users (mobile app only unconnected users)
Company search defaults three options
Those who work there
Those who no longer work there
Typing a search terms and the clicking search opens a new page with advanced search options
-Desktop was a true elastic search, built for power with a dependable connection, mobile much more category dependant and about returning immediate results
-Desktop was much more powerful, but both filtered and gave suggestions as you entered data. Mobile good for filtering what you already have, desktop better for finding new stuff.
If you haven't already, get yourselves signed up for next time:
Sunday, 17 May 2015
Tuesday, 5 May 2015
Two of my favourite estimation conversations (roles are indicative, not pointing fingers).
The What Is It?
Project Manager: "How long will it take you to test our disaster recovery solution?"
Me: "What's your disaster recovery solution?"
Project Manager: "We don't have one yet, but we need to test it."
Me: "I'm not convinced that is a valid approach."
Project Manager: "Well, what shall we do then?"
Me: "Create an disaster recovery solution."
Project Manager: "Can you do that?"
Project Manager: "How long will that take to test?"
Me: "I don't know, I would be creating it, so I can't test my own work"
The Anything But...
Product Person: "Can you provide a forecast for how long these would take to implement?"
Me: "Are you asking for an estimate?"
Product Person: "Lets call it a gut feeling then. In days"
Me: "Is that different?"
Product Person: "OK, I'll settle for a quote."
Me: "We may be straying into semantics here."
Product Person: "Just try and gauge it."
Me: "You know humans are rubbish at estimating time right?"
Product Person: "I know but I'm just asking for a projection."
Me: *sighs audibly*
As a heuristic, if this rings true:
Time spent generating estimates > Time spent doing the work
Then you should seriously have a think about estimating how long it takes to come up with an estimate. Mind the magical development unicorns sprinkling star dust on your product while you do. Or talk about alternatives to estimates as a means to gather information, try what success looks like, or a definition of ready. Break the cycle.
Monday, 4 May 2015
Careers often hinge on shifts in mind-set and I feel as if I have gone beyond a turning point in how I regard my career. In fact I think it is the first time I have taken true ownership of my direction and values, instead of inheriting and adhering to those of another entity, namely an organisation. This realisation concerns not doing what I would call ‘bad work’ (anymore).
Before I go on, let’s specify what I believe to be bad work:
- Making a promise to stakeholders about delivery you know to a high probability you can’t keep.
- Not flagging up information that may impact the decision a stakeholder may make.
- Knowingly doing valueless work, as ordered by a stakeholder.
- Implementing an exploitative strategy which preys on the ignorance of a stakeholder.
- Treat someone inhumanely by hiring (or training) them to effect a particular change, then telling them how to do it.
The journey began in March 2013, I listened to a chap named Huib Schoots speak at TestBash 2013, in Brighton. He spoke of refusing to do bad work. I was in awe of the concept of someone taking ownership of their own work in such a way. Also my existing programmed behaviours railed against the concept, internally believing that this was idealistic and didn't translate to the ‘real world.’
However, my awareness grew and grew. I saw others exhibiting the behaviours I saw above, also caught myself on that path on occasion. I spent a significant portion of my time on a project solving a problem that no one could define and indeed no one had complained about. Eventually we delivered a system which would secure the future of that product for the foreseeable future, however, my discomfort was sharp throughout this time. Had we solved the problem? Maybe, maybe not. Had I sat in relative silence or at least acceptance of this fact? I had indeed.
Now, I’m a fairly generous chap, the propensity to do bad work exists on a continuum of consciousness, where people do it unwittingly (“I've been testing this for ages and have developed inattentional blindness to that problem”), ignorantly (“Yes, this will be tested for all possible scenarios”) or knowingly (“I have some information you need to make decision, but it suits me to retain that information”). We've all existed on this continuum, although hopefully, like myself, on the ‘honest fool’ end of that scale.
As I ventured into the world as a consultant on more strategic engagements I noted instances of the above behaviours with increased regularity. These were often disguised as pragmatic steps, picking off ‘low hanging fruit’, sometimes more blatant than that, aiming to be indispensable, rather than giving stakeholders the tools needed to tackle their problems. I favoured the latter, which often brought me into conflict with stakeholders on all sides of the divide.
So, I decided to follow my values and do something else, with a group of people I respect on a product with grand and hopefully (at least partially) noble ends. One thing I do know is that my career compass is pointing in a different direction now and I feel strong enough to follow it.
As well as my own experience, this was inspired by the following articles:
Functionally Stupid http://www.startribune.com/lifestyle/209654291.html
Sunday, 8 March 2015
.....as uttered by the infamous Liam Gallagher.
- Extremely deep knowledge of their chosen technology? Very often and that's great.
- Ability to communicate? If it confirms their approach.
- Working on a common goal? If they set it.
- Unable to be questioned about their approach? I can't work under these conditions, I'll be in my trailer.
- Sloppy and inconsistent? Maybe some of that too.
I prefer this quote:
'Individual commitment to a group effort - that is what makes a team work, a company work' ~ Vince Lombardi
I much prefer to hire team players. For me, these guys are rock stars, just maybe not the lead singers. What have they got in their lockers then?I personally have changed a great deal in this respect. I used to get frustrated with those who didn't want to change the world.
- Able to create long term relationships? Loads of this.
- Mindful of the impact of their actions on others? Loads of that too.
- Information shared to enable each other to progress? Constantly this.
- Respect for each others strengths and even weaknesses? Oodles of this.
Not anymore. There is (and should be) space for those who wish to blaze a trail and those who wish to provide consistent approach and attention to detail. Don't get me wrong, I would never want to damage the enthusiasm and drive of such a person, just that they might be mindful of the environment they create.
I wouldn't feel right if I didn't explore the other side of the argument. One question always springs to mind; 'Who wouldn't want to work with a hero?' Changing the world, pushing the boundaries and yes even enhancing the skills and knowledge of those around them with their reflected glory. Definitely some positives there, I'm still unconvinced that they outweigh the more subtle negatives.
In my opinion and experience, both of these characters flourish best as a part of a team. That's how great things are achieved in the software development world. Not alone. Even wolves run in packs.
Sunday, 22 February 2015
"My name is Ash, and I was a manager"Sometimes I feel like I should say that in a circle of other former managers and get a ripple of applause for admitting it.
Pitchforks at the ready.....
Every time I open Twitter or LinkedIn I see a pithy saying about managers, the reasons why your manager is out to get you, or in the way, an unfeeling monster, the root of all that is wrong in the software development world. Managers are generalised and stereotyped mercilessly, oddly enough by those who accuse same managers of the self same behaviour.
Some dislike specific managers or at least personality types of managers, some management as a concept, some say management is confused with leadership and vice versa. A legion of reasons to mistrust, expressed in many ways.
Now, I'm not an idiot, this mistrust has been earned. As a consultant to various companies I've seen some very inhumane approaches to management executed by, quite frankly, unstoppable morons with some horrendous results. Broken confidence or even careers justified by terrifying organisational values (or the dreaded 'commercial reality', the catch all excuse for awful treatment of fellow humans), utterly opposed to the contradictions plastered on their marketing material. Maybe people think that about me. I hope not.
This might earn me some grief....
But you know what. for the most part, I'm proud to have managed people, helped them with their immediate and long term goals, provided direction if they needed it and most of all, trusted them to get the job done using their expertise. If I helped them meet their goals and represent the wider organisation, then I can stand by my work. The world is getting flatter and I'm all for it. I enjoy my autonomy, it is a fundamental need that most of us share.
Whenever I see the latest 'why managers are bad' schtick, I think of my own manager in my previous role. That person earned but never expected my trust, gave me timely, meaningful feedback and provided a non-judgemental sounding board. If someone can do that, how can it be bad? Maybe I was just lucky.
Now I've got no one to manage but myself. Hard work. :-)
Wednesday, 11 February 2015
So, lets just all leap aboard the Agile Release Train (because loading something up with a few months work and careering around at variable speeds sounds SAFe to me) and scale into the stratosphere.
I have a theory I've expressed on this blog before. Its just too darned hard to think about problems like this. So we outsource it. Thinking-as-a-Service. TaaS. We are relatively unique, blog reader, in our desire to go back to first principles.
Anyway, onwards. Riddle me this framework builders. Which of these doesn't scale?
They are pretty explicit too for the most part. You rarely need to read between the lines. Any framework on top of these is abstraction and obfuscation of these aims.
Lets take an example. Preference for face to face conversation? That scales. More teams, more interdependent stuff to do. Talk more and regularly, at all levels, from the programmer to the CTO. But how do we scale I hear you cry? This is the bit when you consider your options (try 10 options to go beyond the obvious) and apply the rule of three. Otherwise known as the "thinking about it bit".
I won't go though them all but you probably get the picture.
I have a sneaking (more like rampaging bull elephant) suspicion that these frameworks real purpose is to fit around what your organisation already does. Still sat on the same nail and getting more painful but with a lovely layer of process to entertain us while we wear good people out, harpoon careers and lampoon ideas.
But then, at least with SAFe-LeSS-DAD, you get to keep the corner office eh?
Sunday, 18 January 2015
I saw this tweet the other day:
If you are a consultant, it's important to know the difference between a doctor and a drug dealer. Please be more like a doctor.Followed swiftly by:
— James Marcus Bach (@jamesmarcusbach) January 8, 2015
Wanting to please the customer is not enough. Drug dealers very much want to please their customers.This got me thinking about a process I am often involved in.
— James Marcus Bach (@jamesmarcusbach) January 8, 2015
Reviews of 'testing capability and maturity' are a common product offered by many lone consultants & consultancies. I myself have done them on a regular basis, creating a number of (I believe) thoughtful strategies and recommendations that a client can implement themselves and/or in conjunction with a partner.
I like to think, I've probably done some good too. Looking for root causes over the dreaded 'low hanging fruit' that so many consultants recommend (see drug dealer).
When I really reflect though, I'm pretty sure most things I have recommended are inadvertent local optimisation. Conducting a review into testing is a classic misdirection, as a great many problems in how testing is done in an organisation, are symptoms of wider problems. A subsconscious misdirection, but a misdirection nonetheless.
Next time, before engaging, I'll ask:
- Where does attending to the needs of your people come on your priority list?
- Does work get done based on value or who can shout loudest?
- Have you got too much work in progress?
- Do you have teams with all the skills needed to deliver and autonomy to solve their problems?
Once we've dealt with these root causes, then we can talk about testing. Or we might not need to, perhaps dealing with what is systemic will assist with clearing up those symptoms.
Maybe Doctors and Consultants should share the same oath:
"First, do no harm."