Tania van Wyk de Vries
Implementing simplicity … Just do it-
May 27th, 2012Rails, Scrum, Software DevelopmentSprint 2: Installing RVM & Latest version of Ruby
For this sprint we will get your mac ready to switch between different versions of ruby and ruby gems. This is very helpful if you are developing on projects that supports different versions of ruby.
My velocity is 10, so I will only take-on the next 2 user stories.
Feature: Install RVM
In order to effectively manage gems per ruby version
As a software developer
I want to install RVMEstimated story point value: 5
Backlog priority: 4
Feature: Install the latest version of Ruby
In order to get all the latest bug fixes for Ruby
As a software developer
I want to install the latest version of RubyEstimated story point value: 5
Backlog priority: 5
Installing RVM
RVM can be downloaded from the following site: https://rvm.io/
To install RVM go to the following link: https://rvm.io/rvm/install/
The RVM install will look as follows:
Once the installation is complete. You will load RVM like so:
source ~/.rvm/scripts/rvm
Check the requirements: rvm requirements.
You will see that for Ruby 1.9.3 you will require libksba.
Now decide which version of ruby you want to install.
You can check the version of ruby installed by doing a ruby -v on a terminal window.
You can check what the latest version of Ruby is here.
I am going to install Ruby 1.9.3-p194.
Since I will be installing 1.9.3 I will have to install libksba first according to the rvm requirements command.
You can download a libksba installer for it here.
rvm install 1.9.3
I received some errors at this point, looked like I did not have a c compiler configured. This is now resulting in an additional story that needs to be added to this sprint. This will result in this sprint including an additional story that might result in us not finishing the allocated work that was set out during sprint planning.
Installing Xcode command-line tools
Feature: Install Xcode command-line tools
In order to get ruby to install
As a software developer
I want to install Xcode toolsEstimated story point value: 5
Backlog priority: 5
Xcode tools can be downloaded from here.
The latest Xcode command line tools Command Line Tools for Xcode – Late March 2012.
Install command line tools
Step 1:
Double click the downloaded file. Another .pkg file will open. Double click to start Xcode command line tools install.
Step 3:
Step 4:
Step 5:
Installing Ruby using RVM
Once your Xcode command line tools are installed you should be ready to go.
Install ruby
sudo rvm install 1.9.3
Remember to use sudo, as you might receive permission errors trying to access certain files and directories if you do not use sudo.
Ruby is now successfully installed.
<<Back: Post 2 Next>>: Post 4
Tags: install rails, install ruby, rails, rails 3, ruby, ruby 1.9.3, rvm, sprint, xcode -
January 30th, 2012Agile, Scrum, Software DevelopmentGetting technology / software development project delivered successfully really seems hard nowadays. There is a big drive to use agile as the methodology / framework to manage the delivery of software development projects. But is agile the way people implement it really the answer or is there more to getting it right?
Well, I believe it is more than just using Scrum or XP (xtreme programming) that is needed to ensure your project is a success. I have been lucky to be part of a few projects where we delivered successfully, within budget and time. So I recently reflected back on what made it possible for these projects to be successful and I will sum it up in the following key points:
- choosing the right team
- having an interested customer
- having the customer and the technical team in the same room
- never ever sacrificing the review of software during an iteration
- having a good facilitator during meetings
- having industry experts as customers, not proxies
- having focus and working towards a goal that everyone in the team shares: business and technology
- having realistic timelines
Can you add more?
As you will see there is nothing I mentioned here that is encapsulated within a framework or methodology. It is all the softer issues that is so important.
We focus so much on frameworks and the details within frameworks but in essence that is not so important. What is important is highlighted in the following few keywords:
Communication, team work, collaboration, focus, drive, optimism, fairness, passionate people, direction, experts, visibility.
Tags: agile, scrum, software development, team work, visibility, xp -
August 1st, 2011Entrepreneurship, Software DevelopmentIt was difficult to imagine what this weekend could have been like, but I am telling you it was fantastic.
Everyone arrived at the weekend feeling a little bit anxious about this whole event. We had some time to network and speak to everyone who is going to attend the event that helped a bit to settle the nerves I think. We then went into the conference room for some presentations. The main aspect derived from the presentations for me was that if you have an idea, you should explore it and actively test it or get involved in it in order to move it forward. Don’t just dream. Do it.
Every person that then had a business idea or business concept that they would like to pitch had 60 seconds to tell everyone in the audience what the business concept or business idea was about. After that the papers with the
business concept or business idea titles were displayed on the wall and each person received 3 post-it notes that they had to stick onto the idea they thought was great. This constituted voting. After voting was completed, the top 8 business ideas or business concepts that received the most votes were selected and the business idea or business concept owners had to go to the front. The rest of the group had to go around and speak to the business idea or business concept owners to decide which group they would like to be part of for the weekend. The groups then broke away into smaller rooms to start discussing the business idea or business concept. This is where the creativity really started.The rest of the weekend was a mix of working on the business concept, software development, eating, sleeping very little and receiving input from mentors. All of this resulted in business concepts or business ideas being created and matured.
On Sunday eve, each team had to present their business concept or business idea to a panel of judges. The pitch lasted 5 minutes, followed by some Q & A from the judges.
The judges went into a close room and discussed all the pitches. We were called back into a room when the judges made their final decision and the winners were announced.
The winner of the weekend was offExchange:
I was priviledged to be part of this group. Yipeeee! The group members were:
- Jaco Nel
- Sechaba Ngwenya
- Tania van Wyk de Vries
- Hans Christian v. Stockhausen
Startup weekends is really about giving startup businesses a chance in:
- Finding like minded people that could potentially become business partners with you;
- Finding people with skills in technology, business and creative to join you to develop a business concept or business concept from idea to presenting to potential funders;
- Having access to some of the top mentors in the industry around startup businesses. This could include technology, business, funding, marketing, business plans, business concepts, financial models;
- Working on putting a proof of concept together to determine the viability of your business idea or business concept;
- Potentially starting a business with a team that is committed to move it forward with you.
I would highly recommend this to any person. If you are passionate about starting your own business, then you could achieve the following out of the event:
- Developing a business concept that is ready to start its journey into the real world;
- Spending time with people that is passionate about creating a startup business;
- Making connections and forming relationships with people that can share your journey as an entrepreneur.
For more information visit:
Tags: business concept, business idea, entrepreneur, entrepreneurship, startup business, swjoburg
SWJoburg -
May 8th, 2011Rails, Scrum, Software DevelopmentSprint 1: Installing Xcode & Macports
For my first sprint on this project I will be focusing on getting my OS ready for developing a rails application. On my product backlog I have the following stories listed as no 1 & no 2 priority. My committed velocity is 10 per sprint and each of the stories was estimated at 5 story points.
Feature: Install the latest Xcode version
In order to get a stable OS environment for Rails development
As a software developer
I want to install the latest version of Xcode for Mac 10.6Estimated story point value: 5
Feature: Install the latest Macports version
In order to get a stable OS environment for Rails development
As a software developer
I want to install the latest version of Macports for Mac 10.6Estimated story point value: 5
Install the latest Xcode version
First check that you have Xcode installed. Open a terminal window and type:
xcode -v
Is you receive this message:
Xcode -v-bash: Xcode: command not found it means 1 of 2 things:
- You do not have xcode installed
- xcode is not on your path
So, another way to check if xcode is installed is by simply looking in /Developer/Applications for the Xcode application.
I had lots of problems with Ruby headers that were missing on the Mac OS Ruby installation version PLUS I could not install the mysql ruby driver via gems, when I did not have Xcode installed. After spending some time reading in forums about the error, it seemed apparent that the only way to correct this was to install Xcode.
Then after switching to RVM to install my own version of Ruby I received and error due to GCC not being installed by default on Mac.
You do not have a choice. You have to install Xcode. GCC is part of it.
I would suggest that you download Xcode from the Mac Developer site:https://developer.apple.com/xcode/
Once logged in on the site:
https://developer.apple.com/downloads/index.action#
You have to be registered on the web site to access downloads.
>1.82GB (Lion). Happy downloading. Came down from 3 GB (Snow Leopard).
Link for Xcode 3.2.5 (Snow Leopard): http://adcdownload.apple.com/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg
Link for Xcode (Lion):
Step 1 of Xcode installation: Double click the xcode_432_lion.dmg
You will see the following:
Double click to start the installation of Xcode.Step 2 of Xcode installation:
Step 3 of Xcode installation:
Step 4 of Xcode installation:
To verify the installation, open a terminal window and go to /Developer/Library and do a ls -l.
Install the latest Macports version
I opted to not install this via the command line as the bandwidth stability in South Africa can really be a problem.
So you can download the .dmg from:
or more specifically:
Snow Leopard:
http://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.6-SnowLeopard.dmg
Lion:
https://distfiles.macports.org/MacPorts/MacPorts-2.1.0-10.7-Lion.pkg
Check the version of your installation with:
sudo port
Password:Warning: port definitions are more than two weeks old, consider using selfupdate
MacPorts 1.9.2
Entering interactive mode… (“help” for help, “quit” to quit)[workspace/reportworstdriver] >
Graphical installation steps
Once you have downloaded the file, double click to start the installer.
Step 1
Step 2
Step 3
Step 4
Step 5
Step 5
Tags: install macports, install xcode, mac os 10.6, macports, product backlog, rails, sprint, story point value, user story, velocity, xcode
Step 6 -
April 30th, 2011SAW, Software DevelopmentWe started a new web software product a couple of months ago, so the question came up for me: “When do you start worrying about scalability of your application, if your end goal is a large amount of users over the internet”.
Many of us developers have worked at a company or on a project where we were faced with load issues on the application for 1 of many reasons. When stepping upon such a situation, you ask yourself if this could be prevented and what will the cost be to build for scalability as part of your continuous cycle of software development.
Many of us developers have also been in a situation were making changes in a system that has been around for 6+ years is sometimes not very possible if the application architecture has not been designed flexibly enough for you to adapt the application to respond to the load timely. Which is a clear indicator that NO time was invested in thinking about scalability. This then leaves you in a situation of operational chaos, where people have to carry the can, as no change is a small and quick one, but rather a long and painful one with the result being the inability to respond to your scalability problem.
I attended the Software Architecture Workshop in Italy this week. The closed group of highly skilled software architects and other specialists, discusses various topics of interest in the Software Architecture space. So I had the opportunity to ask this question to a panel of people that I have gained a tremendous amount of respect for over the last 3 days and for those I know longer, over the last few years.
At the beginning of the conversation many questions were asked.
- What is the cost of building in scalability in the early stages when your focus should be on generating revenue? Thus, can the business afford it and if you spend too much time on it, is that not what will make the business fail?
- So if you say that, what is the cost of not planning for it later or when it is too late?
- What approach will be acceptable: dealing with the chaos when it happens? Or being a little bit more proactive?
So is there a silver bullet?
The outcome of the discussion can be summarised in the following few points:
- Know your business domain: when knowing your business domain, you can determine the point of possible fall-over that will happen first. You could also then invest the right amount of time into building scalability into the fall-over point, without inhibiting business income. At least identify the principles that needs to be considered for the fall-over point in order to respond.
- Determine the aspect of scalability fall-over: On a high-level there are 3 areas of possible fall-over:
- Increased amount of user requests
- Amount of work executed per request
- Data volume stored
- Based on 1. you can determine which one would be most likely for your application.
- Early stage monitoring: make sure to have monitoring tools installed on your production environment to give you a good view of what is happing with each of these aspects. Going through log files might be an expensive exercise now (having a developer looking at logs, rather than writing new functionality) and later, so it could be worth spending some cost upfront to setup.
- Be prepared: you can define a strategy for response when the house of cards comes down. Thus if you know that increased user requests will be your fall-over aspect, then think about being able to increase the amount of servers you need. In this scenario you would have to invest some time in load-balancing on the web server. Investigate if this is possible with your current development approach to make that it is a non-issue if you need to introduce more servers.
- Stress-testing: this adds to being prepared for scalability. If you know when your application will fall over then you can together with close monitoring know when you are getting closer to the point of failure. This way you can be proactive, by introducing a user story into the development cycle at the right time.
- Managing your Business Processes: sometimes it is the business operations that introduces a scalability issue. Example: introducing a discount in services/products. The impact of this on the scalability of the application should be considered. In this instance business and technology should work closely together to ensure that it is a success.
So in the end it is all about finding the right balance between building for scalability, having a profitable business and business growth.
Tags: business, business process, monitoring, scalability, software architecture, stress-testing -

