What Makes a Good User Story?

Peter Bodenheimer

The other night I was having a discussion with a few folks about Flatsourcing and how we work. After my brief spiel about working in an agile way with technically proficient clients we started discussing how user stories fit into the process.

One of the less technical people in the conversation wasn’t familiar with user stories, so we spent a few minutes explaining the benefit of the user story versus a full blown specification doc. My favorite moment was when I got to share what I think is the best quote about the downside of large specification documents:

“Walking on water and developing software from a specification are easy if both are frozen.”
- Edward V. Berard

Once we were all on the same page again the conversation turned to what makes a good user story. Is it better to be brief and vague or slightly less brief with more detail? Do they need to be written out on a card or can you just create a quick text doc with a bunch of stories laid out in it?

It got me thinking and after doing a little searching this weekend I found this article, Writing Good User Stories, that I thought had some great insights to help me resolve my dilemma.

User stories should ultimately be short and sweet, but they can often begin as bulky and clunky…that’s the process. In the end, they should be reflective of the vision they are meant to break down. They should help a developer who may not “get” the larger picture build the blocks upon which an application is going to be based on without needing to “get” the big picture.



What makes a successful Internet entrepreneur?

Peter Bodenheimer

I came across an article this morning called the 12 Characteristics of Successful Internet Entrepreneurs and it got me thinking about what aspects of the list Flatsourcing brings to the table for our clients. While several of our clients aren’t developing their own products, but rather are doing client work, those that are certainly fit the mold of the entrepreneurs in the article.

Some of the things that Flatsourcing offers to these clients are; Experimentation, Simplicity, Focus, Flexibility, and Frugality. We probably also bring a touch of eccentricity, but tackling that subject is for another day.

Experimentation and Flexibility - Both of these are part and parcel of working using the Agile methodology. We are constantly developing and refining based on the real world feedback we get from our clients’ customers. Being able to try different things and then having the flexibility to react to feedback and adjust on the fly is critical to the success of our clients and a core tenant of how Flatsourcing approaches each project.

Simplicity and Focus - Whether it is using a standard set of tools or scheduling regular standup meetings we try to maintain the focus of our team and our clients on the work. Part of the reason we have come to work solely on a retainer basis is so that we can remain focused on the task at hand rather than the ever changing scope of a given project. Simplicity of design, clean and concise code, and a process that is both simple and focused allows us to produce the best work for our clients and give them the best possible chances for success in their ventures.

Frugality - Cost is important, but not as important as value. We strive to provide value to our clients at a cost that is competitive. Flatsourcing isn’t Elance or Rent a Coder, but rather an option for the sophisticated business with development needs that can’t be filled by other options. We’re not the budget option, but the best option within a reasonable budget. To us the end goal is to provide the best value within the financial realities our clients face every day.

To find out more about how Flatsourcing can help you grow your business, drop us a line and set up a time to learn what we do and how we do it.



When Selling is the Wrong Term

Peter Bodenheimer

One of my primary roles with Flatsourcing is to look at how we can grow our business in a way that builds on the things we already have. While growing the business could be translated into “sales”, that term isn’t the most accurate reflection of how we develop our business.

Our sales process is more about identifying those potential clients that are a good fit than it is about producing a high volume of new clients. The foundation of our growth is about helping our current clients expand by improving their bottom line, identifying new clients who compliment our current roster of clients and work well within the basic framework of processes we have developed over time. With that in mind, what we do on the sales front isn’t so much about selling ourselves as it is about the discovery process and determining whether we are the right fit for a client and they are the right fit for us.

We focus our efforts on transparently communicating who we are, what we do, how we do it, and what we have found it takes to successfully work in a distributed way. It’s not about convincing people how we never make a mistake or how we do anything and everything under the sun. We do sometimes make mistakes, and we don’t do anything and everything. We focus on what we do best and how we can continue to improve our level of service to our clients.

To get an idea of whether or not Flatsourcing might be the right option for your development needs, check out our Top 5 Reasons that Flatsourcing Works and our Top 5 Reasons that Flatsourcing May Not be Right for You.

If you think Flatsourcing might be right for your needs, give us a shout. We’re offering a special right now that allows you to “try before you buy”, making the opportunity to grow your team easier than ever.



Try Before You Buy, What Could be Better?

Peter Bodenheimer

In our continuing efforts to grow the business in a thoughtful way we have decided that allowing potential clients to evaluate our work through a test task is the absolute best way to gauge the chances for a successful relationship. Because of that, we are inviting anyone who is interested in our services to contact us and request a test coding task so that you can see for yourself how we work and the quality of our work.

There is a lot that goes into a successful relationship with our clients, but ultimately it’s all about the quality of the code.

To that end we offer:

  • Up to 20 hrs free development on a ticket or feature for you
  • Post a ticket to Basecamp or bring us into your ticketing system
  • We’ll develop it and post it to GitHub

It’s as simple as that, try us out with no committment, no contract!
We are confident you’ll be pleased.

For more on what makes a good test task, check out Oleg’s recent post on what makes The Perfect Test Task, and then go ahead and put us to work:
http://www.flatsourcing.com/contact/



Older Posts »