May

6

User Story Factories

May 6, 2009 | Comments Off on User Story Factories

It’s no secret how to write a good user story, you just need to keep focused on the outcome you want to see. Cohen’s formula, “I, as a , want to so I can ,” does a good job keeping us focused on that. Still it seems like people want to throw all kinds of things into the backlog as a user story.

I’ve started to notice, however, that there’s another interesting thing out there, which we’ll call User Story Factories. (I was calling them “story generators,” Lowell Lindstrom, a Certified Scrum Trainer, suggested that maybe “factory” was a more appropriate term, which seemed like a sensible suggestion.)

Sometimes someone will suggest a story along the lines of “we need to educate the organization on our new product.” It’s a pretty sensible suggestion, it’s something that the project needs to do, and it has a business value. It presents some interesting challenges when you consider how you get to “done” with that story.

How do you say you’re “done” with educating the organization? You can’t, because there’s always something else you could do.  You can pull specific stories out of this factory, however. You can decide to offer a lunch-and-learn, schedule training, or visit with teams using the current version of your product. All of these have pretty clear criteria as to what “done” means, but the factory itself doesn’t.

I think this is an interesting tool to keep around. When you’re planning iterations/sprints, you can look at these factories and decide if you need to make some progress in the area they describe.  If so, you pull some stories out of the factory, decide on how you’ll be “done,” and put them into the backlog.

Some of the purists might say “that’s not a good story,” but I think it helps keep your customer/product owner engaged with the project if you can speak in their terms. They’re worried about “organizational education,” then cool, keep it around and decide how to get good stories out of that factory.

Apr

22

How to spot an ATM skimming device

April 22, 2009 | Comments Off on How to spot an ATM skimming device

For those who aren’t aware, there are folks out there who are stealing your ATM information not by breaking into the transaction processing company, but by stealing it from you at the ATM. This process is called “skimming,” and it involves installing a card reader and a camera on the ATM. The card reader gets the information on the magnetic stripe on the back of your card, and the camera watches what you enter for a PIN.  I knew these were out there, but it was a surprise to me to see how advanced they were, transmitting information wirelessly to the thieves.

It’s a good idea to try to keep an eye out for these devices, but you have to know what to look for, so I was interested to see a guide on spotting a skimmer. It’s a brief PDF that’s worth the read.

[ Consumerist via Lifehacker ]

Mar

17

I’m of the opinion that those who think should also do. I believe it helps keep us honest.  For years now, I’ve been continually confronted with the curious creature the White Board Architect.  WBAs are great talkers, and their ideas really do make sense, well at least most of the time.  But I’m highly skeptical.

As a practicing architect, I’m convinced I can’t do without the feedback I get by actually using my designs.  If building software is truly creating a theory of how a system should work, then I just need the proof.  I’m a pretty good architect, and I’m further convinced that if I need that feedback, then others probably do too.  Which is why I’m such a skeptic that WBAs can continue to do a good job without getting their hands dirty.

Perhaps I’m not as good as I think I am.  Perhaps all those WBAs out there aren’t as good as they think.  Perhaps it’s both: I’m probalby not as good as I think, they could really use the feedback from trying to consume their own designs.

Mar

10

Something’s been on my mind, and I need to speak up a bit.  I’ve grown increasingly annoyed by agile practitioners who are slavishly devoted to their favorite agile author.   It doesn’t matter if it’s Uncle Bob, Ken Schwaber or Kent Beck, I think there’s something a little unhealthy in some people attitudes.   I’ve seen trained professionals claim that they can’t do something because “Scrum doesn’t say they can.”  I’ve heard them take umbrage with questioning what their favorite author’s written, as though we were questioning the word of God himself.   How dare we question the word of Schwaber?!? Read more

Feb

24

I’ve been aware that one of the teams at my current client has been experimenting with using SecondLife for their collaborative space.  The project is coached by one of the other agile coaches, and I admit I’ve been curious to see what it looked like.  I’ve been aware of SecondLife for a while now, but never seemed to get around to creating an account or doing anything more than saying “Huh.  That’s interesting.”

Today I got a chance to see SecondLife in action.  The coach, who sits by me when we’re not off coaching teams, was logged in and showing some of the other agile coaches what it was like.  It was really interesting. They’ve built themselves a custom story wall widget, they’ve got a secured building on what seems like a private island, and they were, by chance, having a meeting with some of their stakeholders when we were there.

SecondLife seems like a very compelling idea.  More live than an IM link, somehow more tactile than a conference call.  We watched for a while, and then the next time I looked, one of the other avatars was dancing.  On the conference table.  Well, it’s just a virtual conference table.

I’m not big fan of political correctness myself, but I was a product of corporate America in the 1990s, so I got trained in what some people consider “hostile work environment.”  It really doesn’t take much.

At first I was just bemused by the dancing, but a little later in the day I started to think to myself that it certainly wouldn’t be acceptable conduct to dance on a table in a conference room in “first life,” if you will, but it seemed just fine in SecondLife.  I mentioned it to the coach who was using SecondLife, and he told me that they had been obliged to sign a document attesting to their understanding that the code of business conduct extended to SecondLife as well.