Ok. So this was a little bit unplanned outside of the Vittirio leg of the trip. Unplanned? Well, I was planning to fly into Italy on 25 April and fly out on 30 April, but on booking my flights 4 weeks prior to the 25th, I discovered that all the flights around the 25th was sold out. I could either leave on the 29th after the conference (duh) or the closest day to the 25th was the 18th, so I had to take it.
This was on Emirates by the way. British airways are just to expensive. Not sure what value they think they add that could justify a R12K difference in airfare?? Can you maybe tell me?
Day 1:
Left Johannesburg on a flight to Dubai at 14:10. Flight was as good as any economic flight can be, I guess. Slept about an hour tops. Landed at 00:11. Now the one minor little detail that I overlooked when booking the flight (due to the anxiety I experience at the time caused by no flights available on the 25th) was that my stay-over was 10 hrs. Ouch.
Day 2:
On arrival into the “Concourse” or the Terminal I spotted a showers sign. What a relief. I went into the showers and was pleasantly surprised to see how clean the area was. I forgot a towel, but had some face wipes. Feeling refreshed was higher on my priority list than being a little wet after a shower. The shower facilities are great. Inside each individual shower is a little bench on which you can put a bag or anything else. A hook for hanging up your clothes is also supplied. More than 1 would have been nice, but I managed in the end. So now that I felt a little more refreshed I had to find a posy to crash for this looooong stay-over.
The last time I was at Dubai airport it seemed as if there were hardly any space to sit, so hundreds of people were lying or sitting on the floor, so I was really not looking forward to this. Luckily that seemed to have improved. There are sections at the airport with chairs that looks like a single couch with a foot rest. Similar to those lounge couches with a foot rest kicking out from underneath it, only missing the “soft” furnishings part. I will include a photo on my way back. But here is the soft furnished version of it anyway.

