TwitterFacebookLinkedInRSS

Agile Estimation of User Stories in Scrum and Kanban

Many teams find it difficult to create estimates for their work, whether they are doing so in hours or in story points. In this post, I will focus on elements commonly forgotten by teams when estimating User Story effort. While every team operates differently, these reminders can help your team estimate more effectively no matter what Agile estimation framework you are working in.

1. Always follow your Definition of Done: For every story, make sure you are considering all elements of DONE. Items could include Unit Testing, graphic design/layout time, and time managing the source code.

2. Avoid missing steps in your Story, Acceptance Criteria or Tasks: Similar to our Definition of Done, you want to make sure that you have a list of common tasks that are important to completing a story. Commonly teams forget routine tasks like updating existing data, performance testing or the time required to learn a new tool or technique.

3. Don’t forget non-technical issues: Team members go on vacation, get sick, or are taken away due to other internal company needs. While you cannot estimate these circumstances in your User Stories, it is important to adjust velocity slightly to account for these.

4. DevOps, DevOps, DevOps: Lack of automated build and deployment processes: Getting your development operations squared away will allow the team to focus on development and coding tasks, rather than spending time worrying about the build, long manual deployments and brittle configuration management. This may seem outside the scope of estimating, but when anything more that a single command is required to deploy to all environments, time is required for the completion and validation of all stories and your velocity is affected.

5. Don’t estimate with an incomplete team: It is absolutely critical when the team gathers for an estimating meeting that all stakeholders and team members are available. If individuals are not available, assumptions about unclear or questionable User Stories and Acceptance Criteria will result in inaccurate story estimates and without a team member the team could be missing critical information required to make accurate estimates.

Keep your team focused on good estimating practices using these reminders. Your team velocity should continue to stabilize as you estimate more consistently and effectively. Sometimes, teams find that improving their estimating processes can help them identify points of improvement that can lead to even higher productivity.

Connect with me on Twitter @TMichaelRogers and let me know your tips to you keep top of mind during your estimating.

Writing user stories in agile, scrum or kanban that are ACTION-able?

Working with different organizations over the years, soliciting requirements and properly articulating them are critical and one of the primary concerns I hear from project managers, business leaders and developers. In agile, scrum and Kanban, User Stories are the primary communication method of capturing requirements, their business value and criteria for acceptance.

Development team members crave details. In order to do their jobs properly, most feel that a surplus of information is always best, allowing them to understand the “big picture”. Business people are focused on features and when they will be delivered and don’t need as many details. Product Owners are caught in the middle and need to deliver to both parties.

I have developed the ACTION-able definition of a user story to set clear goals for a “good” story, clarify the amount of detail and write a User Story that communicates just enough information for the team and customers to be happy.

I use the acronym A-C-T-I-O-N to create acceptance criteria for a well-written User Story. Using these acceptance criteria for the completion of any user story you write, will improve the quality of your communication, estimation and the overall team understanding of your user stories. If you find that any of these criteria are not satisfied, then the story should be refined or redefined.

Acceptance driven

Concise

Testable

Independent

One action

Natural

 

Acceptance Driven

Is your story focused on business acceptance criteria? User Stories are a description of functionality, the individual or role that will perform the story and a brief overview of the business value. The details of those actions and outcomes must be quantified under the acceptance criteria. For example, if I were defining the story “As a customer, I would like a shortened checkout process, so that I can complete my order in half the time.” The acceptance criteria should include details such as desired sales lift this more efficient process should take, or how this change could reduce the amount of orders that are never completed. The criteria should provide the team with quantitative details that can be measured and define when the User Story is complete.

Concise

The User Story should be defined in a single well formed sentence. If your statement is a run-on sentence or you are tempted to use multiple statements, consider breaking it down in to smaller User Stories. To continue our e-commerce example, a lengthy story may be: “As a customer, I would like to see an order confirmation after my order is processed. I should be able to print this confirmation so that I can keep a record.” This story is focused on a seemingly single user story of completing and order and printing a record, but it can be made more concise as two individual stories.

