Emergent Design with Test-Driven Development

This workshop shows how Test-Driven Development (TDD) is used to enable emergent design. Using a simple but representative example in Java, the presenter will demonstrate how a low-level design naturally emerges when using the TDD cycle of test/code/refactor. The audience will be involved by suggesting the next steps and also by pairing with the presenter.

Note that the goal of the session isn't necessarily to have a complete working example at the end, but to illustrate the process of low-level design through TDD.

 
7 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

The session will proceed as follows:

  • 10 minutes - Introduction explaining emergent design with TDD and the example problem to solve.
    75 minutes - Interactively building the solution using TDD with assistance from the audience.
    5 minutes - Questions and wrap-up

Learning Outcome

  • Learn what emergent design is
  • Learn how to implement emergent design in small steps
  • Learn the difference between emergent design and designing up front
  • Learn how much design is enough

Target Audience

This session is intended primarily for software developers and architects, though other roles such as testers and business analysts will find value in understanding how emergent design is intended to work.

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • 120 mins
    Workshop
    Beginner

    As a business analyst on an agile team, do you spend your time gathering decisions from product owners and passing them on to development teams? Are you tired of simply being a “proxy without power?” As a product manager, do you feel like you are just collecting stakeholder opinions and filtering them for the team? What can you do to boost your impact to your team?

    Be more than a proxy.

    By definition, a proxy means doing a thing “by the authority to represent someone else.” That job can be important, especially when stakeholders and customers have limited available. But teams need more.

    In this workshop, Diane Zajac-Woodie demonstrates how you can be more than a proxy. Through some experiential exercises, you will learn what impact collaboration has on results and why requirements are just as important as ever. Diane also teaches you how to document requirements so people will actually read them. Using acceptance tests, you will practice writing requirements that describe the exact behaviors that you expect in a format that everyone understands.

    Be inspired to embrace your role in an agile environment and leave with new techniques that ensure that you will be more than a proxy when you head back to work.

  • Liked Richard Cheng
    keyboard_arrow_down

    Situational Retrospectives – One size does not fit all

    Richard Cheng
    Richard Cheng
    Principal
    Excella Consulting
    schedule 1 year ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

     

    Situation A: Your team is great. You’ve met all your sprint goals and your Product Owner is pleased with the results to date. Yeah!

     

    Situation B: Your team sucked. Zero story points completed last sprint. Team members are complaining and blaming each other for the failures.

     

    These two situations demand two very different retrospectives. The right retrospective can make a good team great and turn a bad situation into a learning opportunity. A bad retrospective can set a team back and create a non-safe working environment.

     

    In this session, attendees will explorer retrospectives techniques and examine the pros and cons of the techniques. The workshop will then explore scenarios and examine how to effectively run retrospectives across a variety of scenarios.

     

    Coming out of this sessions, attendees will have an understanding of applying the right retrospectives based on the state and needs of the team and projects.

     

  • Liked Amber King
    keyboard_arrow_down

    Make The Right Changes & Make Changes Right Through Process Co-creation

    45 mins
    Talk
    Beginner

    In the agile community, we celebrate failure as well as success. On our journey to plan @ scale, the Agile Program Management team at Opower had a lot of early failures, but then we started succeeding. How? By not only listening to our stakeholders, but co-creating solutions with them. In this talk, I focus on how process co-creation is helping Opower scale. I’ll describe a specific case study, then we’ll try co-creation together. By the end of this talk, you’ll have specific tips and techniques on how to successfully co-create solutions with your teams that you can take back and use with them tomorrow.

  • 45 mins
    Talk
    Intermediate

    You probably started your Agile journey with Scrum, which helped. But regression testing still takes forever. New feature tests aren't what they could be and are hard to complete within the Sprint.

    If you have active product owners, the POs helped to improve your product, but there is still a disconnect, between the user story and the tests.  And how do you test "as a, I want, so that"?

    Now you hear you need Agile technical practices to keep improving and you find you need to automate. What are you going to do with your testers?  They really, really know your business, but they don't code.

    If you are a manager, a tester or a product owner, come hear Camille as she shares her experience successfully teaching manual testers Automated Test Driven Development and showing product owners how to write great Acceptance Criteria that are easy to automate.

    In this session you will learn:

    • How to get your product owners, testers and developers to understand each other
    • How to make your business scenarios unambiguous and testable
    • How to avoid brittle tests that need frequent rewriting
    • Which tools and languages are better for testers to learn and why
    • Strategies and techniques for testers to learn test automation
    • Where to find inexpensive and free resources to get started
  • Jason Tice
    Jason Tice
    Agile Coach
    Asynchrony
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Are you overwhelmed and/or confused as to which metrics can reveal insights to make fact-based decisions to properly manage your agile software development portfolio.  Join us for a the story of a journey, where we will use the metaphor of “going on a road trip” to explain and demonstrate simple yet effective metrics for agile portfolio management.  As we go on our road trip, we’ll highlight the importance of defining and then using quantitative “roll-up” metrics to enable leadership to make informed strategic decisions without slowing delivery team activities while at the same time providing a foundation for team self-management and autonomy.  We’ll use the road-trip metaphor to depict the challenges that teams and organizations encounter attempting to manage their portfolio without effective portfolio metrics defined.  Think about what driving on a road trip would be like if your car didn’t have a check-engine light or a gas gauge, sound risky???  The good news is: it doesn’t have to be that way, and believe it or not, if you have measurements at the team level creating actionable portfolio-metrics is easier than you think.  As we recommend simple portfolio-level metrics to guide our road trip, we’ll define them, share how to interpret them, discuss the insights they provide, and offer guidance on how to gather or aggregate them from team execution data.  We will also touch on why and how the use of an easy to understand metaphor has aided significantly in creating and sustaining engagement amongst stakeholders for portfolio inception and governance activities.  Participants will leave having learned how to successfully navigate their next enterprise-wide initiative using quantitative data to promote alignment, maximize return on investment, foster engagement and reduce risk - everyone attending will receive a printed guide (worksheet) summarizing recommended metrics for agile portfolio management discussed.

  • 45 mins
    Talk
    Intermediate

    Are you struggling to implement Agile at your company?  What could be better than to learn from someone who has done it wrong over and over! We want to share our experiences pioneering Agile at a FinTech company.  After multiple attempts and through sheer stubbornness, we were we able to get it right and improve our release pace by 650% annually.  We will walk through where we went wrong, what we did right, and why we now understand that Agile cannot be successful without profound collaboration, Continuous Delivery, a DevOps culture and a desire to continuously improve.

  • Liked Steve Ropa
    keyboard_arrow_down

    DevOps is a Technical Problem AND a People Problem

    45 mins
    Talk
    Intermediate

    Gerry Weinberg once said of consulting “There is always a problem, and it’s always a people problem.” The world of DevOps is emerging rapidly, and just like the early days of Agile, is still working on refining exactly what DevOps means.  So often, the focus is either on the technical aspects of the various tool, or on the people problem of “bringing Ops into the room”.  But what is the problem that DevOps addresses, and is that problem more of a technical problem, or a people problem?  We will explore this, and look at the possible intersection between the two “problems” and how a DevOps approach can help overcome them.

  • Liked Brandon Raines
    keyboard_arrow_down

    Agile Planning and Estimating Techniques in a Federal World

    Brandon Raines
    Brandon Raines
    Agile Coach
    Shokunin LLC
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Beginner

    The government is seeing the merit of using agile practices to develop software.  However, the fallacy that you can’t estimate projects using agile in the government still exist.  The result is that many projects that want to use Agile begin in a very waterfall way developing the initial plan and are forced to stick to that plan throughout the project despite using sprints throughout the ‘development phase’.  Many falsely believe they are stuck in the tradition of estimating everything in the beginning.  During this presentation, through lecture and based upon real experiences, we will demonstrate techniques for developing a project plan and estimating techniques to satisfy the typical government compliance requirements using Agile practices and principles.  In essence, we will together learn how to build the bridge from the traditional government practices to a brave new world where we can plan, estimate and still inject agility.

  • 45 mins
    Demonstration
    Beginner

    DevOps as a buzzword is gaining traction, but what does it really mean? Managers, non-techies, and developers-new-to-devops will get a guided demo of development automation. See all the cool tools in action - continuous integration, automated testing, cloud deployment, etc. More importantly, we'll walk through what they do, and why that adds value to a project. 

    This talk will...

    • Break down the buzzwords and define some key technical practices in plain english.
    • Uncover the pain that leads teams to seek greater automation.
    • Demonstrate a continuous integration pipeline working in practice via live demo.
    • Diminish the knowledge gap between technical practitioners and managers/analysts/coaches.
    • Level-up the vocabulary of non-technical attendees.
    • Introduce practices to developers who don't yet work in an automated environment.
    • Spark "ah-ha" moments to convert skeptics into DevOps believers!

    By the way, all of the tools in the demo are some combination of free and/or open source. DevOps doesn't have to cost a lot.

  • Liked Donald Patti
    keyboard_arrow_down

    Leaning Up: Eliminating the Seven Wastes in your Agile Shop

    45 mins
    Workshop
    Beginner
    When many of us hear "Lean" we think of Kanban, but it's clearly more than that.  In this session, I'll go beyond the Kanban and explore Lean's seven wastes, defining each one and providing concrete examples.  Then, we'll conduct a "Lean Up" activity to help you ferret out wastes that you can take back and apply in your own Agile shop.
     
  • 45 mins
    Workshop
    Intermediate

    Most scrum teams create effort estimates, often using story points. As a product owner, you also want to have an estimate of the business value of each user story. Business value estimates help you create a more rational backlog and maximize the value the team delivers.

    This workshop explores the art and science of estimating the business value of user stories. Participants will gain an understanding of the essence of business value,