So I decided to take position on one of these for my looooong stay-over (they even had long stay-over tag fitted to my baggage).
I did not bring all the things on the list below, so I had my bag tugged in under my head for a pillow, with the zippers carving out lines on my face. With lights glaring in your eyes and a little car hooting at people in the passage, driving by every hour, it was really hard to get a proper rest, but I managed 2 hours when added up together. Very interrupted sleep.
At 6 in the morning I gave up on trying to get in any more sleep. So I decided to look out for breakfast. I found this place, Cosi, an American restaurant chain with some very interesting food and good coffee. I had a Così Club Omelette Squagel: Eggs, bacon, cheddar & tomato on a homemade Così Squagel. The eggs and cheddar was compressed into a weird “patty” = interesting food. It was very tasty though.
Then moved closer to my boarding gate. By that time I was so tired, that I actually just fell a sleep on my bag in one of the chairs. Managed another hour.
Boarded the plane without problems and took off at 9:50 Dubai time for a 5 hour flight to Venice, Marco Polo Airport.
So some tips for improving your transit at the Dubai airport:
Bring a:
- extra set of clean clothes
- small towel for taking a shower
- plastic bag for putting the wet towel into
- cushion that you can use on these “couches”
- sleeping mask
- (no a) earplugs
- small blanket
-
March 24th, 2011Mac OSI had an incident a few weeks back that resulted in me deleting a complete directory from my Mac OS 10.6. I was busy with development, Eclipse open and I renamed a directory on my computer that the Eclipse project I was working on was linked to.
Eclipse then complained immediately that it could not find the project. I then renamed it to the old directory name and deleted the project in Eclipse. Created a new project with the name I wanted, and tried to import the directory into the new project. I did not check the files imported and something clearly went wrong on the import. So as my nature is not to accumulate backup of backup of backup, I deleted the directory from my Mac. When I opened the Eclipse project I realised that the import was nonsense. Files were now gone….. F… kedie f… f… was what went through my mind. I had a backup, but when I checked it was 2 weeks old, and yeah I was actually busy connecting the source with GitHub, thus project rename etc, so I did not even have a source repo to fall back on.
I then tried to calm myself down and started reading about recovering file on Mac OS. After an hour I realised that if you deleted files on Mac OS it is actually not gone, you can still retrieve it. I discovered a tool called FileSalvage that I downloaded here for $79 that claimed to do exactly that.
Wow! Wow! Wow! It is an awesome tool. I managed to recover all the files I lost and more. Ruby is not listed as a “known file type” in FileSalvage, but do not despair. FileSalvage also has the functionality to “train” for file types not listed. I then loaded 10 Ruby files into FileSalvage to train it for the file type and then I could retrieve all the Ruby files I needed. I trained the tool for *.rb, *.html.erb (Ruby views) and retrieved all my lost data.
Features I would like to have in this tool:
Title: Recover by lost directory name
In order to save time when recovering lost data
As a FileSalvage Data recoveror (not a word really is it?)
I want to recover lost data by directory name
These features would be great as it will save a lot of time. Not sure if that is technically possible, but would be cool!
Tags: file recovery, FileSalvage, GitHub, mac os x, ruby -
February 27th, 2011Software DevelopmentWhen installing YUI Rich Text Editor with Rails 3 from the following link: YUI Rich Text Editor, replace the following:
Installation (only for Rails 2 and lower)
============script/plugin install git://github.com/larsklevan/yui_editor.git
with:
Installation (Rails 3)
============rails plugin install git://github.com/larsklevan/yui_editor.git
You will see the following:
Initialized empty Git repository in /Users/tvw/Documents/workspace/COOLCORRECTAPP/vendor/plugins/yui_editor/.git/
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 21 (delta 4), reused 13 (delta 1)
Unpacking objects: 100% (21/21), done.
From git://github.com/larsklevan/yui_editor
* branch HEAD -> FETCH_HEAD
YuiEditor
=========
Integrate the Yahoo Rich Text Editor (http://developer.yahoo.com/yui/editor/) into a Rails application.
Example
=======
# Basic usage
blog_controller.rb:
class BlogController < ApplicationController
uses_yui_editor
end
new.html.erb:
<% form_for(@blog) do |f| %>
<%= f.text_area :post, :class => ‘rich_text_editor’ %>
<% end %>
blogs.html.erb:
<head>
<%= include_yui_editor_if_used.html_safe %>
</head>
# Customizing the configuration
default settings are in RAILS_ROOT/config/yui_editor.yml.
you can override the editor defaults in each controller:
class BlogController < ApplicationController
uses_yui_editor(:only => [:new, :create, :edit, :update], :selector => ‘blog_post’)
end
Instructions for configuring the plugin:
http://wiki.github.com/larsklevan/yui_editor
Instructions for configuring the editor:
http://developer.yahoo.com/yui/docs/YAHOO.widget.Editor.html#configattributes
Instructions for configuring the toolbar:
http://developer.yahoo.com/yui/examples/editor/toolbar_editor.html
Installation
============
script/plugin install git://github.com/larsklevan/yui_editor.git
Feedback
========
Send feedback and questions to:
tastybyte at gmail.com
Copyright (c) 2009 Lars Klevan, released under the MIT license
============This will generate files in ${RAILS_APP_ROOT}/vendor/plugins/yui_editor
and a configuration file in: config/yui_editor.yml
============
If you do not use the “rails plugin install” command then you should receive an error on Rails 3 similar to:
1. install git://github.com/larsklevan/yui_editor.git
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 … fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory …============
OR
============
2. ruby script/plugin install git://github.com/larsklevan/yui_editor.git
ruby: Is a directory – script/plugin (Errno::EISDIR)============
Tags: git, rails, yui, yui rich text editor
OR
============
3. script/plugin install https://github.com/larsklevan/yui_editor.git -force
-bash: script/plugin: is a directory -
February 16th, 2011Rails, Scrum, Software DevelopmentUser stories for Product Backlog
Ok. I must first take a big breath, as this is quite an experience if you decide to go with the non-OS-installed Ruby version. There is not one post that just take you through this step by step from beginning to end, so I decided that I will try and make the next person’s life attempting this, a little bit easier, by documenting a very systematic way of succeeding with this setup. So here it goes…
I will publish this over a few blogs, so the first post will highlight what I wanted setup in my development environment in order to start development.
Product Backlog for setting up a Rails development environment
Backlog priority: 1
Feature: Install the latest Xcode version
In order to get a stable OS environment for Rails development
As a software developer
I want to install the latest version of Xcode for Mac 10.6Estimated story point value: 5
Backlog priority: 2
Feature: Install the latest Macports version
In order to get a stable OS environment for Rails development
As a software developer
I want to install the latest version of Macports for Mac 10.6Estimated story point value: 5
Backlog priority: 3
Feature: Install RVM
In order to effectively manage gems per ruby version
As a software developer
I want to install RVMEstimated story point value: 5
Backlog priority: 4
Feature: Install the latest version of Ruby
In order to get all the latest bug fixes for Ruby
As a software developer
I want to install the latest version of RubyEstimated story point value: 5
Backlog priority: 5
Feature: Install the latest version of Rails
In order to get all the latest bug fixes for Rails
As a software developer
I want to install the latest version of RubyEstimated story point value: 5
Backlog priority: 6
Feature: Install the latest stable version of PostgreSQL
In order to have access to all the latest features of my database of choice
As a software developer
I want to install the latest stable version of PostgreSQLEstimated story point value: 3
Backlog priority: 7
Feature: Install the PostgreSQL driver for Ruby
In order to connect to PostgreSQL from Ruby
As a software developer
I want to install the PostgreSQL driver for RubyEstimated story point value: 2
Backlog priority: 8
Feature: Install a Github source code repository
In order to manage version control on my source code
As a software developer
I want to install a Github source code repositoryEstimated story point value: 5
Backlog priority: 9
Feature: Setup a Rails project in Eclipse
In order to have a Rails compatible IDE for increase development productivity
As a software developer
I want to setup a Rails project in EclipseEstimated story point value: 3
Backlog priority: 10
Feature: Install the aptana plugin for Eclipse rails development
In order to enable code formatting for Rails in Eclipse
As a software developer
I want to install the aptana pluginEstimated story point value: 2
Backlog priority: 11
Feature: Create an application on Heroku
In order to deploy my application to production
As a software developer
I want to create an application on HerokuEstimated story point value: 2
Backlog priority: 12
Feature: Install custom-domain add-on on Heroku
In order access my deployed application on my registered domain name
As a software developer
I want to install custom-domain add-on on HerokuEstimated story point value: 2
Backlog priority: 13
Feature: Configure custom-domain add-on on Heroku
In order utilise the custom-domain features
As a software developer
I want to configure custom-domain add-on on HerokuEstimated story point value: 2
Backlog priority: 14
Feature: Configure shared production database on Heroku
In order to fast track deployment to production
As a software developer
I want to configure shared production database on HerokuEstimated story point value: 2
Backlog priority: 15
Feature: Install the jquery JavaScript library for my Rails project
In order to utilise the functionality available in the mootools JavaScript library
As a software developer
I want to install the jquery JavaScript library for my Rails projectEstimated story point value: 5
Backlog priority: 16
Feature: Deploy my application to Heroku
In order to fast track setting up a production environment
As a software developer
I want to deploy my application to HerokuEstimated story point value: 3
Backlog priority: 17
Next >>: Post 2
Tags: backlog priority, eclipse, heroku, Javascript, jquery, mac os 10.6, mac os x, macports, postgres, product backlog, rails, rails 3, ruby, scrum, story point value, user story, xcode, yui -

In any software product development the most important thing to start with (if it is a new product) or to always have (if it is an existing product) is a Product Backlog.
The product backlog really encapsulate your high-level product vision to all people participating in the product’s development life cycle. So what is the definition of a product vision? It is: what is the objective of the software product, what is the features offered by the software product, what is the roadmap of the software product, what will we focus on next during the product development, what is the business value of features on the product backlog, what else besides functionality features needs to be delivered to make the product)
I would say it is important to put in effort to write proper user stories on the product backlog, using the right format for writing these stories, as it will save you time and money later in that: 1. people have a better understanding of the feature, 2. You do not have to rework the feature later into a proper format, 3. functionality and all related tasks needed to deliver the software is communicated in a consistent way, 4. you started writing your spec already, 5. you use a consistent way in which to communicate your requirements.
A proper story would look as follows:
Feature: Write a product backlog In order to build the … software (business value) As a … Product Owner (role/user/system) I want to pin down all the current high-level product features (requirement)A Scenario will look as follows: Given … (input)
And …
And …
When … (event)
Then … (outcome)
And …
And …
So on the product backlog you will only have the details of the story. Scenarios will be made available for each sprint to the team as part of 1. backlog grooming to estimate stories on the product backlog and 2. sprint planning, to provide more detail on exactly what needs to be delivered. The scenarios will then be used to do estimation during sprint planning.
Download Product Backlog template: Product Backlog Template
Tags: backlog grooming, estimation, product backlog, product owner, product vision, scenario, scrum, software product development, sprint planning, user stories, user story -

