“But hey! It’s just virtual, right?”  I suspect that we’re in for some interesting times, my friends.  As we live more and more in the virtual world, I suspect that courts will view them in much the same was as the original: harassment and other misdeeds, even if virtual, will be something the courts will have an interest in.  Will codes of conduct be viewed as applying to the virtual world? I suspect so, but I think things will be interesting to watch while this get sorted out.

Nov

6

I’m currently mentoring a team at my client’s site that’s using test driven development (TDD) to improve the design of their application. We’re also using Struts 1.x, and they want to use StrutsTestCase as a standard for testing.  Okay, so far so good.

Being a fan of the Spring Framework, it should be no surprise that I want to make dependency injection a big part of refactoring to make their application more modular.  So I set off, Google in hand, to try to figure out how to make Struts, StrutsTestCase and Spring all play nice together.  Turns out that it can be done, but it’s surprisingly difficult, and I couldn’t find anything telling me exactly how to do it. There were hints in a number of places, but it took me a couple of days to put all of those together.  I’m going to share, so hopefully you won’t have to go through what I did. Read more

Sep

15

In Software Project Management, Risk is Everything

September 15, 2008 | Comments Off on In Software Project Management, Risk is Everything

We got into an interesting conversation at work the other day regarding the role of risk in an agile project. Perhaps I have an extremely broad definition of risk, but I believe that risk is a primary, and perhaps the most important, thing to consider when running such a project. Read more

Sep

5

Research FaceBook App Recruits for Botnet

September 5, 2008 | Comments Off on Research FaceBook App Recruits for Botnet

I’ve blogged in the past about botnets, and it should be pretty clear that they can be powerful entities for good or evil. With human nature being what it is, they’re mostly used for evil. As a botnet controller, I imagine it must be very seductive to look at a popular service such as Facebook and drool at the prospect of all those computers we could recruit. But how to infect them?

Researchers in Greece apparently thought the same thing as well, and they’ve produced a research application called Picture of the Day.  This little app claims to display a different picture from National Geographic on your page, and it does that.  Unfortunately, it also serves up software to turn your computer into a botnet zombie.

It didn’t take much to get people to install it, apparently. According to the report on Dark Reading:

Interestingly, the researchers did not invite users via Facebook to download the application, but still managed to attract around 1,000 users who downloaded Facebot within the first few days it went live. They merely announced its availability to members of their research group and asked them to pass it to their colleagues. From there it apparently spread to other Facebook users.

As a security-type person, this sort of thing really concerns me.  I know that the average user isn’t really all that concerned about security until it bites them in the hinder. I can’t even get developers to be concerned about it most of the time! The spread of social networking sites creates a target-rich environment for the spread of just these sorts of compromises, and it’s not at all clear how to fix it.

Jul

24

Reviews are Evil

July 24, 2008 | Comments Off on Reviews are Evil

I’ve thought for years that many reviews were just poorly done, and like a wayward child, could maybe be rescued.  I’ve changed my opinion, reviews, as practiced today, are pretty much beyond redemption, and the do more harm than good.

Read more

Jun

19

Why is it so difficult to get people to collaborate? When coaching agile projects, we always advocate that people collaborate rather than try to find ways to avoid talking to one another, such as by writing documents and making people read them.

The development teams are usually all over this. They want to collaborate with people who they need things from, such as the business owner in order to better understand the requirements. They’d rather just ask questions of a live body than read a document. Oh, sure, occasionally at first they don’t really want to talk to “those other people,” developers do tend to be introverts after all.  Usually once they try it they think it’s much better than the old ways.

Why, then, is it so hard to get the developers to collaborate with people who want the things they produce? I’m thinking specifically here about the usual suspects, I suppose, the database organization, the testing organization, and any sort of compliance/oversight organization. These are the same organizations who usually have a dim view of agile to begin with, for reasons I’ve talked about before. Why is it so hard to convince an development team (and I’m intentionally not saying a ‘project team’ because they don’t have all the right people) to invite someone, such as a tester, to one of their meetings, when in turn they want to be part of requirements meetings?

You could be forgiven for thinking that once they’d seen the value of working collaboratively, rather than focusing on documents and hand-offs, they’d naturally want to start doing more of it, extending that approach to people down stream from them in the development process. Strangely, that doesn’t seem to be the truth, I get a great amount of pushback when I suggest this type of thing.

I don’t think this is a case of “you should change, but I don’t need to,” since the developers are  already changing the way that they work. To me, a more compelling explanation is that they don’t want to confront someone who may be hostile to the way that they’re working. This is probably particularly hard when they’re new to agile, and they’re not used to working this way yet. But you’d think that having seen the advantages, and wanting to maximize the amount of work not done, they’d push the envelope more than they seem willing to.

Even more surprising is when it’s suggested, I get pushback on collaborating! “We don’t want to waste their time,” they tell me, or “It’s not their meeting, it’s ours.”

I guess life is just full of people behaving in ways that seem harmful to themselves, and that surprises me.

« go backkeep looking »

Blogroll

WP Themes