“As a customer, I would like to see an order confirmation after my order is processed so that I may review the details.”

“As a customer, I would like to print my order confirmation so that I may keep it for my records.”

By defining them individually, we gain a better understanding of the user’s motives and needs. Common signals that your story statement is too lengthy are multiple sentences and the usage of the word “and”, as well as other conjunctions.

Testable

Acceptance criteria should be testable through empiric, automated means. Automated testing is important to overall system quality and allows the development team to more easily practice Test Driven Development, ensuring “Quality Up Front”.

For example, “Order processing should be faster”, is not a testable acceptance criteria. “Order processing should complete in under 500ms” if precise and testable.

The product owner should be able to verify each item in the acceptance criteria either through both manual testing and access to automated test reports.

Independent

A user story should stand on its own. Meaning that completing it does not depend on another story. A story needs to encompass a single unit of work a user may take, but it does not have to be working beyond itself. Avoid the temptation to let implementation details cloud the dependencies of a story as well. For example, lets take a look at a common system function of Creating, Reading, Updating, and Deleting (CRUD) a record in a database.  For each operation, each requires the creation of the database to store information. While this implementation detail only needs to be done once, each story should assume that this work needs to be done. This becomes extremely important for planning and estimating. When planning releases or iterations of development, we do not want to have to worry about inter-story dependencies that could affect which story comes first.

One Action

Similar to being Concise, take care to focus on a single fluid action a user may perform. A story can be concisely expressed in a single sentence involving a one role, action and business reasoning, but additional actions can creep into the acceptance criteria and during implementation.

For example, lets imagine a user story for sending email: “As a user I would like to send a short message to another user to update them on project details.” The acceptance criteria may include:

  1. The user must enter a valid email address
  2. The user must enter a message of at least 1 character
  3. The user should be able to select an email address from their address book. <=== BINGO

Here is an additional action masquerading as acceptance criteria. Similar types of features, while valuable and user friendly commonly emerge during development as well. Focus on developing functionality in a single linear path. When new ideas and requirements emerge, capture them in a new story on the backlog.

Natural

User Stories should always be defined according to natural user interactions. If you find yourself describing a system to system interaction or the story is not something a user would need to do with the software as a matter of business, you should re-evaluate the story. It may need to be broken down, or could be a solution in search of a problem. Also, beware of implementation details or bugs masquerading as user stories. While these items can certainly be described as a user story, I believe they need to be treated differently.

I hope you find this technique valuable to apply to your own User Story writing and evaluation. Connect with me on Twitter @tmichaelrogers and let me know about your experiences writing user stories and what tools you find useful.

Agile is Not About Software

  • It is about business
  • It is about clear priorities
  • It is about listening to customers
  • It is about innovation
  • It is about being prepared to pivot when necessary
  • It is about hiring the right people, giving them the best tools and trusting them to execute
  • It is about teamwork
  • It is about transparency
  • It is about collaboration
  • It is about doing more with less

iPad mini and How It Will Affect iOS Developers

The new iPad mini has sparked much speculation and rumor mongering. What opportunities and challenges does another device to support present to iOS application developers?

One of the main benefits of the iOS ecosystem is that there are few devices and all of the existing devices are somewhat similar. With iOS 6 and the iPhone 5 that has changed. I hope that apple does not continue this trend by making an alternate screen ratio for the iPad mini. Luckily it mostly likely will be a scaled down iPad 2.

What do developers need to do to keep up with this growing number of devices and screen sizes?

Three things:

1. Design “responsive” applications. Applications who’s UI changes not only based on orientation but can take advantage of larger and higher resolution screens while gracefully supporting older devices. Use the Auto-resize functionality in iOS 6, however, do make sure you consider your iOS 5.1 users if necessary.

