Tuesday, September 21, 2010

Who is Playing the Customer Role in Second Life Agile Teams?

There's been a recurring meme on Twitter over the past few months that Linden Lab employees don't use Second Life very much themselves. Just last week, Delinda Dyrssen revived Paisley Beebe's Mentor a Linden Day concept:
If some of the really hard core users who spend many hours trying to educate, work, create, collaborate and or play in SL were to spend a few hours with some of the key Linden Labs employees.. one on one..doing what they do..showing these talented Linden Lab people the pitfalls.. the needs, the it would be cool or useful if we could, just even how to sit down or put on a pair of shoes (Phillip did say it was difficult to do that). Then..and only then could they really come up with a viewer and platform that serves most people needs in a Fast Fun and Easy way.
I have no idea how many Linden Lab employees use Second Life on a regular basis. Certainly very few of them are openly active members in Second Life communities. In any case, it made me wonder who is playing the customer role in Second Life agile teams.

The key to a successful Agile approach to software development is that the voice of the customer guides the entire process. Agile methodology builds software through a series of short iterations that are typically one to two weeks in length. At the start of each iteration, the person or acceptance team in the customer role sets the development priorities for the week and helps define the acceptance criteria that will be used to test whether the iteration's work is successful.

The Agile process breaks down if there aren't people on the acceptance team who have a deep, working knowledge of the end-user perspective. Although the resulting software will work well from the team's point of view, it may not be useful to the customer. A good analogy is a French cooking team trying to create a new dish for the Thai market. Although the resulting product will be delicious to the European palette, it may leave a bad taste in the mouths of the intended customer.

So I wonder who is playing that role on the Linden Lab Scrum teams. Any Lindens care to weigh in?

12 comments:

Honour McMillan said...

I've been to a few of Esbee's OH on Wednesday mornings (when I don't oversleep). That seems like the ideal venue and is, I believe, designed to function as such. The idea is to go through the list of items and discuss priorities. Of course conversations tend to go off topic fairly easily depending on who is there and various individual needs to dominate things. :)

Botgirl Questi said...

That's interesting and it's good to hear there is at least some regular customer feedback But the customer role in Agile is played by people who are "official team members" and who have authority to make decisions about iteration priorities and to officially accept the work. The role user groups, alpha testers, etc. would be supplemental.

Yordie Sands said...

Wow, this issue is so close to the heart of what seems to be wrong with the LL development process. I see sooooo many little things in the Viewer that I often wonder if there is anyone trying to think out the requirements that are being defined.

How about this. If someone clicks off the "Go Away/AFK when Idle" toggle, why should that disable the "Busy" toggle? Can't I be Busy and not want to be logged off? It's a question of understanding what avatars actually do in SL? The scenario involves a couple, shall we say.

There are so many of these use cases that just don't seem to exist in the LL model of what the SL experience is.

for Paisley Beebe said...

The Mentor a Linden idea started when I asked what I thought was a fairly innocent question of both M and Philip Linden last year in San Francisco when interviewing both in RL and in SL for my Tonight Live show. Go to www.tonightlivewithpaisleybeebe.com its in the side bar..What experience did Linden employees have to have or uptake in SL after being employed, and if they would ever consider a Mentor system. Mentoring Lindens out to members of the SL community who use SL for all sorts of business, creative and social purposes..Im not sure if anyone had ever really suggested that to Philip, but the impression I got was well we use SL all the time...for ....meetings..click and sit on a chair and use voice...cam around the room. I felt like I'd asked the stupidest question....Philip and M both seemed quite good at using the UI (they didn't know where the master Mute button was...tho :) our little trick to find out how well Lindens know the UI) and were able to get around my virtual studio just fine. But unfortunately I have to say that in my experience there are quite a few Lindens who don't know how to cam to click and sit, and certainly don't shop for clothes, skin, hair, ect... therefor don't know how to adjust clothing...or wear it? or even find it after purchase. This is clear when you see Lindens wearing the same outfit year after year...same original system skin. I have noticed tho, to their credit some of the latest additions to the Linden team are actually looking very good, but I do hope to see some changes of outfits and hair and skin.

This surely has to be part of their understanding of SL! How can they possibly understand SL without ever shopping? Now ....there has been some talk that they use alts to shop...they have a secret fashionista alt...ummm well the Public face of your employees... I would have thought was hugely important. Just looking like SL 2004 or 5 is a sign that you don't consider what the majority of SL users take pride in, your avatars appearance. An enormous part of the economy in Second Life.

If we the customers see an old fashioned avi, never updated or changed, we don't see you in world using the platform, building creating shopping taking a class..doing MORE than "holdin a Meetin"...AND we see clear signs in the platform and viewer that you have no clue how your platform is used or your viewer is used. Im afraid rightly or wrongly It is suspected that you don't care enough about your customer base to use your own product! and I don't mean, click and sit in a chair. I mean make machinima, Take Photo's, Build something Create something, Shop and rez something wear something...Find an event based on a narrow perimeter...go looking for an object that is really obscure on Search...