and why it is more complex than just revenue or profit. Then we will then learn a surprisingly simple technique to estimate and quantify business value.

     

  • 45 mins
    Talk
    Intermediate

    Why does the Agile community encourage cross-functional teams?  So many large organizations have naturally organized into system-specific teams.  This is a very common and logical approach.  At scale, though, it creates serious impediments to organizational agility and getting things done.  We'll discuss the roots of that phenomenon, one of our key interests in cross-functional teams, patterns for enabling such a team structure, some failure modes, and how to prevent them.  Please join us!

  • Liked Christy Hermansen
    keyboard_arrow_down

    Inside the GSA – a Case Study of user-centered Agile in a high-profile government agency

    45 mins
    Case Study
    Intermediate

    This unique journey will transport you deep inside the world of the General Services Administration (GSA) Integrated Award Environment (IAE).  You will see how user-centered Agile is transforming the way software applications are engineered, how users' voices have been integrated with large-scale Agile development, and what issues we encountered along the way.

    When Eric Schmidt, former CEO of Google, predicted, "Everything in the future online is going to look like a multiplayer game," perhaps he was envisioning a user community such as ours.  The IAE family of software applications have more than a million users representing federal, state, local, and tribal government organizations; congressional staff; large and small businesses; universities, schools, and hospitals; non-profit organizations; foreign entities; private citizens and others.  Our greatest challenge is the diversity of our user base, resembling a massive multiplayer game in many ways. 

    This case study looks inside a major reengineering effort to migrate 10 legacy applications into an integrated environment while at the same time transitioning from Waterfall to Agile development.  It tells the story of how IAE users have shaped our transformation thus far.  

     

     

  • Liked Dave Nicolette
    keyboard_arrow_down

    Shit Agile Coaches Say

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    "Language does not just describe reality. Language creates the reality it describes." - Desmond Tutu

    The agile community has evolved into a group of highly enthusiastic proponents who bring a high level of excitement to everything they say and do. Agilists speak a strange sort of insider jargon in which plain English words have very unusual, and often counterintuitive meanings.

    They may describe your multi-billion-dollar enterprise as "dysfunctional" and on the verge of "failure." They may suggest your teams "sprint" to get work done, and yet do so at a "sustainable pace." They may tell your management that agile helps teams "go faster" while assuring your teams that agile isn't about "going faster." They may insist that agile is more about culture and mindset than about practices, and then measure your progress in terms of how faithfully you follow a prescribed set of practices.

    There are many more examples of this odd insider jargon, starting with the seminal buzzword itself, "agile." Over the years, the way agilists speak has confused and turned off many who might otherwise have benefited from applying agile values and principles. The presenter will share several stories of the unintended effects of agile-speak, and will invite you to share your own tales of woe and amusement.

     

  • 90 mins
    Workshop
    Intermediate

    More and more organizations have already reached some level of Agility. Some of them reached what we call Stable/Recharge which means they stabilized some structure/process that works for them. They had a couple of months or even years to “digest”/”recharge” and are now waking up hungry for the next level. Others got stuck along the way with some process that frustrates them but they didn’t really know what to do with it and just continued to suffer. These ones typically have a grudge towards agile when we meet them. People in these two groups have some common ground - they have a lot to benefit if they get exposed to some practical tips and tricks from the trenches that can help connect “by the book” agile to the day to day reality in the typical organization.

    In this "Agile Boost Camp" session we will give participants ideas/tips for working through typical boost/reset challenges. These tips/ideas are inspired by working in the trenches with real world organizations.

    Each time this session/workshop runs is different because the workshop runs in an agile form where the participants act as the “Product Owners” choosing and customizing the agenda. The trainer brings in the experience and best practices as well as orchestrates the workshop experience.

    Ready for your Boost?

     

  • Liked Richard Cheng
    keyboard_arrow_down

    Let's all agree to agree - The importance of a Team Charter

    Richard Cheng
    Richard Cheng
    Principal
    Excella Consulting
    schedule 1 year ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

    We've all see Project Charters.  Project Charters usually state the vision, mission, roadmaps, and is hand top down to the teams.  However, how many of us have Team Charters in place.  Team Charters are one of the most powerful tools a team has when it comes to being able to work effectively together.

    This workshop explores the dynamics of creating a team charter, the definition of ready, and the definition of done and how all this works together to create software that is ready for review, to potentially shippable, to released into production.

     

  • 45 mins
    Workshop
    Intermediate
    Your team can be ten times better.
     
    What does that mean? That means your professional team can accomplish 10x more work, do it with 10x more quality, 10x faster, or with 10x less resources. Your family can be 10x happier. Your school can be 10x more effective at helping people learn. Your community group can be 10x better at making life better for the people it serves. Even you yourself can be 10x more effective at getting what you want.
     
    In other words, you can be great. Your team can be great.
     
    Greatness
    Can you say these things about your teams?
    1. My projects are completed effortlessly on schedule and in budget every time.
    2. Every team I’ve ever been on has shared a vision.
    3. In meetings, we only ever do what will get results.
    4. No one blames “management," or anyone else, if they don’t get what they want.
    5. Everybody shares their best ideas right away.
    6. Ideas are immediately unanimously approved, improved, or rejected by the team.
    7. Action on approved ideas begins immediately.
    8. Conflict is always resolved swiftly and productively.
    The Core Protocols are one way to make teams that have these characteristics.
     
    Some of the things you’ll learn:
    • Results-oriented behaviors,
    • How to enter a state of shared vision with a team and stay there,
    • How to create trust on a team
    • How to stay rational and healthy
    • How to make team decisions effectively, and
    • How to move quickly and with high quality towards the team’s goals
  • Liked Brian Sjoberg
    keyboard_arrow_down

    Moving at the Speed of Molasses ... This Might Have Something to do with It!

    Brian Sjoberg
    Brian Sjoberg
    Agile Coach
    Excella Consulting
    schedule 1 year ago
    Sold Out!
    45 mins
    Demonstration
    Beginner

    Are you struggling with delivering a potentially releasable working product every iteration? Ever wonder what one of biggest reasons we have difficulty getting things done at the individual, team and organizational level are? Do you keep doing something even though you know it reduces your productivity and lowers quality? We are going to run an exercise that highlights one of the major culprits that you have all experienced and continue to experience. The exercise will likely ignite a fire that will help you, your team and your organization to become more productive and improve product quality. We will discuss ways to improve this at the individual, team and organization levels.

    Knowing this will help anyone to understand the consequences of not prioritizing and increase their desire to. This will lead to producing faster, higher quality products that should lead to delighted customers.

  • 45 mins
    Talk
    Beginner

    “Agile doesn’t have a brain.” This quote from Bill Scott, ‎VP, Business Engineering and Product Development at PayPal, is provocative for sure, but it highlights the perception that in most organizations Agile is primarily applied as a downstream engineering approach. As such, it isn’t inherently concerned with optimizing product design and user experience, the biggest drivers of customer satisfaction. The feedback cycles that form the basis of Scrum provide verification and validation of stakeholder needs only as they are expressed in the backlog’s user stories. Even if a sufficiently empowered and accessible Product Owner is available, agile methods offer little guidance on how to translate organizational goals and customer needs into the backlog’s content and relative priorities in the first place. As a result, the danger persists that agile teams end up very efficiently building products that implement an incomplete and subjective perception of the wants and needs of both the organization and its customers.

    In this session, we will explore how Lean thinking expands the “inspect and adapt” loops of agile development and helps systematically determine which features and design choices really provide the greatest organizational value. After a brief introduction to Lean concepts, we will discuss how Lean approaches product development as a series of hypotheses about customers’ behavior and value perception and builds on Agile’s rapid iterative delivery of working software to test these assumptions. Finally, we will examine ways to derive testable assumptions from organizational goals, such as the Lean UX Hypothesis Statement template and Gojko Adzic’s Impact Mapping.

  • 45 mins
    Workshop
    Advanced

    The retrospective is one of the most powerful Agile ceremonies. They require you to learn from your experiences and challenge you to continuously improve.

    In this interactive session, you’ll explore retrospectives in depth, including activities to bring out different personality types and patterns for different levels of team maturity.

    ==

    Context:

    Scrum has gifted a few Scrum Ceremonies to the world: Sprint Planning, Daily Standups, Backlog Grooming and the Sprint Retrospective. The Retrospective is one of the most important and the most powerful Ceremony.

    Retrospectives are required to learn from the experience and improve upon. To he ever-growing competition, the Organizations need to learn a lot from their experience and change accordingly (Charles Darwin: Survival of the fittest).

    If it is performed well, it can yield wonderful outcomes to improve anything/everything.

    Over a period of time, the teams start feeling bored about the same Old Retrospective (Glad, Sad or Mad, etc) so a lot of Fun/engagement part needs to be added to the same.

    In the current times, Retrospectives need a rebirth otherwise Retrospectives will die and the Learning curve will die as well!