Introduction to TDD (Test Driven Development): Lessons from Loan Delivery application

schedule Oct 15th 02:00 PM - 02:45 PM place Auditorium people 13 Interested

Test-driven development (TDD) is a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and iterative manner. Both the literature and practice suggest that TDD practice yields several benefits. Essentially, it is claimed that TDD leads to an improved software design, which has a dramatic impact on the maintainability and further development of the system.” (Reference: ieee.org)

Fannie Mae, a government sponsored entity (GSE), is in the fourth year of it’s agile transformation. Teams use an Agile Maturity Matrix as a roadmap for optimizing their agile capabilities as well as technical engineering practices.

As long-standing teams, we have a long track record of trying to incorporate persistent TDD practices with varying degrees of success. But it was only after the LDNG teams collectively matured their agile mindset and focused on optimization, implementation of TDD took flight.

Past year, 4 teams comprising the Loan Delivery Next Gen were recognized for being the first teams in organization to complete highest agile maturity model’s category, hallmarks for which include: Feature level BDD, Test first mindset & All layers of testing are automated and executed on every check-in.

  • Do you want a real world example of implementing TDD in a large program?
  • Are you unable to grapple with the challenges of TDD? Is TDD frustrating you?
  • What are some misconceptions about implementing TDD?
  • How do you get a good ROI (Return On Investment) by developing TDD capability?
  • By the way what’s the big deal about TDD? Is it really helping or just another hype??

This talk is intended for the technical members on a cross-functional team (responsible for the “how” who are faced with implementing TDD) as well as well as Scrum Masters and Product Owners who are interested in understanding the benefits of TDD and why they should be advocating for / insuring there is capacity to develop and mature these practices as part of the team’s work. Unlike most TDD training sessions, this focuses on the subtleties and challenges of implementing TDD in a pragmatic manner that address everyday concerns of a large organization.

Join us to get answers to all these questions based on our real world experience as well as see a live intuitive demo.

While we are not experts in this field (at least not yet), we will share our journey and practical learnings. How does that sound?

Our presentation shares experience of Loan Delivery teams. We will share our journey in adopting TDD along with moving away from testers in team, to training developers with test-first mindset. We will also cover misconceptions and touch a little on testing techniques for developers. We would like to cover the non-technical blind spots that most TDD trainings might miss, based on our real world experience.

Also in the spirit of Agile, we will present practical real-time example of TDD in action that addresses a number of concerns, but mainly how to re-factor code using TDD. We will use personal laptop to demonstrate a loan calculator example.

 
5 favorite thumb_down thumb_up 2 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

30-35 minute presentation along with a demo.

10 minutes Q/A

Learning Outcome

More pragmatic ways to grapple and find solutions to implementing TDD in your organization.

Test first mindset.

Target Audience

Developers, Scrum Masters, Testers, Software Managers / Directors

schedule Submitted 4 months ago

Comments Subscribe to Comments