Find a Mentor in SL, to illustrate all these things spend a week with them...WOW people in RL would charge for this! compensation would be maybe free tier for a month. Not only would you learn an enormous about your software, you would learn about your customers!!...AND the PR would be fabulous...absolutely fabulous. Linden Lab you need to do this. Most other companies do this these day's. Good customer service and increased sales demand you get over your ego, admit you DONT know it all. And be humble enough to find out what we the customers use your product for, and what we want.
Paisley Beebe

Brinda said...

Well...You can hope.
From what I've seen in these last three and a half years...ain't gonna happen.
For that to happen would seem to require a couple things....
#1 That there was a viable chain of command that said, "Employee X you will go do this".
#2 That The Benevolent Monarchy really felt that we were worth listening to.

Botgirl Questi said...

Yordie: In Agile, the list of all candidate requirements (stories) is called a "backlog". At the start of each iteration the customer can either choose the planned stories, re-prioritize a story from the backlog, or introduce new stories. The Second Life community would be an excellent source of potential stories for the customer to evaluate.

Paisley: Thanks so much for such a thoughtful and substantive comment. Second Life is not rocket science, so I think just about anyone devoting a few hours a week could quickly get up to speed. I think the greater value of what you propose is the enculturation which requires not only time, but the development of relationships.

Brinda: I have no idea what the work environment at Linden Lab is like. If I were in charge, I'd have people spend at least four hours a week in Second Life on the company's dime on non-work activities.

Unknown said...

Maybe in order to get a reply from a Linden you should ask this question in the SL forums or on the opensource-dev mailing list, instead of your own personal web blog.

I'm quite sure you would get some answer if you asked this question to the opensource-dev mailing list.
information about the list -- subscribe here.

Don't be shy to ask questions to the opensource-dev mailing list. That's the right place for such a topic.

You do NOT need to be a competent, tech-skilled person to write there. Or at least, right now that's clearly not required:
whining, insults, provocations, ultrashort-sighted and technically flawed statements, childish behaviour - that's daily stuff on opensource-dev mailing list.

Your issue would totally qualify as an appropriate and interesting question, IMHO.

That said, I understand that writing a public post in your well-known blog asking such a question is something more than just looking for the answer to the question itself (not sure I can clearly explain this in English. sorry). But I would not expect a reply here.

Unknown said...

test.

where's the comment I posted yesterday?

Botgirl Questi said...

oobscure: Strange. I received an email notification with your post, but it either never made it here or disappeared. I assumed you'd deleted it yourself. Since you didn't delete it, I'll paste it here:


Maybe in order to get a reply from a Linden you should ask this question in the SL forums or on the opensource-dev mailing list, instead of your own personal web blog.

I'm quite sure you would get some answer if you asked this question to the opensource-dev mailing list.

information about the list -- subscribe here.

Don't be shy to ask questions to the opensource-dev mailing list. That's the right place for such a topic.

You do NOT need to be a competent, tech-skilled person to write there. Or at least, right now that's clearly not required:

whining, insults, provocations, ultrashort-sighted and technically flawed statements, childish behaviour - that's daily stuff on opensource-dev mailing list.

Your issue would totally qualify as an appropriate and interesting question, IMHO.

That said, I understand that writing a public post in your well-known blog asking such a question is something more than just looking for the answer to the question itself (not sure I can clearly explain this in English. sorry). But I would not expect a reply here.

Botgirl Questi said...

Oh, and thanks for the suggestions. I'll check out those lists.

Anonymous said...

Second Life is a quasi-Standards based platform. Historically, the voice of the customer in standards-based technology platform areas has been the users of the proposed standards (usually would-be adopters such as vendors or OEMs) (the IETF RFC process comes to mind). The commercial motivation for cooperation was typically ubiquity--adoption and diffusion of the work as the defacto-standard. While operating as an open platform, Second Life is a captive technology; as long as this is the case, Linden Lab is unlikely to give much weight to its customers beyond what it has to in order to realize its strategic goals (another story all together).

Iteration in an agile software engineering sense is almost unheard in standards-based engineer of because of the long lead times for standards adoption and diffusion (typically four years from the initial draft of a concept standard) and because of the diversity and loose coupling of customers.

Botgirl Questi said...

wizardlytruth: I agree that the technical standards themselves aren't something that lends itself to end-user, iterative development. Customer input in an Agile project is not about how something is built, but what is built. Customers don't tell developers which code libraries to use, but what capabilities they want to have. So the customer would request the ability to import models from the Google 3D warehouse into Second Life, for instance, but wouldn't weigh in on how that would be accomplished within the code.