2. Adhere to UI guidelines to ensure a consistent approach similar to other applications. Continue to use Navigation controllers, Master-Detail layouts and other common UI design patterns. Using skins and custom UI objects, a unique experience can be created, while eliminating the tendency to design as may web developers to and create new and inconsistent interaction patterns. Leveraging common patterns will also help your application remain responsive on future platforms.

3. Test, Test and Test, on the hardware. This is the fun part and an excuse to buy new gadgets. Because your application will support multiple platforms, you should have one (at least) of every device to test upon right? Get out there and hit the Apple Store!

TypeThat wins New York City Startup Weekend!

This past weekend, I participated in Startup Weekend NYC, an event focused on creating a business from scratch in 54 hours. The goal is to create a compelling business case, product prototype, meet new people and have fun. For more information, check out Startup Weekend. After pitching my own idea that wasn’t generating much interest, I decided to join a team who was building a simple, but entertaining game. The team lead was a designer named Xer Gata and it was his original idea. Also on the team were Brian Cajes, Harry Raymond, Kevin Wong and Maraget Ost.

We spent the next two days refining the idea, doing market research, programming and designing. I, Harry and Margaret worked on the market research, business case and final presentation. We had two fantastic programmers Kevin and Brian who cranked code out all weekend long resulting in a killer demo. Xer illustrated and bought the whole idea to life.

It was a fantastic experience, meeting new people, creating a team with a common goal, building a product, and pitching it together. I would encourage anyone who loves to create ideas and businesses to attend a startup weekend.

The most thrilling part was when they announced the First Place winner and it was TypeThat! I almost fell over. What an exciting event and a great team of brand new friends and colleagues!

Keep and eye out here and on the AppStore for TypeThat!

It’s a communication problem. Fix the problem.

On my first job after about 6 months into it, a senior technology director was hired to improve our quality, streamline our operations and resolve some client issues. As with any transition, it was a bit rocky to start. What made matters worse was that engineering was located in Boston, while all the sales people, producers and user experience people (my role at the time) were located in New York.

The directors name was Marc and he was smart, knows large scale operations like no other and was focused on risk management at the time. His word was also law. There had been quite a few operational blunders and he was tasked with fixing the causes. He implemented checkpoints and schedules to handle our email based promotions. As a result, he frequently said “no” to sales person requests. I was an energetic kid of 22 years and a royal pain in Marc’s ass. Unfortunately, I only realized this in hind sight. Sorry Marc. Anyhow, because he would say no to the sales people, they would come to me, the ignorant, yet eager to please young guy and ask me “Can we do this?” and I’d say “Sure!”, but then Marc would kill the idea, because he said “No”.

One day I asked the president to have a meeting. I bought up the issue the Marc always said no. No matter how I framed or presented the situation, Seth would only respond “It’s a communication problem. Fix the problem.” It took me about 20 minutes of talking and 50 times of Seth saying “It’s a communication problem. Fix the problem.” before I got it. I was complaining to him about Marc not listening to reason and here I was doing the same. I wasn’t listening to Marc.

On a subsequent business trip, I said to Marc, “Help me understand what you mean when you say No.” And low and behold, it turns out he had a very articulate and reasonable set of reasons when he said “No”. I was then able to take that knowledge back to the sales people and not only was everyone on the same page, but we were able to help the sales team to adjust their concepts to something that could be a “Yes”.

So, in conclusion, it’s a communication problem. Fix the problem.

Is organizational debt bankrupting your productivity?

Whenever you are evaluating your processes and determining if something needs to be changed, ask yourself, “if I was starting up a new company from scratch, is this how I would do this?” If the answer is “No”. Fix it before doing anything else.

In software development we have a concept called “technical debt”. Technical debt is the accumulation of compromised code, quick fixes, Band-Aids and other rushed approaches to software development that have been made in the spirit of “getting it done.” Just like in finance, the deeper in debt you become, the worse the situation. When you begin to work on new code, you are strapped with not only the task of solving your new problem but you must deal with the technical debt inherited from your previously rushed decisions. Technical debt compounds with interest as systems grow and functionality is added. This is why many technology groups and product developers find themselves with systems that feel clunky, buggy or unstable. A common symptom of technical is every time you make a change, something else breaks. The only way to alleviate technical debt is to slowly pay it down just like you would any other debt.

