Marty Cagan Popular Books

Marty Cagan Biography & Facts

In software development and product management, a user story is an informal, natural language description of features of a software system. They are written from the perspective of an end user or user of a system, and may be recorded on index cards, Post-it notes, or digitally in specific management software. Depending on the product, user stories may be written by different stakeholders like client, user, manager, or development team. User stories are a type of boundary object. They facilitate sensemaking and communication; and may help software teams document their understanding of the system and its context. History 1997: Kent Beck introduces user stories at the Chrysler C3 project in Detroit. 1998: Alistair Cockburn visited the C3 project and coined the phrase "A user story is a promise for a conversation." 1999: Kent Beck published the first edition of the book Extreme Programming Explained, introducing Extreme Programming (XP), and the usage of user stories in the planning game. 2001: Ron Jeffries proposed a "Three Cs" formula for user story creation: The Card (or often a post-it note) is a tangible physical token to hold the concepts; The Conversation is between the stakeholders (customers, users, developers, testers, etc.). It is verbal and often supplemented by documentation; The Confirmation ensures that the objectives of the conversation have been reached. 2001: The XP team at Connextra in London devised the user story format and shared examples with others. 2004: Mike Cohn generalized the principles of user stories beyond the usage of cards in his book User Stories Applied: For Agile Software Development that is now considered the standard reference for the topic according to Martin Fowler. Cohn names Rachel Davies as the inventor of user stories. While Davies was a team member at Connextra she credits the team as a whole with the invention. 2014: After a first article in 2005 and a blog post in 2008, in 2014 Jeff Patton published the user-story mapping technique, which intends to improve with a systematic approach the identification of user stories and to structure the stories to give better visibility to their interdependence. Principle User stories are written by or for users or customers to influence the functionality of the system being developed. In some teams, the product manager (or product owner in Scrum), is primarily responsible for formulating user stories and organizing them into a product backlog. In other teams, anyone can write a user story. User stories can be developed through discussion with stakeholders, based on personas or are simply made up. Common templates User stories may follow one of several formats or templates. The most common is the Connextra template, stated below. Mike Cohn suggested the "so that" clause is optional although still often helpful. Chris Matts suggested that "hunting the value" was the first step in successfully delivering software, and proposed this alternative: Another template based on the Five Ws specifies: A template that's commonly used to improve security is called the "Evil User Story" or "Abuse User Story" and is used as a way to think like a hacker in order to consider scenarios that might occur in a cyber-attack. These stories are written from the perspective of an attacker attempting to compromise or damage the application, rather the typical personae found in a user story: Examples Screening quiz (epic story) As the HR manager, I want to create a screening quiz so that I can understand whether I want to send possible recruits to the functional manager. Quiz recall As a manager, I want to browse my existing quizzes so I can recall what I have in place and figure out if I can just reuse or update an existing quiz for the position I need now. Limited backup As a user, I can indicate folders not to back up so that my backup drive is not filled up with things I do not need to be saved. Usage A central part of many agile development methodologies, such as in extreme programming's planning game, user stories describe what may be built in the software product. User stories are prioritized by the customer (or the product owner in Scrum) to indicate which are most important for the system and will be broken down into tasks and estimated by the developers. One way of estimating is via a Fibonacci scale. When user stories are about to be implemented, the developers should have the possibility to talk to the customer about it. The short stories may be difficult to interpret, may require some background knowledge or the requirements may have changed since the story was written. User stories can be expanded to add detail based on these conversations. This can include notes, attachments and acceptance criteria. Acceptance criteria Mike Cohn defines acceptance criteria as "notes about what the story must do in order for the product owner to accept it as complete." They define the boundaries of a user story and are used to confirm when a story is completed and working as intended. The appropriate amount of information to be included in the acceptance criteria varies by team, program and project. Some may include 'predecessor criteria', "The user has already logged in and has already edited his information once". Some may write the acceptance criteria in typical agile format, Given-When-Then. Others may simply use bullet points taken from original requirements gathered from customers or stakeholders. In order for a story to be considered done or complete, all acceptance criteria must be met. Benefits There is no good evidence that using user stories increases software success or developer productivity. However, user stories facilitate sensemaking without undue problem structuring, which is linked to success. Limitations Limitations of user stories include: Scale-up problem: User stories written on small physical cards are hard to maintain, difficult to scale to large projects and troublesome for geographically distributed teams. Vague, informal and incomplete: User story cards are regarded as conversation starters. Being informal, they are open to many interpretations. Being brief, they do not state all of the details necessary to implement a feature. Stories are therefore inappropriate for reaching formal agreements or writing legal contracts. Lack of non-functional requirements: User stories rarely include performance or non-functional requirement details, so non-functional tests (e.g. response time) may be overlooked. Don't necessarily represent how technology has to be built: Since user stories are often written from the business perspective, once a technical team begins to implement, it may find that technical constraints require effort which may be broader than the scope of an individual story. Sometimes splitting stories into smaller ones can help resolve this. Other times, 'technical-only' stories are most appropriate. These 'technical-only' stories may be challenged by the business stake.... Discover the Marty Cagan popular books. Find the top 100 most popular Marty Cagan books.

Best Seller Marty Cagan Books of 2024