The document discusses user stories and agile testing. It introduces user stories as a way to describe features from the perspective of different roles. Each story follows the format "As a [role] I want [feature] so that [benefit]". It also discusses how to write good stories and estimate tasks using techniques like planning poker. The document advocates writing tests before coding to ensure quality and avoid bugs. It provides an example of scenario-based testing using the Given-When-Then format.
These are the slides for my User stories presentation. This particular version was given as part of my "I'm telling you for the last time"-series (see http://www.marcusoft.net/2013/11/ImTellingYou.html).
The presentation was recorded and can be found here: http://www.youtube.com/aptitudsthlm
Mobil web technológiai utak, tervezés - Kolozsi István, kolboidIstván Kolozsi
Kürt Akadémia – SMARTMOBIL közös képzésén 2012.12.14-én tartott előadás prezentációja.
Kapcsolódó blog poszt:
https://blog.fps.hu/mobil-web-strategia-responsive-ress/
CREATIVITY - Where to find great advertising Ideas. David Bell
Where have they all gone?
Advertising ideas and where to find them.
PLEASE VIEW CLIPS ON YOUTUBE
HINT: Cut and paste the links from the notes section for an easier way to view the Youtube clips.
Hogyan tegyük a vásárlást élménnyé egy webáruházban?István Kolozsi
Az Ecommerce Expo 2016 konferencián tartott előadás prezentációja, annak átalakított változata.
Az előadás rövidsége miatt nagyjából 50 magyar webshop lett átnézve, és azok tipikus, általános hibáit vette sorra a prezentáció.
Kapcsolódó blog poszt:
https://blog.kolboid.eu/web-shop-vasarlasi-elmeny-ux-ui-problemak-tippek/
These are the slides for my User stories presentation. This particular version was given as part of my "I'm telling you for the last time"-series (see http://www.marcusoft.net/2013/11/ImTellingYou.html).
The presentation was recorded and can be found here: http://www.youtube.com/aptitudsthlm
Mobil web technológiai utak, tervezés - Kolozsi István, kolboidIstván Kolozsi
Kürt Akadémia – SMARTMOBIL közös képzésén 2012.12.14-én tartott előadás prezentációja.
Kapcsolódó blog poszt:
https://blog.fps.hu/mobil-web-strategia-responsive-ress/
CREATIVITY - Where to find great advertising Ideas. David Bell
Where have they all gone?
Advertising ideas and where to find them.
PLEASE VIEW CLIPS ON YOUTUBE
HINT: Cut and paste the links from the notes section for an easier way to view the Youtube clips.
Hogyan tegyük a vásárlást élménnyé egy webáruházban?István Kolozsi
Az Ecommerce Expo 2016 konferencián tartott előadás prezentációja, annak átalakított változata.
Az előadás rövidsége miatt nagyjából 50 magyar webshop lett átnézve, és azok tipikus, általános hibáit vette sorra a prezentáció.
Kapcsolódó blog poszt:
https://blog.kolboid.eu/web-shop-vasarlasi-elmeny-ux-ui-problemak-tippek/
Talk slides of "Involving UX and Design in Agile Development Presentation selfmade with sketchnoting
Talk given in ALE 2014 in Krakow, Poland at 2014, August 21st
http://ale2014.alenetwork.eu/myteam/antonio-de-la-torre/
Abstract:
Five years ago I realize that in teams are more than PO, Stakeholders, SM and devs. There are Designers and UX experts , and their tasks we use to see out of the main cycle or at most in parallel. We’ll see how could involve them in Agile Development, using waterfall, scrum and kanban, and the problems we have faced.
Find Your Design Thinking Superpowers (conference presentation)Gosia Pytel
This is a presentation created for the ACE! Conference, May 2018, Krakow, Poland.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, see here: http://creativecommons.org/licenses/by-sa/4.0/.
Talk slides of "Involving UX and Design in Agile Development Presentation selfmade with sketchnoting
Talk given in ALE 2014 in Krakow, Poland at 2014, August 21st
http://ale2014.alenetwork.eu/myteam/antonio-de-la-torre/
Abstract:
Five years ago I realize that in teams are more than PO, Stakeholders, SM and devs. There are Designers and UX experts , and their tasks we use to see out of the main cycle or at most in parallel. We’ll see how could involve them in Agile Development, using waterfall, scrum and kanban, and the problems we have faced.
Find Your Design Thinking Superpowers (conference presentation)Gosia Pytel
This is a presentation created for the ACE! Conference, May 2018, Krakow, Poland.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, see here: http://creativecommons.org/licenses/by-sa/4.0/.
Using Chef for Automated Infrastructure in the CloudJesse Robbins
Infrastructure is code – the separation between how you manage your infrastructure and how you build your applications is disappearing. Adam Jacob, CTO of Opscode and primary author of Chef, will teach you what this means in practice – through showing how to deploy real-world applications with Chef on EC2.
We’ll talk about:
Deploying Web Applications… * Ruby on Rails * Catalyst * Django * Tomcat * PHP
Setting up Database Servers… * MySQL * PostgreSQL
Automating Monitoring and Trending… * Nagios * Munin * Ganglia
Centrally managing your application configuration
Along the way we’ll be talking about best practices in systems automation, quirks about EC2, and talking about how tools like Chef, Nanite, RabbitMQ and CouchDB can make your life easier.
At BeBanjo we develop web applications to manage all aspects of TV operations. Our development process is driven by User Stories, is divided in short iterations, implemented in pairs, integrating continuously, specifying behaviour and we use Ruby on Rails.
In this talk we want to share with the community how we do it; we will talk about technologies like Cucumber, RSpec, Selenium, Webrat or Cruisecontrol, but also about behaviour driven development, pair programming, beautiful code and above else about why we choose these practices over others, what business value they provide and why we think they make us more efficient and ultimately, happier.
All of this not from a theoric point of view, but rather straight from the trenches, sharing our experience and our itches, internal debates that we constantly have in pursuit of excellence.
How to Choose the Right SEM Agency or Technology Partner
Date: Tuesday, June 30, 2009
Time: 1:00pm EDT / 10:00am PDT
How does one avoid the pitfall of selecting the wrong SEM agency or PPC solution for their business? In this session we'll take a deep dive into the questions, strategies and processes that search marketers today must execute in order to stay competitive and avoid the dreaded mismatch. Just a few of these best practices include:
• Knowing exactly what you need and getting proper buy-in internally
• Allowing plenty of lead time and asking the right questions up front
• Understanding that the basics are what matter most
• Looking beyond cost alone
• Meeting the right people and checking the right references
Presenters: Aaron Goldman, Managing Partner, Connectual
Sponsored by Marin Software
You have to deliver ambitious new features but your codebase is a huge mess of legacy technologies, with no test?
It is very tempting to throw it all away and rewrite everything from scratch, but is it wise when you consider the associated cost, risk and delayed time-to-market?
Through an experience report, we'll show a "Strangler Application" strategy where only carefully selected areas of legacy code are rewritten. Agile development techniques like BDD or TDD remain necessary, with some adjustments.
We'll also describe step by step the overall thinking process you can use to deal with large legacy code bases efficiently.
First presented at Agile France 2013, and in countless Brown Bag Lunches since, a best-seller!
Video (In French) here: http://www.infoq.com/fr/presentations/code-legacy
How Kanban, Lean and Agile helped us to save a hospital in Bandung, Indonesia. Twice!
As an IT consultant with a lot of kanban, lean and agile experience I was interested to see if I could use that knowledge when working for the Salvation Army Health Foundation in Indonesia.
I got ample opportunity to try.
In this talk I will describe how the basic ideas of Kanban, Lean and Agile helped us to save a hospital from bankruptcy (or worse!). Twice.
In using these principles and ideas in a total different setting I gained a much deeper understanding of them, and also needed to find other ways to describe and apply the practices I've taken for granted in "our" culture and setting.
In this presentation I talk about how to make effective meetings. There will be a lot of small advices that I've found useful during my consultancy. I will also breifly describe the Lean Coffee meeting format.
This presentation is about a problem solving tool called Root Cause analysis. Trying to improve means that you will run into problems. How you handle those problems decides if you will actually improve or relive the same problem over and over again.
With root cause analysis you will not only look into the real underlying reason for a problem but also make sure that you have shared understanding about why this problem is important to solve.
Here's a link to a video with the presentation: https://youtu.be/rv9MO90-OyU
In this presentation I break it down to the day-to-day management of a project or team. How can we keep our focus? How can we improve? How do we even know what we are doing right now?
Kanban is the best tool I've seen to get us both focusing on the things that we are doing right now and also helps us to focus on improving our process little by little.
In this presentation I introduce a tool for strategic planning; Impact Mapping (http://impactmapping.org).
This is one of the best tools I've used to help us produce great, well communicated and easily understood strategic plans, by involving everyone needed to execute the plan.
This presentation is a continuation of my presentations about Mission, Vision and Strategic plans, but this time it's much more hands-on and practical.
This is part of a introduction level series of presentation I did for the Health Foundation of Salvation Army in Indonesia.
This is on strategic plans.
You can watch it here: https://www.youtube.com/watch?v=5Ibno8_CN9U
This is part of a introduction level series of presentation I did for the Health Foundation of Salvation Army in Indonesia.
This is on vision statements
You can watch it here: https://www.youtube.com/watch?v=dc0zvNymNcM
This is part of a introduction level series of presentation I did for the Health Foundation of Salvation Army in Indonesia.
This is on mission statements
You can watch it here: https://www.youtube.com/watch?v=MkLhlJyfpsw
Impact mapping is a powerful visual technique to make sure that you are building the right thing; making a big impact with our efforts. I’ve found it very enlightening and powerful.
In my consultancy, I’ve come to realise that most clients/teams I’ve coach don’t care too much about the theories - they just want to work.
This presentation, therefore, takes a standpoint in the practical parts.I will also mimic my experience with most teams I’ve introduced kanban too, and do the introduction in small iterations.This means that the presentation also is a template for anyone that will need to introduce kanban to others.
This is another game that I have had great fun playing and also thought me an my clients a great deal. I use it as staple for all my intros to Lean and agile.
The goal of the game is to move 20 coins through a series of process step (aka players). Each player flips the coins once before it can be passed over.
The game shows very effectively how limiting the work in process (WIP) increases the throughput and improves lead times, both for the first coin and the total time for all 20 coins.
If you move through the game slides quickly a nice little animation effect takes place. Watching that actually gave me a new understanding of what Flow means. Compare the first and last iterations and see the coins flow through the process, each step creating value.
If you like this presentation you will find more like this in Kanban In Action (http://bit.ly/theKanbanBook) where we have dedicated a whole chapter on agile games.
This is a little simulation that I have run numerous times. It shows in a very direct and apparent way that the less things we do at the same time, the faster each thing runs. In other words: Limit you WIP!
I like this exercise since it can be run by a single person or by many (64 is my record) and still get the message across.
This presentation is a simulation of the simulation, so if you click through the slides fast you get a little animation feature as well as timing.
If
These are the slides for my SpecFlow presentation. This particular version was given as part of my "I'm telling you for the last time"-series (see http://www.marcusoft.net/2013/11/ImTellingYou.html).
These are the slides for my Specification by example presentation. This particular version was given as part of my "I'm telling you for the last time"-series (see http://www.marcusoft.net/2013/11/ImTellingYou.html).
These are the slides for my Kanban In Action presentation. This particular version was given as part of my "I'm telling you for the last time"-series (see http://www.marcusoft.net/2013/11/ImTellingYou.html).
The presentation was recorded and can be found here: http://www.youtube.com/watch?v=ufCa1VlItLA
Be sure to check out mine and Joakim Sundens book on Kanban (http://bit.ly/theKanbanBook)
Unveiling the Secrets How Does Generative AI Work.pdfSam H
At its core, generative artificial intelligence relies on the concept of generative models, which serve as engines that churn out entirely new data resembling their training data. It is like a sculptor who has studied so many forms found in nature and then uses this knowledge to create sculptures from his imagination that have never been seen before anywhere else. If taken to cyberspace, gans work almost the same way.
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...BBPMedia1
Marvin neemt je in deze presentatie mee in de voordelen van non-endemic advertising op retail media netwerken. Hij brengt ook de uitdagingen in beeld die de markt op dit moment heeft op het gebied van retail media voor niet-leveranciers.
Retail media wordt gezien als het nieuwe advertising-medium en ook mediabureaus richten massaal retail media-afdelingen op. Merken die niet in de betreffende winkel liggen staan ook nog niet in de rij om op de retail media netwerken te adverteren. Marvin belicht de uitdagingen die er zijn om echt aansluiting te vinden op die markt van non-endemic advertising.
Discover the innovative and creative projects that highlight my journey throu...dylandmeas
Discover the innovative and creative projects that highlight my journey through Full Sail University. Below, you’ll find a collection of my work showcasing my skills and expertise in digital marketing, event planning, and media production.
Explore our most comprehensive guide on lookback analysis at SafePaaS, covering access governance and how it can transform modern ERP audits. Browse now!
What are the main advantages of using HR recruiter services.pdfHumanResourceDimensi1
HR recruiter services offer top talents to companies according to their specific needs. They handle all recruitment tasks from job posting to onboarding and help companies concentrate on their business growth. With their expertise and years of experience, they streamline the hiring process and save time and resources for the company.
Cracking the Workplace Discipline Code Main.pptxWorkforce Group
Cultivating and maintaining discipline within teams is a critical differentiator for successful organisations.
Forward-thinking leaders and business managers understand the impact that discipline has on organisational success. A disciplined workforce operates with clarity, focus, and a shared understanding of expectations, ultimately driving better results, optimising productivity, and facilitating seamless collaboration.
Although discipline is not a one-size-fits-all approach, it can help create a work environment that encourages personal growth and accountability rather than solely relying on punitive measures.
In this deck, you will learn the significance of workplace discipline for organisational success. You’ll also learn
• Four (4) workplace discipline methods you should consider
• The best and most practical approach to implementing workplace discipline.
• Three (3) key tips to maintain a disciplined workplace.
RMD24 | Retail media: hoe zet je dit in als je geen AH of Unilever bent? Heid...BBPMedia1
Grote partijen zijn al een tijdje onderweg met retail media. Ondertussen worden in dit domein ook de kansen zichtbaar voor andere spelers in de markt. Maar met die kansen ontstaan ook vragen: Zelf retail media worden of erop adverteren? In welke fase van de funnel past het en hoe integreer je het in een mediaplan? Wat is nu precies het verschil met marketplaces en Programmatic ads? In dit half uur beslechten we de dilemma's en krijg je antwoorden op wanneer het voor jou tijd is om de volgende stap te zetten.
Improving profitability for small businessBen Wann
In this comprehensive presentation, we will explore strategies and practical tips for enhancing profitability in small businesses. Tailored to meet the unique challenges faced by small enterprises, this session covers various aspects that directly impact the bottom line. Attendees will learn how to optimize operational efficiency, manage expenses, and increase revenue through innovative marketing and customer engagement techniques.
Premium MEAN Stack Development Solutions for Modern BusinessesSynapseIndia
Stay ahead of the curve with our premium MEAN Stack Development Solutions. Our expert developers utilize MongoDB, Express.js, AngularJS, and Node.js to create modern and responsive web applications. Trust us for cutting-edge solutions that drive your business growth and success.
Know more: https://www.synapseindia.com/technology/mean-stack-development-company.html
63. Practical exercise
• Indepentent
• Negotiable
In order to [benefit]
• Valuable to users or
As a [role]
customers
I want [feature]
• Estimable
• Small
• Testable
64. Gathering
user stories
http://3.bp.blogspot.com/-_j18vwcNcuY/Tk-WDYlM3II/AAAAAAAABso/jsN6So-YJbQ/s1600/Easter%2Begg%2Bhunt.jpg
65. User story mapping
http://www.agileproductdesign.com/presentations/user_story_mapping/index.html
104. Scenario 1: Account is in credit
Given the account is in credit
And the card is valid
And the dispenser contains cash
When the customer requests €50
Then
ensure the account is debited €50
And ensure €40 is dispensed
And ensure the card is returned
105. Scenario 2: Card annulled
Given that the card is annulled
When the Account holder requests
€50
Then the dispenser should keep
the card
And the dispenser should tell the
user that the card is annulled
User stories - what’s the first that falls into your mind when you hear the word?\n\nFor me it was fairy tales told by an user... \n\nAnd then I realized that it was requirements... but small? \n\n
Some people says: “Requirements as one sentence”\n\nThat’s nice - short documents is better than long ones right?\n\nBut you could write; “The application should work”\nAnd that’s a bit unclear now isn’t it?\n\n
My name is Marcus Hammarberg\n
I work at Avega Group as a contractor doing agile / lean coaching with focus on system development\n\n
I have 1 wife\n\n
2 hobbies\n\n
and 3 kids\n\n
I’ve been a programmer ...\n\n\n
since 1998, mainly on the Microsoft stack\n\n
During the last 8 years I’ve taken more and more interest in how you can work effectively together with system development\n\n\n
using agile methods such as Scrum or Kanban\n
Michael Cohn is the name of the man who has written the reference work around user stories - user stories applied. It’s still a very good read and current. \n\nThis presentation is based on that book but I’ve added my own experiences from using techniques such as BDD and Specification By example\n\n
The book describes an user story as:\na promise of a conversation we will have\nSomething we will take more about\n\n\n\n
And further:\nA written descriptions that is used for planning and estimation\n\nA little text that we can use to plan and estimate how much work we have ahead of us\n\n
Through conversations we find out the details around the user story\n
One way to document those conversations is as tests or acceptance criteria\n\nIf you are to write test for a function you HAVE to know what it’s all about. In great detail. \n\nSo in effect we’re making sure that we understand the story in the same way. \n\n\n
One important aspect of an user story is that it’s describing something that gives an end user some value from the feature that the story describes. \n\nIt’s not a description on HOW to build the system. \n\nBut rather WHAT the user wants.\n\n\n
One important aspect of an user story is that it’s describing something that gives an end user some value from the feature that the story describes. \n\nIt’s not a description on HOW to build the system. \n\nBut rather WHAT the user wants.\n\n\n
You could go so far as to say that an user story is not a requirement. \n\nOften you document the business rules and requirements in other ways.\n\nUser stories is just a way to split up a requirement in smaller parts to be handled in iterative incremental delivery\n\n
But why is user stories so well spread and loved in the agile community?\nWhy do we want to write small requirements?\n\n
It’s a common thing that developers (me included) thinks that we get the requirements too late, but in most cases they are actually written to early.\n\n
Requirements have best-before-date. They rot if the lie around for too long, right?\n\nIf you write a requirment today and leave it, what are the odds that you can just pick it up and code away on it a year from now?\n\nSlim, huh? Things change\n\n
So by writing small, parts of requirements we give ourselves possiblities to decided later. To change course, take another road later. \n\nWe don’t have to write all the details up front - we can defer the specification of those until we really need them. \n\nJust imagine us writing a big specification with all the details and then find that it was down-prioritized against something else. Waste - in it’s purest form. \n
Ok so an user story should be short. \n\nBut what is enough. When have I written enough?\n\n
An initial good tips is to write it on a small paper, like a stickie. \nWith an ordinary pen. \n\nThat limits the physical space that you have to your disposal. \n\nBut sadly it still gives you the possiblity to write: “The system should work!”\n\n
Ett annat bra tips är att börja prata om acceptanskriterier. \n\nDå skapar man sig en förväntan om hur “stor” user storyn är. \n\nMan skriver ner ett par saker som måste fungera för att anse att man är klar. \n\nHey - då börjar vi redan tänka på hur det ska testas också vilket alltid är bra att få med tidigt. Jag återkommer till detta\n
To help with that there is a template for user story that I recommend:\n\nAs a [role]\nI want [feature]\nSo that [benefit]\n\nThis help you to focus and still write short\n\nThere’s a part in this that I love:\n“So that [benefit]”\nI never read that in a use case. Even 40-pages ones :)\n\nThis is the reason for us to do this story. If there isn’t a reason for it (or a bad one) then we probably could use our time better somewhere else.\n\n
In fact some people thinks that it’s so important that they put the reason of the story at the top of the template. \n\nThis is why we do this, right?\n\n
Here’s an example\n
And here another\n
Ok.. Ok... But WAT?! \nWAT is it that will be so great by using user stories then?\n\n
First and foremost it will “force” us to communicate.\n\nWhen we talk face-to-face we communicate so much more information than we do in written words. \n\nThink about why we created smileys for example - because irony and jokes is easily mis-interpretted\n\nBesides that we create a dynamic and learning from each other, we feel as being part of the process. \n\n\n
An User story is easy to understand. \n\nEven a non-techie understands them.\nEven a techie understands them. \nEven our customers might understand, for all I know.\n\nThat said - you should require some domain knowledge. Every concept need not to be explained from the ground up on every user story. \n\n
An User story is small. \n\nTo get to the right size we need to “break” bigger requirements into these smaller slices of that requirements. \n\nAnd when we do that activity we learn about the details of the requirement. \n\nSo - what’s the right size... \nWell not too big, not to small... Right sized - quite simply\n\n
Using user stories gives us small items that is perfectly suitable for iterative development where a small increment of a complete function is delivered\n\nAn user story underlines the fact that there is an user benefitting from the function, so we want each increment to add to that. \n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
In the same manner you want to deliver a whole function, although not a complete function. A small slice of the system if you want. \n\nLike this: [CLICK]\n\nAnd not like this: [CLICK]\n\nOr this: [CLICK]\n\n
Earlier we learned that an user story is a “promise of a conversation we will have”. It’s not the complete requirement. \n\nWe will talk it out. Later. And then we will get all the details needed for this user story. \n\nThis is well-aligned with how agile methods looks on requirements. Do it Just-in-Time instead of creating a stock of specifications, just-in-case, that just run the risk of getting old. \n\n
Check out rolling wave planning and you see what I mean. \n\nStuff that is far from being developed can be big rocks that we haven’t started to break down yet. It’s ok - we don’t need to know more about it right now. \n\nBut as you get closer to manufacturing (the shore) you’ll need to clear out the details enough to understand what you are building. \n\n
No - they don’t. \nNeither do you. \nNobody does - to get there you’ll need to cooperate. And communication. \n\n
Ok - stop the bullshit!\nHow do I write a great story?\n\n\n
Firstly; the work is not just cracking you fingers and write the stories out. \n\nRather is more about breaking a big feature down to a more appropriate size. A size that can be handled by our team in 2 weeks for example.\n\nSo if you have a big story like “Customer want to see all their engagement with us” you need to break it down to, for example:\n“As a bank customer I want to see my banking accounts on the overview in order to get a quick look on my economical state”\n“As a insurance customer I want to see my insurances on the overview in order to get a great overview of my insurance situation”\n“...”\n“...”\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
There’s a wellknown acronym that tells us to INVEST in our user stories\n\nIndependent - this means that each story should be independent from others, as far as possible. Since we will use them to prioritize and estimate we want to be able to change the order of them, without having chains of stories coming along with it. \n\nNegotiable - this is not the requirements, just a reminder that we will talk it more later. The exact content will be discussed later. \n\nValuable - each story should give an user (or customer) value. The users doesn’t care if we use MVC or WebForms. That’s not content suitable for a story. Describe it in terms of value for our customers.\n\nEstimable - the story must be written so that you can estimate it’s size. You need to understand it enough for example. If it’s too big you need to break it down. Story points can be useful here - more on that later. \n\nSmall - an user story should be in the “right” size. Small but not too small. What’s the value for an user to edit the first name? Prefer small but not too small. \n\nTestable - how do we know when we are done? You need to be able to answer the question: “When are you done?”Write the acceptance criteria on the flip side of the sticky for example.\n\n
One way to break an user story down is to write different stories for different roles that uses the system. \n\nThe same functionality can be viewed differently by different roles for example.\n\n
If you start from a clean sheet it can be a good idea to start from the goal. \n\nWhat is it the user wants to achieve? Why are they using the feature?\n\nStart by writing down the “So that”-part\n\n\n
Slice up big stories to smaller. But make slices all through the system. \n\n\n\n\n
And before anybody even thinks it ...\nIt CAN be done. Your requirements too... \n\n\nTry to be creative in how you slice the story but do a complete slice of the system in each slice... \n
Try to avoid to describe processes or flows that never ends. \n“As a banking customer I want to control my account to see in and output”\n\nBetter is to write “closed” stories that is a snapshot or have a start and an end\n“As a banking customer I want to see my account status to know what have happened”\n\n
If there’s any special limitations for this story then write it as you discuss them. \n\n\n
Avoid to describe the graphical user interface\n\nThe user doesn’t want to pick from a drop down list - he want to pick a product\nThe user doesn’t want to sort a table - he want to sort the listing of accounts\n\nBy writing in terms of the GUI (or any other technical component such as database tables) we lock down our solution and loses the possibilities to discuss outside the technical group of the team.\n\n
Skriv för en användare och använd den användarens rollnamn. \n\n\n
Skriv “En användare kan söka bland sina konton” inte \n\n“En sökning kan ske bland kontona”\n
All these recommendations is actually summarized to a great deal in this simple template\n\n
Let’s try this. \n\nTake a function some well known service you use, like a internet bank.\n“Pay bills” for example\n\nDivide in groups of 3-5 people and try to break that down using user stories, to a size that can be implemented within 2 weeks. \nWhich activities is needed to pay bills?\n\nTake 15 minutes\n\nThen we meet again and compare and learn from each other. \n
Here are some support for the exercise \n
So, in a way, you could argue that the stories is out there...\n\nThe problem is that they are spread out in the head of many different people. Some parts of it will not show until you have talked for awhile\n\nSo gathering them could prove quite tricky. \n\nHere is a few alternatives.\n\n
One way is to use a technique called user story mapping. \n\nThis topic is a complete talk (at least) for itself, but very simply you set up a timeline for the big activities that an user can perform in your system. \n\nUnderneath you can flesh out the details in more and more advanced manner. \n\nSo for a system like Outlook (tm) you’ll have a top level row like: \nWrite Mail, Read Mail, Create invitation, manage calender etc. \n\nUnderneath each of them you’ll have details in those steps. For Write Mail:\nWrite simple textbased mail\nWrite HTML mail\nGet adresses from contacts \nAdd attachments\n...\n\nSo you get both the overview and the details on the same view. You can “zoom in” on the details when needed and “zoom out” to the overview when that’s needed.\n\n
To harvest the minds of many the best way is to write (or at least generate ideas) in workshops. Using the divide and merge technique we tried before for example. \n\n\n
If you have a hard time getting the whole project in the same room you should at least make sure that the core competences is gathered. \n\nThis will make sure that other aspects than you own will be considered which probably is good thing. \n\n
To be able to give an good estimate of how long time something will take us to create we need to know a lot about it’s details. What’s included?\n\nAnd you don’t. Never have. Never will.\n\nSo estimating in agile context is all around relativity. Something that humans actually is much better at than exact numbers. \n\n
So give me a guess - how big is this?\n\nHard huh? \n
Let’s try something easier...\n\nWhich is the bigger one?\nHow much bigger is the big one than the small one?\n\nMuch easier, right? \nAnd it turns out that humans are much better on estimating relativity than exact meassurements. \n\n“If you get a bad answer - ask a simpler question” - David J Andersson\n\n
To estimate the size of work in agile project we compare user stories against each other. \n\nWe set a set of points on them that really doesn’t have a meaning; called story points. The great thing about story point is that they represent how the team has percieved the size of the story. \n\nFor one team a story point can equal 1 days work, for another 1 weeks work and a third an hour. Really cannot compare the teams estimates against eachother\n\nAnd that is not important either - it’s the relativity that is! \n\nAll we know is that a story of 2 points is smaller than one of 3. And a story of 5 points is roughly double the work of the story of 3 points. \n\n
One of the problem with story points is that they can mean just whatever. Yeah, that’s right, the very thing I just told you were great with them. \n\nSo you cannot compare team against each other. But it’s easy to fall into that trap and start drawing conclusions from those comparisons.\n\nSo this had led a lot of team to ditch story points and instead talk about T-shirt size. Small Medium Large. \n\nThis concept holds some of the uncertainty and relativity that we need. \n\nThey are not exact and hence are hard to draw... Where story points is good. You have to chose. \n\n\n
One way of estimating as a group is using planning poker. \n\nSo pick a feature to discuss.\nThen pick a card, don’t show it to anyone. \nOn a given signal - show it to each other. \nIf you all have the same card - you have come to an agreement. \nIf not - discuss why you think different numbers and then do the exercise again\n\nThe special cards is:\n? - I have no clue\ncoffecup - my brain is fried. Give me coffee and a break before we continue\n
So the aim of planning poker is to discuss, as it is with many thing. \n\nThe actual number doesn’t matter too much - but the discussion does. This is where you clear you misconceptions and differences and clarify the feature enough to reach consensus. \n
When did a customer call you up and thanked you for the great estimates? \n
We can use user stories to plan how much we will be able to complete during a period of time. \n\nWhen we plan in an agile context we are balancing 3 things against each other:\nTime \nResources\nFeatures\n\n\n
Yeah right - for got one thing... \nQuality. But usually we don’t cut back on quality because that is very costly in the form of rework. \n\nAll these cannot be locked and unchangeable. \nOften we lock 3 of these:\nTime - let’s timebox and decide on when we shall be done\nResources - we often know who are in the team (and to what percentage)\nQuality - as above - let’s do the best quality we can\n\nAnd that just leaves functionality, right? Let’s vary that.\n\n\n
It’s now we’re happy that we have broken down our user stories into smaller parts so that they are in the “right” size for planning. \n\nBecause we can now lay all small user stories in a long row, in prioritized bussiness value and just take on as much as we will manage in the next sprint/iteration. \n\nThis is how I plan:\n\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
1 - When do we want to be done?\n\n2 - Who are in the team? How much are we availble to the project?\n\n3 - Given those constraints... How much can we then manage during the next sprint?\n\nThis is called time boxing. Decide when you shall be done and let the features vary based on that. \n\n\nThis works best if you have a prioritized list to start from and those items are in the “right” size...\n\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
And with this in place we can now create a chart that shows us and everybody interested how far we have come and how much we have left. \n\nThis is called a burn down chart\n\nEach day when we meet we can update it and ... \n[CLICK] [CLICK] [CLICK] ... \n\nand show our progress.\n\n[CLICK]\nAnd draw the the trend at the same time. \n\nWe can see how we are doing against an ideal state (black line)\n
Have you ever heard a tester saying that they want to take part in the process earlier? \n\nI have and I think it’s superimportant. \n\nIf you want to move fast with small increment of the finished product then a steady focus on testing is going to be critical from the get go. \n\nBad quality will only boomerang on us and come back that the worst possible time. \n\n
When is a story done?\n[AUDIENCE]\n\n\nMichael Feathers; “This done thing scares me - code is in production or not!”\n\nWhen is something done in your sprints?\n\n
At my current client we have adopted a acronym that help us know when something is done. \n\nIt’s spells KLART in Swedish which means DONE. \nBut i’ve translated it here. \n\nCoded - the code is written and checked in\nDelivered - delivered to the right testing environment. Preferable a production like one\nAccepted - the team and the product owner is happy with the functionality\nDocumented - business rules, test cases and use cases is updated\nTested - the feature is tested enough for us feeling secure to release it to production without further testing of it’s details (some integration testing might be needed) \n\nIt’s not perfect. It need to be talked about a bit. But it’s a good start.\n\n\n
At my current client we have adopted a acronym that help us know when something is done. \n\nIt’s spells KLART in Swedish which means DONE. \nBut i’ve translated it here. \n\nCoded - the code is written and checked in\nDelivered - delivered to the right testing environment. Preferable a production like one\nAccepted - the team and the product owner is happy with the functionality\nDocumented - business rules, test cases and use cases is updated\nTested - the feature is tested enough for us feeling secure to release it to production without further testing of it’s details (some integration testing might be needed) \n\nIt’s not perfect. It need to be talked about a bit. But it’s a good start.\n\n\n
At my current client we have adopted a acronym that help us know when something is done. \n\nIt’s spells KLART in Swedish which means DONE. \nBut i’ve translated it here. \n\nCoded - the code is written and checked in\nDelivered - delivered to the right testing environment. Preferable a production like one\nAccepted - the team and the product owner is happy with the functionality\nDocumented - business rules, test cases and use cases is updated\nTested - the feature is tested enough for us feeling secure to release it to production without further testing of it’s details (some integration testing might be needed) \n\nIt’s not perfect. It need to be talked about a bit. But it’s a good start.\n\n\n
At my current client we have adopted a acronym that help us know when something is done. \n\nIt’s spells KLART in Swedish which means DONE. \nBut i’ve translated it here. \n\nCoded - the code is written and checked in\nDelivered - delivered to the right testing environment. Preferable a production like one\nAccepted - the team and the product owner is happy with the functionality\nDocumented - business rules, test cases and use cases is updated\nTested - the feature is tested enough for us feeling secure to release it to production without further testing of it’s details (some integration testing might be needed) \n\nIt’s not perfect. It need to be talked about a bit. But it’s a good start.\n\n\n
At my current client we have adopted a acronym that help us know when something is done. \n\nIt’s spells KLART in Swedish which means DONE. \nBut i’ve translated it here. \n\nCoded - the code is written and checked in\nDelivered - delivered to the right testing environment. Preferable a production like one\nAccepted - the team and the product owner is happy with the functionality\nDocumented - business rules, test cases and use cases is updated\nTested - the feature is tested enough for us feeling secure to release it to production without further testing of it’s details (some integration testing might be needed) \n\nIt’s not perfect. It need to be talked about a bit. But it’s a good start.\n\n\n
\n
To write tests or at least the acceptance criteria before you start developing a feature is a great way to verify that we have understood the same thing. \n\nAnd we get our definition of done in the process\n\n\n
To better understand each other we give examples. Imagine how hard it would be to describe how to tie a windsor tie. It’s much easier with a picture that is an example on how to do it.\n\nA good way to write test cases is to write so called Scenarios. \n\nExamples on how to use the feature. \n\n\n\n
One way to do this is give an example in form of a scenario, to clarify the story and to state our common knowledge\n\nThese sceanarios can be written in the template Given / When / Then (or translated into any of the nearly 40 supported languages)\n\n
One way to do this is give an example in form of a scenario, to clarify the story and to state our common knowledge\n\nThese sceanarios can be written in the template Given / When / Then (or translated into any of the nearly 40 supported languages)\n\n
One way to do this is give an example in form of a scenario, to clarify the story and to state our common knowledge\n\nThese sceanarios can be written in the template Given / When / Then (or translated into any of the nearly 40 supported languages)\n\n
One way to do this is give an example in form of a scenario, to clarify the story and to state our common knowledge\n\nThese sceanarios can be written in the template Given / When / Then (or translated into any of the nearly 40 supported languages)\n\n
One way to do this is give an example in form of a scenario, to clarify the story and to state our common knowledge\n\nThese sceanarios can be written in the template Given / When / Then (or translated into any of the nearly 40 supported languages)\n\n
Ta en av era stories från tidigare. \n\nSkriv ner 2 scenarion (ett där det går bra och ett där det går dåligt) genom att använda mallen från tidigare (Givet - När - Så). \n\nSamma grupper. \n\n10 min\nSen jämför\n
An user story is small written description of something that we will talk more about. Later. \n\nThey are the building blocks in an agile project where you want to delivery value iterative and incremental.\n\nThey are excellent for planning and testing separately \n\n
Please provide me with some feedback. \n\n[Here I usually do a retrospective-like exercise]\n\n
Thanks a bunch\n
Thanks a bunch\n
And so it’s over... Everything went black :)\n