This is true in business as well. If you are skipping important steps, ignoring opportunities for efficiency and making other compromises in the name of “getting it done”, things are guaranteed to get worse. Your debt level is going to consistently rise. Its like paying one credit card off using another. Every company experiences this debt. It is a natural by-product of success and moving the business forward. You need to give it the adequate attention and resources to keep your debt at a reasonable level.

Begin making the investment now to pay down your process debt before it bankrupts your workflow. Build improvement into your projects so that improvement is a part of your daily operations, rather than something else you have to do.

Increase Your QR Code Responses

20110618-085418.jpg

I saw this at the train station today on my way to NYC. QR codes are top of mind for marketers these days. The proliferation of smart phones and a growing interest of marketers to link real world advertising with the digital world have led to an up tick in the use of QR codes by marketers.

However, I find it odd that much of the time the QR code is being placed out of context. There are no instructions, no indication of what it does. I only know because I am a marketing technologist. My wife who is a technology savvy business consultant had no idea what they were. She figured it was like a barcode, but did not know why it was there and why he would care as a consumer. Remember that for decades, consumers have seen traditional bar codes and have been trained to ignore them. Marketers can improve response rates by offering a call to action with the code as well ad the name of a smartphone app that a consumer can download to view it.

The other thing that caught my eye was the positioning of the code. Let’s say a savvy consumer like me knows what the code is. I was impressed at how large they made the code, but it is place at the bottom of this 6 foot plus ad, lower than someones knees. This adds just another level of complexity to the consumers experience in interacting with this ad. QR codes have not crossed the chasm into widespread acceptance and will not until marketers male it easier to use them and clearly articulate the consumer value in using them.

Keep these three points in mind when designing and using ads with QR codes:

1. Give the consumer a clear call to action about how and why they should interact.

2. Keep in mind where the ad will be located an how ready and equipped the consumer will be when they see the ad.

3. Ensure your content and value provided to the consumer after they scan the code delivers on the promise made in #1 and provide an immediate way to capture consumer lead information to continue your conversation with the consumer.

Will you Like the New “like” Button on Facebook?

In its announcement regarding the replacement of the “Become a Fan” button, Facebook is beginning to change the way individuals are able to interact with their favorite businesses and brands. Now, instead of asking people to “Become a Fan” of a business or brand, like Starbucks or Whole Foods, Facebook is making it possible for users to simply “like” it.

For anyone who has ever been on Facebook, it is clear how the “Become A Fan” and "like" buttons are used. The Become a Fan" button allows individual users to choose which brands they want to link, while also providing businesses and brands with free information regarding its fan base. The “like” button, which is also used to connect individuals, is a link placed by pictures, status updates and wallposts. While the "Become a Fan" link is seen to inspire more interaction, the "like" link thus requires less effort and user involvement.

This transition is important for two reasons. First, it makes it easier for users to link with preferred businesses and brands, while still “becoming a fan.” According to Michael Lazerow, CEO of Buddy Media, "The idea of liking a brand is a much more natural action…it’s a lower threshold." For some reason, users feel more psychologically comfortable simply “liking”an item  rather than “becoming its fan.” The “like” button thus offers the same ways to “become a fan,” with the added benefits of comfort and ease.

Second, this change embraces the way in which people have already begun to use the “become a fan” button. In most instances, people click the “become a fan” button simply because they like a brand, not because they want to interact with it. Whether the user is a "fan" of a brand or “likes” it, the meaning of each button is essentially the same. With this new feature, friends can thus still see that you “like” a page, just as it did when you “become a fan.” It is more a matter of word change than anything else.

