Learn how to plan, prioritise and deliver higher value features by thinking of deliverable features not in terms of what they cost, but of what they can deliver. XScale is a set of practices based on BDD that enables a product team to efficiently define, budget and prioritise a roadmap or backlog. It’s also a way to answer some questions Agile has traditionally avoided: - How much will a set of features cost? - How do we trade off different feature sets? - How do we know a feature is ready to ship? In this workshop, we outline several key practices and practice using a few of them. The main practices we cover include: - Feature Points, a way to reconcile budgets with story points - Backlog Bingo determines the dollar investment and relative return for a set of products and services - Royal Cod applies Backlog Bingo to prioritize a Breadth-First Roadmap - Release Refactoring enables product owners to make rational trade-offs between feature-sets.
The document describes scenarios for withdrawing cash from an ATM. It includes scenarios where the account has sufficient funds and the withdrawal is successful, where the ATM has insufficient funds, where the account has insufficient funds, for an invalid PIN, and when the card has been disabled.
This document discusses test-driven development (TDD) and behavior-driven development (BDD). It notes that TDD is a design strategy that helps write better-designed, more confident, and easily changeable code that accurately meets user requirements. It also incidentally builds up automated tests. The document then discusses various Java 8 features like lambda expressions, streams, and date/time APIs that are useful for BDD and improving test code quality and maintainability. It advocates for layering acceptance tests from business rules and flows to page interactions and details. It provides examples of using streams and parallel streams to more optimally query pages in tests.
The document outlines the steps in software development using Behavior Driven Development and Specification by Example. It shows stakeholders defining objectives and requirements, developers designing/coding and writing tests, testers writing test plans and testing the application, which is then deployed. It discusses sources of errors at each step from misunderstandings between roles. Examples are provided of writing scenarios in a Given/When/Then format to define features and test cases.
A story of one organisation taking an idea, formed by Antony Marcano and evolved by many, to solve some of the challenges that encountered with the growth of Selenium/WebDriver PageObjects in their Automated Tests. Talk co-presented with two of the people who have been a part of the journey – including Kostas Mamalis & Jan Molak.
Having conversations with domain experts and using examples to gain a shared understanding of the desired behavior and discover unknowns. BDD involves domain experts, testers, and developers having conversations using examples to illustrate and specify behavior. This helps discover gaps and issues to improve understanding between stakeholders.
ehaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones the client actually needs. • Learn what BDD is, and what it is not • Understand that the core of BDD is around conversation and requirements discovery, not around tools. • Understand the difference and similarities between BDD at the requirements level, and BDD at the coding level. Learn what BDD tools exist for different platforms, and when to use them. This is a variation on the talk I gave at Agile Australia, that I delivered at the Sydney Agile meetup on July 15 2014.
Une introduction au Behavior Driven Development, avec plein d'idées pour tout de suite! et applicable à tout projet. Il sera question: * de passer de l'incompréhension à savoir qu'on ne sait pas * des westerns spaghetti aux Three Amigos, * de reléguer le Comment au second plan pour laisser sa place au Pourquoi! * de rendre des spécifications exécutables * de découvrir qu'un concombre n'est pas qu'un Cucurbitacée aux feuilles tri-lobées * d'automatisation comme outil de non-regression Au cours de cette session, nous expliquerons ce qu'est le BDD. Nous verrons qu'il n'est pas question d'outils ou de tests, mais de collaboration et de discussion entre les différentes parties prenantes: du métier aux développeurs en passant par les testeurs. Cette presentation s'adresse à l'ensemble de ces populations en expliquant l'importance qu'il y a à se comprendre, et qu'il n'est pas nécessaire d'avoir des outils sophistiqués pour avoir des bénéfices immédiats. Nous verrons quelques pratiques de discussion qui permettent d'arriver à une meilleure compréhension et à une description du besoin. Nous verrons aussi comment des exemples concrets permettent de s'assurer d'une compréhension commune et comment ils permettent de construire un langage unique et non ambigu. Nous verrons comment rendre ces spécifications executables en réutilisant les exemples construits précédemment et en les automatisant. Ceux-ci viendront renforcer les tests d'acceptance et devenir des tests de non regressions. Enfin, nous verrons que cette démarche nous permettra d'avoir une documentation vivante et toujours à jour de notre système. Idées pour tout de suite Communication, Clarification par des Exemples concrets, Spécifications exécutables
Behaviour Driven Development is an increasingly popular Agile practice that turns testing on its head, and involves a major shift in the role testers play in a project. Although popularly associated with automated acceptance testing and tools like Cucumber, BDD actually has much broader applications. In this talk, we will look at how Behaviour Driven Development radically changes the traditional tester role in Agile projects, and empowers them to tangibly contribute much more to the successful outcomes of the project. We will see how collaboratively discussing and defining acceptance criteria help reduce assumptions and errors in the early phases of the project, and help ensure that the features being built are well understood, testable, and valuable to the business. We will look at ways to write more effective, easier to maintain automated acceptance criteria, that free testers to do more productive testing tasks such as exploratory testing. And we will see how automated and manual acceptance test reporting can be combined to provide valuable progress, product documentation and release preparation reporting.
The document discusses moving beyond traditional page object models for testing dynamic web applications. It proposes modeling the UI with smaller "page components" that use method chaining and return types to better reflect the user experience. It also suggests using a component factory and locators to simplify test code and address issues like synchronization. The goal is to make tests more readable, reusable and robust as applications become more interactive.
A detailed look at how to do automated testing with Serenity - BDD. A practical case study is included.
Behaviour-Driven Development (BDD) is a game changer for the whole team! More than just a testing technique, BDD is both a collaboration and a verification tool, and a vital step on the road to Continuous Delivery. In this session, you will learn what BDD is about, its benefits, and how it affects development teams and processes. But you will also see BDD techniques applied to a real project using tools like JBehave, Cucumber, Selenium 2, Thucydides and more! - Learn how BDD helps teams focus on discovering and delivering the features that really matter! - Learn what it takes to write more relevant and more maintainable automated acceptance tests - Discover how a well-designed set of automated acceptance criteria can also be a powerful documentation and reporting tool. - See where BDD fits into a Continuous Delivery pipeline. - And learn how product owners use BDD and Thucydides to drive, coordinate and document releases. Learn how much more there is to BDD than just “Given..When..Then”!
Behaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones that the client actually needs. In this talk, we will discuss what BDD is about, its benefits, and how it affects teams and processes. We will discuss two case studies where BDD practices have been successfully introduced, including the benefits gained and challenges met. We will see how much benefit was gained when BDD was integrated into the broader development infrastructure, including issue tracking systems, requirements management, and project reporting. We will also see how BDD can be applied to all levels of the development process, from requirements down to low-level coding. We will also look at the principle BDD tools available that can help teams implement executable specifications, BDD-style test automation, and living documentation effectively. Some of the tools discussed will include JBehave, Cucumber, Specflow, Jasmine and Spock. We will also look at two case studies where BDD practices have been successfully integrated into several projects in large government and financial organizations. Teams that adopted BDD effectively benefited from significantly lower defect rates, much earlier discovery of errors and inconsistencies in the requirements, and better overall communication and collaboration within the team. However, practicing BDD does involve a significant change in mind-set compared to more traditional approaches, a different collaboration model between team members, and a high degree of stakeholder by-in and engagement, all of which should not be underestimated. We will discuss how the teams managed these various challenges during their BDD adoption story.
The document discusses best practices for writing software that matters through techniques like behavior-driven development (BDD). It compares test-driven development (TDD) to BDD, noting that BDD shifts the focus from verification to specification by describing desired behaviors. The document also provides examples of how to structure user stories and define scenarios using a given-when-then format to plan development around customer needs.
Polymer is the latest web framework out of Google. Designed completely around the emerging Web Components standards, it has the lofty goal of making it easy to build apps based on these low level primitives. Along with Polymer comes a new set of Elements (buttons, dialog boxes and such) based on the ideas of "Material Design". These technologies together make it easy to build responsive, componentized "Single Page" web applications that work for browsers on PCs or mobile devices. But what about the backend, and how do we make these apps secure? In this talk Scott Deeg will take you through an introduction to Polmyer and its related technologies, and then through the build out of a full blown cloud based app with a secure, ReSTful backend based on Spring ReST, Spring Cloud, and Spring Security and using Thymeleaf for backend rendering jobs. At the end he will show the principles applied in a tool he's currently building. The talk will be mainly code walk through and demo, and assumes familiarity with Java/Spring and JavaScript.
Presentation from YaC 2012 (October 2012) in Moscow, Selenium Camp 2012 in Kiev (February 2012) about new tool for acceptance testing that has great integration with WebDriver and allows creating clear tests with great reporting.
It's nice to work on Green Fields projects. But most of us aren't that lucky! Most organisations have large legacy code bases to maintain. And the legacy applications, ugly as they are, are often what generates the revenue! But legacy code bases are not easy to work with. Adding new features, or even fixing bugs, is slow and fraught with danger. Unexpected regressions are commonplace. Long testing cycles is the norm. In this talk we will look at some strategies that can enable you to add new features to legacy systems faster and more reliably. We will examine where the hold-ups typically are, and what We will learn how to write cost-effective automated regression tests suites, and how to use unit testing as a way to document your legacy code base for future work, and improve its quality along the way!
The document discusses using behavior driven development (BDD) to write better test scenarios. It provides an example of a scenario that tests whether a Confluence server is accessible. The author questions whether this scenario truly qualifies as BDD or is instead just a technical test. The discussion covers differences between BDD and technical testing, as well as considerations around using Cucumber for technical tests versus unit tests. The author emphasizes being pragmatic and ensuring scenarios will be read and understood by their intended audience.
An overview of how to use Innovation Games® to collaboratively identify and prioritize technical debt.
- The document discusses using Innovation Games® to identify and prioritize technical debt or "cruft" in software systems. It describes two games, Speed Boat and Buy a Feature, that can help development teams visualize and prioritize areas of technical debt. - Speed Boat allows teams to identify and shape anchors representing areas of cruft into potential projects. Buy a Feature then helps teams prioritize those projects by bidding on them with a limited budget. - The games are designed to be collaborative, fun competitions that generate rich discussions to help teams reach consensus on technical debt priorities. Regular gameplay can help address debt and keep systems maintainable.
Presentation on Innovation Games ™ - What are Innovation Games and for what you can use them... Questions over questions... ;-) Here you get the answers!
The document discusses segment tracking for live streaming. It introduces segment tracking and the three main event types: track, identify, and page. Common semantic events are proposed for web conferencing, including session started/ended, user engaged, stream enabled/disabled, and user joined/left. Examples are given for how to implement these semantic events in segment tracking. The goal is to establish a standard set of events and properties to generate useful analytics data across tools for live streaming and web conferencing.
Michael Tarnowski from Plays-In-Business.com gave a presentation of a Teaser Event on Innovation Games™ for the Xing User Group Agile Rhein-Main (https://www.xing.com/net/pria952a0x/agilerheinmain/). What are Innovation Games and for what you can use them... Questions over questions... Here you get the answers!
This marketing plan summarizes Rate My Game, a startup that allows gamers and developers to collaborate. It provides 3 sentences on the strategic focus and plan, value proposition, and competitive analysis. The strategic focus is to create a place for gamers to critique games in development and help developers. The value lies in early feedback for developers and sneak peeks for gamers. While there is no direct competition, similar sites include those that offer casual/social games or game rentals, but Rate My Game focuses on higher quality games for serious gamers.
An overview of how to leverage the online Innovation Game Buy a Feature. You can play Buy a Feature at www.innovationgames.com.
The document discusses the process of developing a video game from concept to market, outlining the key stages including concept, prototype, development, tuning and debugging, release, and post-launch support. It provides questions to consider and pitfalls to avoid at each stage, emphasizing the importance of gameplay testing, documentation, and ongoing community management.
Innovation games are a set of facilitated games used to engage participants in creative problem solving and strategic thinking. Some key types are idea engine games that use visual collaboration, and decision engine games that use virtual currency. Innovation games provide goals, rules, feedback and voluntary participation to generate ideas. They have been used by many organizations for purposes like product development, retrospectives, and budget planning.
This document provides an overview of key economic and business concepts related to the video game industry, including: - It defines common economic terms like costs, revenue, and profit. - It explains concepts like man-hours, goods and services, markets, and value. - It discusses different types of capital (financial and personal), discretionary income, and how businesses re-invest profits. - It covers risks associated with different investments and industries like video games, as well as the golden rule of risk. - Finally, it examines relationships between laborers/owners, challenges video game developers face, and Sturgeon's Law which states that 90% of creative works are not very good.
Delivered at Casual Connect USA 2017. How three AAA Developers Plan To Disrupt the F2P Mobile Market For Indie Devs: We aim to disrupt the mobile market by creating games that look and feel like they had a much longer development cycle than our self-imposed 8 weeks. To achieve these goals, we need to compact everything in a much shorter period. Discover our milestones, creative, monetization, QA and localization strategies, each necessary to achieve these results.
Essential Guide to game content development for those who think they have a great game idea, but don't know what to begin with. The Guide covers: pre-production - idea development, plot overview, how to staff your game development team and schedule game production, production - game development stages, insights from real-life game development cases
The document discusses prioritizing a product backlog for profit. It recommends considering three core groups when prioritizing: stakeholder alignment, strategic alignment, and driving profit. For stakeholder alignment, the backlog should include at least one item for each stakeholder group. For strategic alignment, it should include at least one item that aligns with the company's strategy. And to drive profit, it should include at least one item that generates revenue or reduces costs. The document provides various techniques for involving stakeholders, determining strategic priorities, and identifying profit drivers to create a holistically prioritized backlog.
The document discusses gamification, which is applying game mechanics and structures to traditionally non-game activities. It provides examples of gamification used in websites like Farmville, Nike+, and HealthMonth to encourage user engagement and behavior through rewards, leaderboards, and competition. However, some argue gamification can be exploitative if the game elements are only superficial and not central to the user experience. True gamification makes play an essential part of interacting with the system and helps users become better players over time.
This document discusses how changes in the video game industry could benefit women. Specifically: 1) Traditional game publisher business models are changing as digital distribution and new revenue models like subscriptions become more common. This reduces publisher control and opens opportunities for smaller, more flexible development teams. 2) The transition away from large publisher-controlled development toward more entrepreneurial and independent models could lower barriers to entry for women in the industry by allowing for smaller teams and reduced development risks. 3) More flexible development approaches may help address the traditional lack of gender diversity in game development by providing alternatives to the large-scale studio environment that has historically presented barriers for women.
An introduction to Product management and Data Analytics and advice how to start your career in these areas. Sahil Gupta and Thomas Hulvershorn talking to Students at Abertay University in Dundee / Scotland
This is they keynote I gave at the SG09 conference. My message of empowered innovation was well received!
Backend in a box called brainCloud is a cloud-based backend platform that provides pre-built features for game developers to build multiplayer, social, and free-to-play mobile games across platforms without having to develop their own backend systems. It offers APIs for cloud data storage, multiplayer functionality, achievements, leaderboards, monetization through in-app purchases and promotions, and notifications. Developers can also extend its functionality through custom cloud code.
The document discusses 5 steps to ignite revenue in free-to-play mobile games without advertising: 1) go cross-platform, 2) enable cross-play, 3) add social competition, 4) reduce cheating and theft, and 5) grow and retain most valuable players. It then introduces brainCloud, a cloud-based backend that provides tools to implement these steps and jumpstart building popular free-to-play games across platforms and engines. brainCloud offers features like multiplayer, cloud data, leaderboards and in-app purchases with affordable usage-based pricing.