comment Comment on this Submission
  • George Dinwiddie
    By George Dinwiddie  ~  3 months ago
    reply Reply

    Who are you presenting this to, and what do you expect them to learn? Can you write your abstract to address them and their needs/desires with that benefit?

    The abstract is the place where you sell your session to the right prospective attendees. Help them recognize themselves and their situation, and tell them what benefits they'll get by attending. Give them enough information about the content to convince them that they'll get that benefit.

    What is the content of your presentation? What is the demo? Why are 4 people needed to present this?

    The outline/structure is the place where you sell your session to the reviewers. Help them recognize that you'll deliver on your abstract. Give them details about the content and the way that you'll present it to convince them that you'll do a good job.

    See also https://threadreaderapp.com/thread/1028714041349263360.html for an independent description of submitting a successful proposal.

    - George, AgileDC Program Chair

     

    • RUSHABH SHAH
      By RUSHABH SHAH  ~  3 months ago
      reply Reply

      Hi George,

      Thank you for your feedback… we’ve modified the abstract, addressing some of your points below, specifically:

      Who are you presenting this to, and what do you expect them to learn?

      This talk is intended for the technical members on a cross-functional team (responsible for the “how” who are faced with implementing TDD) as well as well as Scrum Masters and Product Owners who are interested in understanding the benefits of TDD and why they should be advocating for / insuring there is capacity to develop and mature these practices as part of the team’s work. Unlike most TDD training sessions, this focuses on the subtleties and challenges of implementing TDD in a pragmatic manner that address everyday concerns of a large organization.

      Can you write your abstract to address them and their needs/desires with that benefit?

      Sharing lessons learned from our teams’ journey adopting TDD, Technical team members who are new to TDD will how to establish a beach-head for learning TDD, the incremental steps we took toward maturing our TDD capabilities, as well as the pitfalls we encountered along the way (that could have been avoided if only we had known ahead of time).  We will share how our Definition of Ready and Definition of Done changed to harden our TDD practices and how our Scrum Masters helped to clear impediments that otherwise slowed us down. Finally, we’ll discuss how we had to educate our Product Owners on the benefits of TDD and the value they would derive by allocating capacity to developing and maturing TDD practices / engineering capability in lieu of User Stories.

      The abstract is the place where you sell your session to the right prospective attendees. Help them recognize themselves and their situation, and tell them what benefits they'll get by attending. Give them enough information about the content to convince them that they'll get that benefit.

      What is the content of your presentation?

      Our presentation shares experience of Loan Delivery teams. We will share our journey in adopting TDD along with moving away from testers in team, to training developers with test-first mindset. We will also cover misconceptions and touch a little on testing techniques for developers. We would like to cover the non-technical blind spots that most TDD trainings might miss, based on our real world experience.

      What is the demo?

      In the spirit of Agile, we will present practical real-time example of TDD in action that addresses a number of concerns, but mainly how to re-factor code using TDD. We will use personal laptop to demonstrate a loan calculator example.

      Why are 4 people needed to present this?

      Each of the presenters represents a different team supporting the LDNG program.  And, like Velocity re which teams are not comparative, each of the Team’s journey implementing TDD was unique, despite sharing a common foundation / approach from which we started.  The additional perspectives makes our talk more well-rounded as well as being more relatable to a broader conference demographic.


  • Liked Cherie Silas
    keyboard_arrow_down

    Cherie Silas - Power Coaching – Pushing the Boundaries to build better teams

    45 Mins
    Talk
    Intermediate

    Elevator Pitch

    Sometimes teams need more than just questions. They need scrum masters and coaches who are courageous enough to have the hard conversations, challenge their decisions, push them to the next level. During this session we will introduce participants to some anti-patterns that have arisen in the scrum master and agile coaching communities and discuss ways to break free!

    Description:

    Coaching Agile Teams is all about asking questions and allowing them to self organize, right? Well, that's just part of the mission. During this session we will introduce participants to some anti-patterns that have arisen in the scrum master and agile coaching communities and discuss ways to break free!

    Sometimes teams need more than just questions. They need scrum masters and coaches who are courageous enough to have the hard conversations, challenge their decisions, push them to the next level. However, sometimes we push our teams a bit too hard and create negative conflict. It's times like this when we need to demonstrate how to reach out and make the first move to repair the relationship. We will introduce the concept of repair bids to help in this area.

    Lastly, we learn a model to put into practice to create a coaching alliance with teams so you can be in agreement on how you will work together for their best interest and improvement over a period of time.

    The reason we chose to create this session is that over the past few years we have noticed that as people are learning more about coaching they are getting out of balance and believing that the only thing that coaches are allowed to do is ask questions. We've noticed that scrum masters lean so far in the direction of self organization that they no longer believe they can challenge teams to grow or to move beyond where the team decides to be. We believe that the root of the problem rests in the fact that people are learning a bit about coaching but not actually learning how to be a coach. We would like to introduce to the attendees the more direct coaching methods that are available for use such as 1) direct communication, 2) challenging, 3) courageous questions that push the edge of the comfort zone, etc.

    Session is collaborative and includes interaction with the participants throughout. Also has collaborative exercises.

  • Liked Pete Oliver-Krueger
    keyboard_arrow_down

    Pete Oliver-Krueger - eWSJF - Using Real-World Lean Startup, Emotions, and MVPs in Product & Portfolio Decision Making

    10 Mins
    Lightning Talk
    Executive

    Are you “going Agile” but your executives are still asking you for Gantt charts and delivery dates? Here’s an exercise to do with them instead. Usually, they just want to know when to check back on “the project”, and whether or not their money is being well invested.

    To answer the last question, many teams have discovered the “Weighted, Shortest Job First (WSJF)” method of project prioritization. Basically, if you have two items of equal effort, but one has twice the return on investment (ROI) of the other, do the one with greater ROI. And if you have two items of equal ROI, but one can be done in half the time, do the shortest job first. But that’s not enough. We all know of projects that had great promise, but customers wouldn’t pay for it.

    Lean Startup has discovered that emotions are one of the best leading indicators (predictors) of future product success. Emotional-WSJF (eWSJF) balances customer demand with Minimum Viable Products (MVPs), i.e. "this only has true business value if we can deliver within 2-3 sprints."

    I use eWSJF within my teams to prioritize Epics, and I’ll show you how to use it to keep your executives happy! It replaces the conversations about “Show me a Gantt chart,” and “When will this be delivered?” My executives instead ask, “Have you talked to any customers?” or “Can you build it faster?” To which my teams respond, “Yes we have talked to customers, and they’re even helping us beta test it!” and, “The next version will be delivered in two weeks, and here’s what it contains.”

  • 45 Mins
    Workshop
    Beginner

    “The single biggest failure of leadership is to treat adaptive challenges like technical problems.” -Ron Heifetz

    We live and work in an increasingly interconnected and rapidly changing world. New business models are shifting duties to teams instead of individuals, which means people are now working more closely together. It also means leaders at all levels have to begin to adapt their leadership style to guide the intricacies of human dynamics and channel the collective knowledge of the groups they interact with.

    In this workshop we will explore how leaders create environments that navigate the complexity of interpersonal relationships, overcome the human element of barriers to change, and support the growth and engagement of their employees. Attendees will walk out of the room with a clearer idea of their own leadership style and a list of action items they can use (tomorrow!) to move their teams one step closer to higher performance.

  • Liked Arlen Bankston
    keyboard_arrow_down

    Arlen Bankston - Performance Management in the Age of Agility

    Arlen Bankston
    Arlen Bankston
    Founder
    LitheSpeed
    schedule 5 months ago
    Sold Out!
    45 Mins
    Workshop
    Intermediate

    Agility is about adaptation, challenging the status quo, experimentation and learning. HR has historically hewed closer to compliance, but that has been changing rapidly.

    Today's nimble teams and workers will no longer tolerate stifling, staid environments and management practices. The newly popular label "people operations" implies an emphasis on human engagement over bureaucracy and regulation, and indeed many organizations have been moving this way.

    Be inspired by some of the most daring advances in human resources while also learning some practical approaches and techniques that can be applied to start leading your business down this path. We'll discuss new approaches in hiring, performance management, learning and development, and even the structure of HR groups and roles. Participants will also enjoy a few exercises that will illustrate some interesting techniques.

    Prepare yourself for HR in the next generation.

  • Liked Bob Duffy
    keyboard_arrow_down

    Bob Duffy - Fannie Mae's SDLC Journey from Waterfall to Agile

    Bob Duffy
    Bob Duffy
    Internal Controls Tech
    Fannie Mae
    schedule 5 months ago
    Sold Out!
    10 Mins
    Lightning Talk
    Intermediate

    A well-defined Software Development Life Cycle (SDLC) is a requirement for many government institutions. However, the typical SDLC process is very "Waterfallish" by nature of it's phase gates and documentation requirements. This talk will explain how the SDLC at Fannie Mae has evolved as the company has transformed from a Waterfall to a lean Agile organization in alignment with Agile best practices.

  • Liked Phillip Manketo
    keyboard_arrow_down

    Phillip Manketo - Energize you Communities of Practice (this session was withdrawn)

    45 Mins
    Workshop
    Intermediate

    (this session was withdrawn)