A negative consequence of this change may be that it demands even less involvement and commitment from users.  If users begin to use the “like” button for business pages in the same way that it has been used for photos, wall posts and status updates, though easier and more comfortable, it could result in less brand loyalty. Based on the language alone, simply “liking” something requires less involvement than becoming a “fan” of it. Yes, the premise of the “like” and “Become a Fan” buttons remain the same, however Facebook may be underestimating the psychological effect of this word change.

Overall however, the transition to the “like” button is a strategic move on Facebook’s end. The way Facebook makes money stems from from the advertisements companies use on their pages to attract individual users. According to Facebook, users click the “like” button almost twice as much as they click the "become a fan" one.  Thus, if more and more people jump on the “like” bandwagon for business pages as they have done in the case of general profile notifications, then companies may be more inclined to increase their number of advertisements, which will translate into increased revenue for Facebook.

Though the new “like” feature is predicted to bring more users to your fan page, this alone will not keep up user interaction. Your fan page must still have a compelling purpose and content that will attract people from the fan page on Facebook and back to your brand website. If your fan page does not encourage fans to take an action, that at some point will be beneficial to your brand, then you will fail to recognize its entire purpose. It is unclear whether this Facebook change will be for the better or worse, but adapting to it can only improve your chances of creating a successful Facebook fanpage.

7 Social Media Tips to Build Brands

The U.S. Small Business Administration is giving social media workshops at UCONN campuses this March and April.

52% of people in the U.S. work at businesses with 20 people or less.  Small businesses have led the country out of every recession.  Many believe, including comScore, social media will be a big asset this time around.
                                  

Since I’m one of them, I’m grateful to contribute along with Rob Petersen of BarnRaisers, http://barnraisersllc.com and other small business owners (featured below) that have used social media successfully.  Here are 7 social media tips to build brands.

                                {^MediaFileControl|(FileGuid)a2aacf88-1633-45b6-8ac6-0c0ecc8d8f52^}

  1. Strategy trumps technology:  A business strategy and social media strategy are the same thing.  Have one before you use Twitter, Facebook, YouTube, apps etc.  Then, ask yourself:  Why do these  fit with my strategy and how do use them to engage, increase trust in customer relationships and re-engage?   
  2. Set measurements and expectations first:  Never believe you can’t measure social media.  You can know more about buying behaviors on the internet (e.g. where customers come from, how long they spend with you, what they do and where they go) than you can in your store.  Plus Google Analytics and bit.ly links are free.  If you’re not convinced, David Berkowitz has a great presentation on 100 measurements at: http://bit.ly/pmadb
  3. Social media takes time:  Small business owners, understandably, have lots of priorities.  Manage what you can handle.  Customers come first.  Social media is going to be around for a while.  Of course, this point applies to all businesses.
  4. Live with the ups and downs: What you want is a following and fans.  It doesn’t happen overnight.  It doesn’t happen the way you thought it would, but, if you stick with it, it does happen.  Enjoy the journey.
  5. Not all social networks are equal: In every case I’ve seen, not all social network rise to the top because of the unique nature of every business.  For AJ Bombers, a burger joint, it was Twitter acting as a virtual maitre’d and a video from Chris Brogen.  For a utilitarian product like Blendtec blenders, it was unconventional product demos from Founder/CEO, Jim Dickson.  You can learn from their experiences below and expect it will happen for you.
  6. Have your online house in order:  If you follow tips 1-5, you’re likely to experience traffic.  It will come to your web site, the most important asset in any social media program.  There’s an old saying:  Nothing kills a bad product faster than good advertising.  Today, nothing kills a good social media program faster than a bad web site.
  7. Believe in your product: The owner of AJ Bombers, Jo Sorge, who nows a book, #Twitterworks, spoke in a video call from Milwaukee.  What was most important to his success?  “If I didn’t believe AJ Bombers made the best cheeseburger on the planet, social media wouldn’t have accomplished a thing.”

If you’re in the area, the next workshop is April 27th at UCONN in Stamford from 6pm to 9 pm.  Details will be at:  http://bit.ly/bW22Ml  


CyberChimps