• MCC Opening Keynote with Scott Hanselman

    Solving Diabetes with an Open Source Artificial Pancreas
    Scott has been a Type 1 diabetic for over 20 years. When he first became diabetic he did what every engineer would do...he wrote an app to solve his problem. Fast forward to 2018 and Scott lives 24 hours a day connected to an open source artificial pancreas. After years of waiting, the diabetes community online creating solutions.

    Scott will go through the history of diabetes online, the components (both hardware and software) needed for an artificial pancreas, and discuss the architectural design of two popular systems (LoopKit and OpenAPS). Plus, you'll see Scott *not die* live presenting as he's been "looping" for over a year!

    Cinema
    Fri 9:00 am - 9:50 am
    • Introductory and overview
    • code
    • mobile
    • visualization
    • node
    • web
    • rest
    • data science
    • machine learning
  • MCA Opening Keynote with Linda Rising

    Renown author Linda Rising will be providing this year's Music City Agile Keynote address.

    A 204/206
    Fri 9:00 am - 9:50 am
    • Introductory and overview
  • Where The Web Is Going

    The web is a strange place with many standards and browser vendors that all have to come together to make something useful. This talk looks at what's next for web technologies including ECMAScript 2016, Service Workers, the Fetch API and HTTP/2. It then looks at how these standards come about and which groups set the direction. We'll discuss how the W3C, WHATWG, ECMA TC39, and IETF work together (or don't) to push the Web forward. You'll leave this talk better prepared for the web of tomorrow.

    Cinema
    Fri 10:10 am - 11:00 am
    • Intermediate
    • web
    • trends
  • Debugging Tips and Tricks with Visual Studio

    Debugging an issue with an application is hard! In this session, we’ll walk through all of the powerful debugging features that Visual Studio provides. We’ll cover how to use breakpoints. Introduce data tips. Show you how you can share your debugging information. Work with the different debugging windows like Locals, Autos, and Watch. Then we’ll look at ways we can follow or step through the code to find issues using the call stack and Intellitrace.

    S 216/220
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • visual studio
    • process improvement
  • A Primer on Functional Programming

    Functional programming languages are gaining in popularity. If you’ve worked in object-oriented languages, you might be baffled at how they work. Maybe hearing the word “recursion” makes you want to scream. Or maybe you’ve just heard the hype and want to know what the hype is about.

    In this talk, we will briefly explain what functional principles are, and go into some examples of how to use them. We will briefly look at some of the functional languages in use today. We'll see some of the concepts they have in common, and the many things that make them distinctive. You'll see how to take these concepts and ideas and apply them to whatever languages you're working with today.

    S 325/327
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • principles
    • functional
    • patterns
    • comparison
  • Configure, Control, and Manage IoT with Mobile

    The internet of things allows for communication with devices through various means (without touch, mouse, keyboard, or a screen). Mobile devices give users a dynamic interactive experience with these devices by communicating over several different wireless protocols or through the cloud. In this presentation, we will see how to use Xamarin to create a cross platform mobile application to control devices of all shapes and sizes. After this presentation, attendees should be able to create a basic mobile application and have that application communicate with peripherals over Bluetooth and the cloud.

    S 363
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • mobile
    • iot
    • cloud
    • xamarin
  • A Developer's Guide To Docker

    It works on my machine. We’ve all heard it. Most of us have said it. It’s been impossible to get around it… until now. Not only can Docker-izing your .NET development environment solve that issue, but it can make it drop-dead simple to onboard new developers, keep a team working forward and allow everyone on the team use their desired tools!
    I will show you how to get Docker set up to use as the run environment for your .NET projects, how to maintain the docker environment, and even how easy it will be to deploy the whole environment to production in a way that you are actually developing in an environment that isn’t just “like” production. It IS the production environment!
    You will learn the basics of Docker, how to use it to develop and how to deploy your “development” environment as the production environment!

    R 308
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • .net
    • docker
  • The Science of Testing

    In the past decade the software development paradigm has shifted to “deliver fast” -- with concomitant frameworks and methodologies to support that emphasis – but without proper consideration of quality. So most teams end up failing fast and hard when development continues beyond a shaky foundation. To bring about positive change, we must improve both our knowledge base and our processes to achieve quality delivery without disturbing the bookkeeper’s project delivery timelines. Lessons learned from a career in research science can be applied to QA, with parallels to industry product quality models. Testing techniques and product delivery processes from research science will aid not just testers but the entire team in delivering quality software. More than just day-to-day team activities and testing tools, the science of testing is about the pursuit of knowledge and understanding for its own sake. Testers should foster their skills in the community with professional development activities. Those in attendance will learn about the successes and failures of applying a scientist’s approach to testing software, from the “publish-or-perish” mindset of science to “deliver fast” in IT.

    A 100
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • testing
  • Secrets of Conflict Resolution

    One of the most challenging aspect of being a leader is dealing with conflict amongst your team. It’s vital to productivity to get the team running like a well-oiled machine, even in the face of adversity. Improving your relationships with your coworkers, clients, and managers and find your way through conflict back to cooperation. This session will provide you with the secrets of effective conflict resolution and how to prevent conflicts from ever starting.

    A 201
    Fri 10:10 am - 11:00 am
    • Introductory and overview
  • From Self Obsession to Self Selection: A Scaled Org's Journey to Value Reorganization

    Self-organizing teams?

    If you've spent any time at all working with agile teams, you've heard that the teams should be self-organizing around the work. In theory, it sounds grand! "Ask the team...let the team decide", but in practice what does it mean? Does it mean they just get to pick the story cards for the sprint, or maybe the project they get to work on for the next ten sprints?

    Or could it mean they can decide what to work on and who to work with all while delivering the most valuable items that the business actually wants?

    Does your organization suffer from too many "Number One Priorities" from different parts of the organization? Everyone believes their thing is the most important and it should be the #1 item. Shoulder taps "Can you just do this one thing real quick or can you slide it into your next sprint?". Which department takes priority? Who's work is more important? What is the true business value of the work the team is tasked with delivering?

    What would it look like to let the teams actually decide? What are the unspoken rules of engagement for a self-selection activity? Come with us to see how one scaled organization, from a large enterprise, went on an 8-month journey of continuous improvement to move from teams organized by systems and processes to a group of teams self-selected and self-organized based on business value..

    A 204/206
    Fri 10:10 am - 11:00 am
    • Introductory and overview
    • whitepaper
    • teams
    • leadership
  • JavaScript Futures—ES2018 and Beyond

    JavaScript keeps on expanding. As adoption of the extensive new features from ES6 has spread and projects have adapted, the language has continued to evolve under the guidance of Ecma TC39. Over the past two years, another handful of constructs entered the ECMAScript specification. And there are nearly two dozen more proposals on the cusp of being added.

    One thing is certain: the JavaScript community is not slowing down! How can we determine when it is “safe” to use a new feature? Investigate the new and proposed features of JavaScript. Understand the TC39 review process. And most of all, become empowered to prepare for what lies ahead.

    Cinema
    Fri 12:40 pm - 1:30 pm
    • Introductory and overview
    • javascript
    • web
    • patterns
  • Building a Blockchain

    Like the cloud nearly a decade ago, blockchain is the newest buzzword appearing everywhere. At the foundation of cryptocurrency implementations like Bitcoin, blockchain technology is also being adopted and used across many industries for anything from mundane record keeping to energy distribution. In this session I will dissect and build a simple blockchain implementation, leaving you with an understanding of the common components and how they are being used in many cryptocurrency implementations today.

    S 216/220
    Fri 12:40 pm - 1:30 pm
    • Intermediate
    • patterns
    • blockchain
  • Learning the Three Types of Microservices

    Microservices is a popular, but vague term. And -- it turns out -- definitions of microservices can vary, depending on what you want them to accomplish and how you want them to communicate with each other. So, just what are the three types of Microservices, what makes them unique, and when do you deploy each of them?

    In this wide-ranging talk, you'll learn the difference between Stateless, Data-Centric, and Aggregator microservice models, how to identify which one you need to build, and the challenges to keeping each of the up and running in a complex distributed system. You'll also learn how to apply Nygaard's Stability Patterns (from his book, "Release It!") to ensure your Microservice components are stable and resilient throughout the software lifecycle.

    Whether you are new to MIcroservices or a veteran, a software developer or enterprise architect, this talk will help you get a handle on how to design and build successful Microservice components for you organization.

    S 325/327
    Fri 12:40 pm - 1:30 pm
    • Intermediate
    • patterns
    • microservices
  • Adaptive User Interfaces with Xamarin.Forms

    Let's take Xamarin.Forms beyond Hello World and explore how to create apps that adapt to your users' devices in the real world. As an app developer, you don't want your apps to just look great in portrait or landscape on a phone, you want to provide a larger display experience option. In this session we will explore how to build an app that spans platforms and device types, giving users a rich experience, regardless of platform or form factor. Stop making ugly one-layout-fits-all UI apps, and start making single code-base apps your users love! Everybody wins!

    S 363
    Fri 12:40 pm - 1:30 pm
    • Intermediate
    • mobile
    • xamarin
    • ux
  • The Great C# Quiz Show

    We all think we know C#, but how well do you REALLY know it? In this fun romp through C#, we'll take a look at some of C#'s hidden underbelly. Esoteric and misunderstood keywords; ways around access modifiers; strange side effects to be exploited. It all here in this mock quiz show where we can all learn from each other. Who knows, there may even be prizes...

    R 308
    Fri 12:40 pm - 1:30 pm
    • Intermediate
    • c#
    • .net
  • Productivity: How to get things done in this digital age

    Pick the kids up after school, pay the electric bill on Friday, reviews for team members are due tomorrow, oh and I have to remember to call a team member back about the question they asked yesterday. These are just a few of the things that run through our heads constantly. While some of us have work tasks that are tracked in kanban boards or Jira or TFS or maybe even pencil and paper, there is so much more we have to keep track of. Ugh-- an email just came in, crap, I have to take a survey now. Ok, I’m back...what was I saying...oh yeah, staying productive... getting things done. It is something many information workers struggle with every day. For many, actually being productive doesn’t come naturally. It didn’t come naturally to me, so I set out on a journey to hack myself and change my habits. In this session, we are going to look at some science, psychology, tools, and methods to help us process, track, and ultimately get more things done at work and in our personal lives. Join me as I lay out my own personal struggles and how I hacked myself into being more productive.

    A 100
    Fri 12:40 pm - 1:30 pm
    • Introductory and overview
    • soft skills
    • personal management
    • process improvement
    • productivity
  • Let Me Tell You A Story: The Power of Storytelling in Agile Coaching

    Picture the last time you were told a great story about change…how did it make you feel? Were you inspired, motivated, or moved to action? As Agile Coaches and change agents we must influence teams to look at the world through a new lens, and storytelling is one of the most powerful tools we have available to help us to do this. During this interactive session you will learn the basic framework to construct a powerful story based on the work of great storytellers including Stephen Denning, Walt Disney, Richard Branson, and Steve Jobs. You will learn about the different types of stories you can tell and which situations are best for each type. You will also have an opportunity to craft and share a story using the storytelling framework learned during the session to help inspire change around a real problem you’re experiencing today. So gather round everyone and let me tell you a story…

    A 201
    Fri 12:40 pm - 1:30 pm
    • Intermediate
    • agile
    • communication
    • coaching
  • Organizational Structure: The Rock On Which Agility Is Built

    Does it seem like you are fighting an uphill battle or have plateaued in your agile journey to become more responsive and adaptive to change? Do you have the right organizational structure in place to support the behaviors you want?

    Agile is not an “IT thing” - it has much more to do with how your organization is structured into teams. Organizations generally focus on behaviors, policies, and tools to help them gain agility but don’t change their environment to support agility.

    As organizations grow and look for ways to scale they need to focus on creating an organizational structure that will nurture agility and enable continuous improvement. This talk focuses on organizational structure that will cultivate and sustain agility.

    A 204/206
    Fri 12:40 pm - 1:30 pm
    • Intermediate
  • Bitcoin and Cryptocurrency: How Does It Work?

    The Internet has enabled a lot of digital substitutions in our lives. Email, Google Maps, iTunes, Netflix, Craigslist, Amazon - all have largely replaced antiquated “real world” systems and businesses that were commonly used only a decade ago. But what about money itself? Bitcoin, and its many offshoots, was created with the vision of being the Internet’s Currency that could be exchanged from one person to another without requiring governments or banks to intermediate. This talk will introduce cryptocurrency, and deep dive into some of the underlying concepts such as transactions and blocks, hashing, mining, proof-of-work, and digital signatures.

    Cinema
    Fri 1:50 pm - 2:40 pm
    • Introductory and overview
  • Expect More: Getting Started with JavaScript Testing

    The importance of testing is consistently proclaimed as invaluable.
    However many developers are doing it wrong or not at all.
    Testing is no simple task and can be daunting for newcomers to start.
    Let's start with the basic of getting a consistent setup and understand of introductory testing.
    Throughout this workshop, lets cover the ins and outs of Jest to test JavaScript functions and React Components.
    Leave with the confidence to battle-harden your projects utilizing tests.

    S 216/220
    Fri 1:50 pm - 2:40 pm
    • Introductory and overview
    • javascript
    • testing
  • Why would you NOT use TypeScript?

    In a world where JavaScript is arguably the most popular tool for building software these days, it seems like it's everywhere now. With node.js, it's on the backend, with Electron it's native on your machine, with React Native, it's native on your phone. There's no doubt that JavaScript is nothing but at least pervasive across so many ecosystems.

    So, the next question I have is, if JavaScript is so popular, then TypeScript by nature of what is is, also should be popular. After all, in case you didn't realize it...

    Any JavaScript you can possibly write which is at least ECMA stage 3 is valid TypeScript.

    This talk will cover some basics of TypeScript, as well as introducing how you can utilize the power of TypeScript with pure JavaScript, as well as with React.

    S 325/327
    Fri 1:50 pm - 2:40 pm
    • Intermediate
    • javascript
    • typescript
  • Get The Boring Stuff Right: A Guide to Keeping up With the Latest Tech

    Technology is a treadmill. Every year, there's a pile of shiny new things to learn. It's impossible to keep up with all of it. You're constantly asking yourself: "Which technology stack is going to keep me employed?"

    As a developer, I love chasing shiny new technologies, but over the years I've learned that making my users happy is way more fulfilling than using the latest technology. After over a decade of building software, I've learned the key to good software is getting the boring stuff right.

    In this talk, you'll learn about why you should spend more time working on evergreen skills. These include skills like creating maintainable code, learning how to learn, and building the right thing. You'll learn what skills have maximum impact and how to improve them. You'll learn how to plan your personal education and make the most of your time. After this talk, you'll be able to sort through the morass of new technologies and make the most of your limited time.

    S 363
    Fri 1:50 pm - 2:40 pm
    • Introductory and overview
    • career
    • trends
  • What's New in C# 7.1

    C# 7.1 brings a lot of features into the language. In this session, I show you all of the new features and when to use them.

    R 308
    Fri 1:50 pm - 2:40 pm
    • Intermediate
    • c#
    • .net
  • DevOps: The Domain Model of Continuous Delivery

    With the publication of the DevOps Handbook (the yellow book), the software industry has an expanded body of knowledge on which practitioners may draw. Many successful software services and software product companies have innovated and shared their breakthroughs. Now, just like at the time of the original Agile Manifesto, it is up to individual teams to adopt and adapt the learnings of others.

    From details of the compilation to automated tests, to database and data store configuration, custom software applications have common building blocks. There is a domain model that has emerged for continuous delivery. The relationships between the abstract types are known. Each team implements this model according to the toolset and language of their software, but the model remains. This session reviews that model in details as well as a reference implementation of it on the Microsoft platform.

    A 100
    Fri 1:50 pm - 2:40 pm
    • Advanced
    • devops
  • Breaking the Social Code: How to be Socially Intelligent at Work

    Is there a gap between your advanced technical skills and your social-emotional intelligence? Are you or your employees experiencing challenges communicating effectively with others, participating as part of a team, managing emotional reactions, or socially connecting at work? Is this impacting your ability to get promoted, retain employees, or establish positive workplace morale or relationships? Do you want to increase your “likeability” factor for your professional growth and overall wellbeing?

    If you answered yes to any of these questions, then this session is for you! For many people, “social” does not come naturally and has to be explicitly taught. In this presentation, you will learn how the social mind works and what the core challenges are of people exhibiting social difficulties. Using case study examples of professionals in the technology industry, you will learn how highly intelligent people can improve their social competencies and emotional management skills in the workplace using evidence-based strategies.

    This session is both for managers who work with people with social communication challenges, as well as for those who experience difficulty navigating the social world first-hand. Participation in this seminar will give you a deeper understanding of the roots of the problem as well as tools and strategies that you can use immediately with your team.

    A 201
    Fri 1:50 pm - 2:40 pm
    • Introductory and overview
  • Basketball, Baseball, Football and Agile Teams

    Imagine you had a team of the best basketball players of the early 21st century. Lebron James, Dwayne Wade, Carmello Anthony, Tim Duncan, Amar’e Stoudemire and Allen Iverson amongst others. How do you think this team would perform in a tournament? There is a general assumption that if you want to get the best performance out of a team you have to hire the best talent available on to that team. We will look at research that shows that in many conditions this can be demonstrably false. We will explore the differences between individual-focused(Baseball) and team-focused(Basketball) activities and the difference individual talent makes. How do we use the lessons we learn from these sports to build better teams? How do these results translate at scale? We will also explore the definition of the label – Superstar. We will look at what Superstar means in terms of American Football and in terms of software teams. We will then talk about how we can redefine a superstar from a team perspective. Come join us as we draw parallels between on-field and in-office teams.

    A 204/206
    Fri 1:50 pm - 2:40 pm
    • Intermediate
    • agile
    • principles
    • teams
    • coaching
  • SOLID JavaScript

    Many .Net and Java developers live by the SOLID principles to make their software designs more understandable, flexible, and maintainable. As more business logic moves to the front end with frameworks like React and Angular, developers often lose touch with these principles and resort to more reactionary code. It doesn’t have to be that way. In this session, you will learn how to apply all five of the SOLID principles to your front-end JavaScript applications.

    Cinema
    Fri 3:00 pm - 3:50 pm
    • Intermediate
    • javascript
    • principles
  • Naming: The Art of Clarity

    As developers we spend much more time reading code than we do writing it. It’s important that our code conveys its meaning clearly, not just to the computer but also to other developers. When our code is full of names like doStuff and temp1 it can be hard to figure out what’s going on. This can cause confusion which leads to bugs and delays.

    In this talk you’ll see concrete examples of how poor naming can cause big problems. We’ll then fix these issues while introducing tips for quick and effective naming. By the end you will have a clear understanding of what makes a good name, and how to improve your own code.

    S 216/220
    Fri 3:00 pm - 3:50 pm
    • Intermediate
    • principles
    • patterns
    • craftsmanship
  • Icons Behaving Badly

    The design behind adding interactivity to an application or website seems trivial; download a free icon collection from sites such as Flaticon, Font Awesome, or iconmonstr, pick an appropriate icon, and add the image to your work. However, should there be more to this process, especially if you are concerned about people understanding how to use what you develop? Learn why the "5-second rule" doesn't apply just to picking food off the floor, how the wrong icon can show cultural insensitivity, why the manner icons are placed in a website or app may be as important as the images themselves, and how to perform icon usability tests. You may be surprised which icons users find to be generally instantly recognizable as to what functions they relate, and which others not so much.

    S 325/327
    Fri 3:00 pm - 3:50 pm
    • Introductory and overview
    • ux
    • graphics
  • Versioning APIs with ASP.NET Core

    Building an API with ASP.NET MVC in .NET Core is only half the job. If you’re API is going to live more than one release cycle, you’re going to need to version it. In this talk by Shawn Wildermuth, he’ll show you how easy it is now to version APIs using functionality built into ASP.NET Core.

    S 363
    Fri 3:00 pm - 3:50 pm
    • Intermediate
    • .net
    • patterns
    • .net core
    • api
  • Real World Microservices in the Serverless Cloud

    Microservices are popular for building enterprise scale cloud native applications. Serverless functions are an ideal approach to implement microservices. Learn how Azure Functions and Logic Apps provide the intersection of events and code that enables developers to focus on business logic while obtaining the benefits of resiliency and scale. All of this is possible without having to manage infrastructure or learn about containers. This session goes hands on to showcase how triggers, bindings, and code come together to quickly build and deploy microservices, with examples rooted in real world implementations.

    R 308
    Fri 3:00 pm - 3:50 pm
    • Intermediate
    • cloud
    • azure
    • microservices
    • serverless
  • Communication - Break down the wall

    Communication between team members can be hard, especially on a newly formed team. It can take time to build trust and relationships to feel comfortable to raise an issue. The ability to effectively communicate with team members is highly essential in an Agile environment. The way we interact, the way we deliver a message all impact how the person on the receiving end will react to the news you are giving. In this session, we will talk about the many ways of effectively communicating with team members. Also, we’ll look at how to communicate across teams, distributed teams and cross-culture communication. Leaving this session, you will have takeaways to start utilizing back in the workspace to start breaking down the wall and start being an effective communicator.

    A 100
    Fri 3:00 pm - 3:50 pm
    • Introductory and overview
  • Business Value Eating Zombies Killed My Agile Transformation

    Companies adopt agile approaches in hopes of realizing business value like a faster speed to market, a more valuable product, or a more engaged workforce. But far too often they do not realize the desired business value. Why does this happen with some regularity? One reason is that companies make choices that limit the business value realized.
    In this session we will review 6 common value eating decisions and discuss not only the impact of those decisions, but suggest some ways to improve or avoid negative impacts. We will then break into small groups to share with each other decisions we have seen in our experience, the business value that was lost, and strategies for getting better outcomes.

    A 201
    Fri 3:00 pm - 3:50 pm
    • Intermediate
    • agile
    • patterns
    • whitepaper
  • Bad Agile Metrics & Where to Find Them

    One of the key values of agile is transparency which is usually done via large visible charts of team metrics in and around the team space. As agile is adopted by large organizations there is usually an effort to standardize metrics and develop organization specific metrics.

    However these new metrics can drive the wrong behavior or measure the wrong thing. We will identify common agile metrics and demonstrate how they should and shouldn't be used. We will also provide guidance on how to 'coach-up' to ensure that metrics are consumed correctly by upper management. Finally, we will also discuss how to identify bad metrics with a few common sense questions.

    A 204/206
    Fri 3:00 pm - 3:50 pm
    • Introductory and overview
    • agile
    • process improvement
    • metrics
  • Neural Networks: Where do I start?!?

    Neural networks have made a massive comeback in the last five years. We went from having a simple multi-layer network in 1975-1995 to Now there are dozens of different architectures, languages, patterns, and problem spaces. Trying to decide where to start learning can feel incredibly daunting. I would like to help with that. I'm going to share with you my experiences from the field about what all the different architecture are from basic to latest and greatest. We'll also see what the different types of problems we can try to solve for (using cows) and how you can get started using them today in your projects.

    Cinema
    Fri 4:10 pm - 5:00 pm
    • Intermediate
    • data
    • principles
    • patterns
    • data science
    • neural networks
  • Entity Framework Core 2 For Mere Mortals

    Writing data access code is tedious and mundane. The simple act of creating the CRUD (Create, Read, Update, Delete) operations doesn't add business value to your application, but it is an absolute necessity. In this session, I show you the core features of EF Core 2 and how it can save you valuable time that is much better spent on providing business value and compelling features into your applications.

    S 216/220
    Fri 4:10 pm - 5:00 pm
    • Intermediate
    • .net
    • .net core
    • entity framework
  • Think Outside the Box: Change Your Mind, Change Your Life

    There is a myth human beings on use 10% of their brains. While this is a myth, it is true a large percentage of people only live up to a small percentage of their potential. Much of the failure to achieve is due to limiting beliefs and unchallenged biases.

    You live in a box. The box protects you from the outside world, but it also limits your potential. False beliefs and biases shape your life, throwing roadblocks on your success. But you have the power to break free from your box and live the life you desire. Are you willing to take that first step? What if you could learn to solve your problems with ease? What if you could live a better life? What if you could live up to your potential? You can! Will you?

    S 325/327
    Fri 4:10 pm - 5:00 pm
    • Introductory and overview
    • personal management
    • career
  • Packaging your world with NuGet

    Whether you are creating an open source library or building core components for your enterprise app, you need to get that functionality into projects that can use it. But creating these resources can often be far easier than consuming them. What you want is a worry free way to distribute and reference them in your project that will let you stay up to date, but allow you to avoid problems like uncontrolled upgrades that may introduce breaking changes or new bugs. NuGet packages to the rescue! We'll also take a look at all the places you can find NuGet (packages aren't just for code any more) and what it takes to create, distribute, and maintain your very own package. When we are done you will be ready to get out there share your package with your team, your enterprise, or even the world.

    S 363
    Fri 4:10 pm - 5:00 pm
    • Introductory and overview
  • The Mindful Developer: The Science of Stress Management

    Does your career as a software developer cause you stress? What are you currently doing to manage the negative health effects of this stress? Software developers are uniquely predisposed to certain stress-related mental-health issues. The key problem is that we evolved to survive in a wilderness context. However, these same survival adaptations are now in direct conflict with our modern high-tech world.

    In this session, we will learn about the behavioral neuroscience of mindfulness practices. We’ll discuss practices like meditation, biofeedback, neurofeedback, and more. In addition, we will learn how we, as software developers, can use these practices to reduce stress, improve our mental health, and increase our focus.

    There will be NO new-age nonsense, mystical mumbo-jumbo, or quantum flapdoodle in this session, only evidence-based science, in plain English.

    R 308
    Fri 4:10 pm - 5:00 pm
    • Introductory and overview
    • soft skills
    • personal management
    • health
  • Give Feedback Fearlessly

    Constructive feedback can be difficult to receive gracefully, but it can also be extremely hard to speak up when we notice a teammate struggling. We don’t want to hurt anyone’s feelings or make things awkward. Come discuss a few different types of feedback, learn techniques for sharing effective feedback with team members, talk through an example scenario, and practice using small group roleplay.

    A 100
    Fri 4:10 pm - 5:00 pm
    • Introductory and overview
  • Get it Right the First Time - The First 90 Days With a New Team

    You've just become the Scrum Master or Coach for a new team. You're not sure yet of the challenges ahead or how you will meet them. You most likely will have three months to show some progress with your new team - or fail.

    This session will provide you with a road map for making the right moves quickly and effectively during this critical phase of your relationship with a new team. Based on the STARS model developed by Michael Watkins in his book "The First 90 Days" for executives in transition, we'll show you how this model can be used to help Scrum Masters and Coaches working with new teams to quickly diagnose the situation to understand its challenges and opportunities, secure early wins to establish credibility and create momentum, and create a productive working relationship with your team.

    A 201
    Fri 4:10 pm - 5:00 pm
    • Advanced
  • Financing Agile Delivery with Forecasts

    Your team’s been trained to deliver new features a short time frame. You’re estimating your work using abstractions like “story points”. The predictability and quality of delivery has clearly improved. However, you still get asked every December to estimate year-long initiatives for annual budgeting. Something doesn’t make sense and you’re having a hard time explaining it to senior leadership.

    Finance departments and PMOs are trying to invest wisely and mitigate risk. They need to understand what projects to fund and which to avoid and looking at big scary numbers. However, they’re still using the same methods they did before by mitigating risk with big plans and committed dates.

    How agile can an organization be when the finance department is still thinking in large-batch fixed cost, scope, and time projects? In this session we’ll talk about how to mitigate financial risk and improve return on investment by working in smaller batches. Join us and learn how you can start forecasting!

    A 204/206
    Fri 4:10 pm - 5:00 pm
    • Advanced
    • agile
    • metrics
  • Node.js Crash Course

    Node.js is a compelling platform that is quickly spreading from startups to the enterprise. Node.js strategically unites developers of all backgrounds through the common language of JavaScript.

    Why should you learn Node.js and where do you start?

    You will come away from this talk with the evidence to support Node.js, and tools you need to be productive. We will walk through a typical workflow of creating and debugging a web application. You will learn how easy it is to deploy, including Microsoft Azure. We'll also look at popular frameworks and modules, and other learning resources to give you the best start.

    Cinema
    Sat 9:00 am - 9:50 am
    • Introductory and overview
    • javascript
    • node
  • The Microservice Manifesto

    Microservices have been a hot-button topic for a few years, but what are they, why would I need them, and how will they help me? The Microservice Manifesto sets out to put forward an opinionated but dogma-free approach to bringing Microservices into your organization regardless of language or technology stack that will help you get products delivered faster, more securely, and error free.

    I've helped fortune 50-500 companies in the US and large organizations all over the globe tackle some of the worlds hardest challenges and get the most out of their software development lifecycle using microservices. So you'll learn the do's and don'ts that will make you more successful with your microservice implementations.

    S 216/220
    Sat 9:00 am - 9:50 am
    • Introductory and overview
  • Develop your Sense of Code Smell

    It has been 18 years since Martin Fowler published “Refactoring” which codified an initial catalog of code smells. But in that time, have our noses been able to sniff them out? What have we done to develop our sense of smell?

    We will do a series of Sparrow Decks to increase our sense of code smell by building the pattern recognition part of our brain. This way we can more easily know if there is something wrong with the code. Remember smelling you have a problem is always the first step.

    (Note: this technique works for non-programmers as well as programmers so even if you’re not a programmer, come and develop your sense of code smell!)

    S 325/327
    Sat 9:00 am - 9:50 am
    • Intermediate
  • Enhancing Web Pages with VueJS: When You Don’t Need a full SPA

    Creating large, monolithic SPAs is all the rage, not all solutions need a single page application. I found that improving parts of my web projects with islands of functionality was better in many cases, but the complexity of Angular and my hatred of .jsx made me yearn for a modern framework that is simple and straightforward. That’s where VueJS came in and saved the day. In this talk I’ll build a simple page using VueJS and then talk about using it is larger projects without having to use bundling and transpilers if you don’t want to.

    S 363
    Sat 9:00 am - 9:50 am
    • Introductory and overview
    • javascript
    • web
  • .NET Standard: Reuse All the Code!

    If you've ever publish a .NET code library for reuse on different types of .NET projects, you're probably already familiar with some of the strategies for doing this on different flavors of the .NET Framework: multiple compiles, portable class libraries (PCLs), etc. Did you know that Microsoft has come up with a new standard that helps you share your libraries easily by targeting a new, virtual .NET Framework called .NET Standard?

    In this session, I'll show you how to write code that compiles once and can be shared across disparate environments--Mono for iOS and Android, Windows, Mac and Linux via .NET Core, and Universal Windows Platform (UWP). It can even be reused on versions of .NET that haven't been invented yet.

    If you want to publish a reusable component, or just need to share code in multiple project, come learn the new and better way to do it with .NET Standard.

    R 308
    Sat 9:00 am - 9:50 am
    • Intermediate
    • .net
    • trends
  • Destroying DevOps Culture Anti-Patterns

    The tech industry aligns with DevOps being a set of practices and culture that an organization uses to deliver operational excellence. DevOps should not be a team, tools, or something you hire a consultant for. In development or operations practices anti-patterns are behaviors that crop up which hinder the best efforts of an organization. Learn to how to identify these DevOps Culture Anti-patterns (like tribal knowledge, silos, etc.), and then attack them in specific ways to resolve these issues.

    * Tribal Knowledge
    * Super Hero Culture
    * Silos
    * Centralized Decision Making
    * Quality at the end of the development process
    * Information Hoarding
    * Manual processes

    How you respond to and learn to change from failures will determine the outcome of your journey. A DevOps journey is just that, a road in which the final state is always reset once you cross the finish line and head towards the new goal.

    A 100
    Sat 9:00 am - 9:50 am
    • Intermediate
    • patterns
    • devops
    • culture
  • Introduction to Product Management & Design Thinking

    My session will provide a detailed overview around Product Management principles. Here is a brief outline of the session:
    - What is Product Management
    - Why is Product Management an important function
    - Understand why Agile is good for PM
    - Learn how Product Managers fit into the overall Agile process
    - Learn about Agile Best Practices for Product Managers
    - Learn how to become an effective Product Manager using Agile
    - What is Design Thinking Process
    - Understand what makes great products
    - What is Design Thinking and why is it important
    - Understand the five stages of Design Thinking Process and how to apply it

    A 201
    Sat 9:00 am - 9:50 am
    • Introductory and overview
  • Introduction to Extreme Programming

    This session will start off by discussing the Agile Manifesto. Then we'll delve into the practices of Extreme Programming (XP). Covering what they are and the issue they are trying to solve. Finally, we'll wrap up with strategies for adopting XP.

    A 204/206
    Sat 9:00 am - 9:50 am
    • Introductory and overview
  • MCD Opening Keynote with Matthew Renze

    Artificial Intelligence: The Future of Software
    Whether you realize it or not, we are currently entering the era of artificial intelligence. AI technologies will radically transform our economy, our society, and our lives. As a result, the software industry is preparing for a major transition as well. However, most developers do not yet possess the skills necessary to remain relevant in our new data-driven economy.

    In this session, we will learn about modern artificial intelligence. We'll learn why it’s important and how it will impact you, your career, and our future. We’ll also learn how a series of modern technologies including The Internet of Things, Big Data, and machine learning are combining to create fully autonomous intelligent systems.

    SLC 132 C
    Sat 9:00 am - 9:50 am
    • Introductory and overview
    • data
    • iot
    • data science
    • machine learning
    • ai
  • Building Progressive Web Apps with React

    Progressive web apps are a happy middle ground between a responsive web app and a native app. They are lightweight apps designed to conform to any device, work offline, and when appropriate, feel like a native app. But all this is made possible with JavaScript frameworks you already know. Come learn how to use your existing React knowledge to build the next generation of web applications.

    Cinema
    Sat 10:10 am - 11:00 am
    • Intermediate
    • javascript
    • web
    • pwa
    • react
  • Python: What’s in it For You

    In recent years, Python has gained incredible popularity. It is one of the most popular languages on Github and Stack Overflow. It’s also a great language for anyone, whether you are a computer scientist or not. And it’s no surprise given the clean, simple and easy to learn syntax along with the widespread application. Python has uses in web, gaming, data science, education and event mobile applications, just to name a few. It’s easier to ask what can Python not do?

    S 216/220
    Sat 10:10 am - 11:00 am
    • Introductory and overview
    • python
  • Build Native Application with JavaScript and Ionic

    Ionic lets you build mobile apps using only JavaScript. The Ionic framework is a free and open source library of mobile-optimized HTML, CSS and JS components along with tools for building highly interactive native and progressive web apps. Built with Sass, optimized for AngularJS.

    In this session, you will see how you can build rich powerful, robust, mobile applications that are clean simple and functional. These applications can use Cordova, PhoneGap to deploy natively or be a modern day web application.

    All you need for this session is to know are HTML, CSS, and JavaScript: the building blocks of the web. You’ll even learn AngularJS as you work with Ionic and this talk.

    S 325/327
    Sat 10:10 am - 11:00 am
    • Introductory and overview
    • javascript
    • angular
    • mobile
    • ionic
  • Yes, You Can Write Angular and React Applications in Visual Studio!

    Are you a .NET developer who prefers to work in the Visual Studio IDE? If so, you are not alone. Many .NET developers have such an affinity with the Visual Studio that, occasionally, they forget that it's just an IDE and not .NET itself. And it's easy to see why, after years of development, tuning, and tweaking, Visual Studio has become the gold standard when it comes to software development IDE's. Everything you need is right there. Except, the development world is continuing to move toward JavaScript-based client-side application frameworks for their web-based applications. And if you think Visual Studio Code is "nice" but you miss the power of Visual Studio, you are not alone. The good news is that you can have your cake and eat it too. That's right; you can build amazing Angular and React application in Visual Studio. In this session, I'll introduce you to the built-in tooling and show you some great plug-ins that will make your development even easier. I'll explain what differences you will see in the code structure Visual Studio uses that the various CLI's, templates, and starter projects for Angular and React use. And by the end of the session, you be ready to start writing the next great Angular or React application, IN Visual Studio!

    S 363
    Sat 10:10 am - 11:00 am
    • Introductory and overview
    • javascript
    • angular
    • web
    • visual studio
    • react
  • Unit Testing for Mere Mortals

    As a developer you take pride in your work (as you should). So it's frustrating when bugs happen. How do you prevent them? Well, the honest answer, is you can't - at least not 100%. But you can make sure your code does what you expect it to do! In this session, I show you TDD (Test Driven Development), BDD (Behavior Driven Development), and TED (Test Eventual Development). I will also show you their strengths and weakness, and how to decide which type (or combination of types) to use in different scenarios.

    R 308
    Sat 10:10 am - 11:00 am
    • Intermediate
    • tdd
    • testing
    • unit testing
    • patterns
    • bdd
  • Listen to Me! How Women can be Passionate and still Communicate with Power and Clarity

    By taking part in this session, attendees will learn how to passionately communicate, and not be blind sighted by unconscious perceptions. Excellent communication is not gender specific. Awareness is the key for women to excel in their communication in diverse environments. Attendees will also learn:
     Passionate does not equal Emotional
     Assertive is not Aggressive
     Tone Conveys Confidence
     How your presence is Power!
     Many words do not equate to clarity

    A 100
    Sat 10:10 am - 11:00 am
    • Intermediate
    • diversity
  • Maps over Backlogs: User Story Mapping to share the Big Picture

    A flat backlog presents problems understanding context of individual items. Determining the value of a user story in a vacuum is difficult, if not impossible. We need the big picture! Without understanding the big picture, how do we know if we have identified all the stories? How do we communicate the context of a user story in the big picture? How do we really know what is necessary for a minimum viable product?

    User story mapping is a technique that can help us keep the big picture front and center. It was developed to build shared understanding and display the stories within the context of the user narrative. We will discuss the challenges with flat backlogs, how user story mapping can help with those, do an activity to build a story map and discuss how to integrate this technique into the work you’re already doing.

    A 201
    Sat 10:10 am - 11:00 am
    • Introductory and overview
    • requirements
  • Real Agile for Real Software

    As the agile revolution continues, more and more companies are wanting to “Do Agile”. Most companies don’t even know why, they just see and hear about other companies having successes. They hire a consultant, who is teaching the “flavor of the day” agile process and pay lots of money for books, tools and training. Most of the time, with limited success.

    In this talk, I will explain what Agile software development is meant to be all about. I’ll tell you a bunch of stories about common mistakes I see companies making as they try to become more agile, and what you can do to avoid or overcome these mistakes. In the end, you should leave with a better understanding of the nature of building software in an agile way and maybe even had a few laughs along the way.

    A 204/206
    Sat 10:10 am - 11:00 am
    • Intermediate
    • agile
    • whitepaper
  • Three Cloud Mafia

    One data streaming problem; three cloud solutions. This session will focus on a big data streaming use case. The project will be dissected from Ingestion, Preparation, Storage, Analysis, and Consumption. The solution will be completed in Azure, AWS, and GCP. A comparison and contrast of the three major platforms will be discussed by an architect with multi-cloud certifications.

    SLC 008
    Sat 10:10 am - 11:00 am
    • Intermediate
    • patterns
    • cloud
    • azure
    • aws
    • gcp
  • Lambda Architecture - The Evolution of Big Data

    Many big data architectures support either batch-oriented or real-time queries... but this limits the types of insights you can derive from your data. Lambda architectures support both types of queries... at the same time.

    A lambda architecture enables both real-time and batch-oriented queries against the same logical data stream. It's a simple but powerful concept that allows consumers to observe frequent changes in the data stream, and also mine for deep insights across a wide range of time.

    This talk will explain the core elements behind lambda architectures, walk through some sample use cases, and demonstrate the use of Microsoft Azure services like Event Hubs, Stream Analytics, serverless Functions, Cosmos DB, Data Lake, and more to create fast, highly scalable data processing pipelines.

    SLC 010A
    Sat 10:10 am - 11:00 am
    • Advanced
    • data
    • azure
    • cosmosdb
    • serverless
    • architecture
    • administration
    • scalability
  • Building a Database DevOps Process

    DevOps is transforming software development, with many organizations and individuals adopting lean development practices, implementing Continuous Integration (CI), Continuous Deployment (CD), and performing regular deployments to their production environments. However, the database is largely ignored and seen as a bottleneck for a DevOps software development process. Steve will discuss the challenges of database development and why many developers find the database to be an impediment to a CD process. He will discuss the techniques you can use to fit a database into a DevOps process.

    SLC 132 A
    Sat 10:10 am - 11:00 am
    • Intermediate
    • devops
    • administration
  • The auditors are coming! Let's WOW them.

    “The IT auditor’s will be here next month.“ Words that no database administrator wants to hear. We don't time for it. Yet legal regulations and contractual obligations often require us to prove that we have systems and processes in place to protect our data. In this session, we'll learn how to prepare for an upcoming audit and equip you with the scripts and checklists you'll need to wow the auditors.

    SLC 132 B
    Sat 10:10 am - 11:00 am
    • Intermediate
    • data
    • process improvement
    • administration
  • Blockchain Strategic Initiatives

    All IT professionals should consider the use of blockchain as a new and exciting arrow in their quiver, when it comes to IT risk management.

    Blockchain can essentially be described as a distributed, or decentralized, database. Both physical (tangible) and intangible assets can be digitized, and the digital footprint of the asset can be stored as a blockchain. Blockchain databases are considered by technology pundits to be nearly hackproof, and certainly more secure than traditional centralized databases; allowing only owners of digital assets to alter and make changes to the asset.

    The implications of a more efficient and more secure method of storage and way of transacting lends itself to the following use cases, which will be discussed in detail and through real-world examples: increased efficiency IT and financial auditing; blockchain’s use in credentialing and validation of personally identifiable information (PII); blockchain’s role in voting and elections; and the use of smart contracts to make and validate transactions.

    SLC 132 C
    Sat 10:10 am - 11:00 am
    • Introductory and overview
    • patterns
    • blockchain
  • From Zero to Angular

    Are you new to Angular? Want to learn how to build your first Angular application using Angular CLI and Visual Studio Code? This seminar walks you through the process step-by-step. A simple product list page will be built starting with HTML and gradually adding more functionality until everything works in Angular. You will learn the basics of data-binding, how to apply pipes to transform data, and working with classes.

    Cinema
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • javascript
    • angular
    • web
  • Recruiters Suck. Use them.

    In today’s tech market there are more recruiters than JavaScript libraries. And just like JavaScript libraries, it’s hard to pick a good recruiter that that won’t burn out in 6 months. In this open forum talk, I will be answering any and all questions you have always wanted to ask us. Like how do we price positions? What do I look for when working with a recruiter? I will also give tips to everyone like how to write a good resume, are cover letters still relevant, how do I approach a job hunt, and what can make you the most attractive as a candidate in the interview process. This talk is geared for the recent software school grad to the Architect who has recently found themselves back on the job market. I look forward to answering all your questions!

    S 216/220
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • career
  • Push it (Push it Real Good)

    Git. It can be intimidating if you're accustomed to other kinds of source control management. Even if you're already using it and comfortable with the basics, situations can arise where you wish you understood it better. Developers often just want to write code and tell everyone else to take a hike, but the reality is that most of us work on teams where the feature-based code we write must be integrated, tested, and ultimately released. This session will cover the most critical git concepts, basic and advanced, in a completely visualized way. At the same time, you’ll pick up git terminal commands to help you understand (or even eliminate) a git GUI you already use. Go beyond the basics to learn how to get yourself out of a git pickle, practical release management strategies, and more.

    S 325/327
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • code
    • principles
    • process improvement
    • source control
  • What C# Programmers Need to Know About Pattern Matching

    One of the most intriguing new features in C#7 is Pattern Matching. At first glance, it just looks like a more powerful switch statement. But upon further investigation, it can dramatically clean up your code. The key is to approach pattern matching with the right mindset. In this session, we will look at how languages like F#, Elixir, Swift, and Rust benefit from using pattern matching. We will learn how to get the most out of this language feature in C#.

    S 363
    Sat 12:40 pm - 1:30 pm
    • Intermediate
    • c#
  • Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions

    It’s Friday night and you’re making your character for a fun evening of gaming. You’ve rolled your abilities and even got two 18s. But what class should you pick given your rolls? If you pick that class, is your character playable? What kind of character have you created?

    Or maybe you’re a game master and you’ve been running a game for some time. Do you need to know how much treasure that dragon horde should have? Or are you wanting to figure out how many encounters your players will make it through in an evening so you can prepare enough material?

    These important questions can all be answered using machine learning.

    Many developers want to make use of machine learning in their applications but aren’t sure what sorts of problems can be solved with it. This talk will explain the sorts of problems that can be solved, what data is required to solve them, and what the results look like. And, we’ll explore it using fun and geeky examples. We will cover six major types of problems that machine learning can solve: regression, forecasting, impact analysis, classification, clustering, and anomaly detection. When we’re done, you’ll have a basic understanding of what machine learning can do and what you might want to use it for. I might even be something other than role-playing!

    R 308
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • data
    • principles
    • patterns
    • data science
    • machine learning
  • Maturing the Enterprise Quality Practice

    The two primary contributors to poor quality in an organization are lack of involvement by management and lack of knowledge about quality. Without the right processes and people, quality will be either a cost center or forgotten component by development. To achieve organizational success, enterprise quality must take action to build quality from the top down. Management must accept responsibility for the quality practice within the organization and promote it across the organization. Everyone is responsible for quality, not just QA. The journey is fraught with obstacles -- maturing the quality practice of an organization builds long-term success with robust processes and well-trained employees.

    A 100
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
  • Bigger Profits with Kanban

    You are familiar with Kanban enough to know that it could help your team work smarter, communicate better and produce higher quality work. However, your boss and upper management aren’t ready to allow your team to do it. You need to know how to talk to management in terms they understand so they can fully understand the value of Kanban. Come to this session where I’ll help you communicate the value of Kanban in a way that makes sense to management. I’ll show you how to make a persuasive pitch for Kanban that your leadership can’t refuse.

    A 201
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • agile
    • kanban
  • Break the Wall Between Testers (QA) and Developers

    In scrum, the entire team owns quality. This is easier said than done. To have the whole team approach to be responsible for quality is a culture change. This change could start by breaking the wall between testers and developers.

    I have worked with different scrum team levels and I continue to find testers in agile team still think that testers role is the gatekeeper of quality. On the other side developers think they add more value if they deliver more code.

    Change doesn't come easy. Come hear the tale of a scrum team, testers and developers adopt Scrum and Agile testing practices and how they turned a culture of just get it done to one that puts quality first. The whole team approach involves continuing testers and developers collaboration throw the sprint. Started with including developers in testing at the end of the release to Testers Pair testing with developers. Ended to have testers collaborate with developers on use case discussion and design discussion at the beginning of the sprint.

    Lessons learned and practiced to grow your skills for key topic areas in:
    Whole team own Quality culture
    Agile Team collaboration
    Agile Testing
    Pair Testing

    A 204/206
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • agile
    • scrum
    • testing
    • whitepaper
    • teams
    • qa
  • Relational Database Design Fundamentals

    Data should be easy to work with in SQL Server if the database has been organized as close as possible to the standards of normalization that have been proven for many years, but are often thought of as old-fashioned. Many common SQL programming "difficulties" are the result of struggling against these standards and can be avoided by understanding the requirements, applying normalization, as well as a healthy dose of simple common sense. In this session I will give an overview of how to design a relational database, allowing you to work with the data structures instead of against them. This will let you use SQL naturally, enabling the query engine internals to optimize your output needs without you needing to spend a lot of time thinking about it. This will mean less time trying to figure out why SUBSTRING(column,3,1) = 'A' is killing your performance, and more time for solving the next customer problem.

    SLC 008
    Sat 12:40 pm - 1:30 pm
    • Intermediate
  • Introduction to GraphQL with Javascript

    GraphQL is billed as a query language for your API and as an alternative to the standard REST approach. This session will provide an introduction to the concepts behind GraphQL with examples in Javascript.

    SLC 010A
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • javascript
    • graphql
  • End to End Encryption and Security in SQL Server

    Protecting our data from unauthorized access becomes more and more important all the time, however it has been difficult to ensure sensitive data is encrypted in SQL Server. The new Always Encrypted feature in SQL Server makes this much simpler for developers and DBAs with a framework for protecting data from the client, across networks, and inside of the database. This new feature allows for limiting access to the data, even from the DBAs and sysadmins that may control the database instance itself. Learn how to implement and use Always Encrypted in your applications.

    SLC 132 A
    Sat 12:40 pm - 1:30 pm
    • Intermediate
    • data
    • sql
    • security
  • Communication in Data Science: The Goldilocks Principle

    Numbers, plots, tables, tools, models, frameworks, meetings, protocols, just saying hi. From intradepartmental communication to interdepartmental communication to getting your message out to the world, data science can be thought of as an extension to the good old field of communication. But how does a data scientist communicate effectively? How does a data scientist know what the right amount of communication is? And how does a data scientist recognize, accept, and amend a failure or breakdown in communication? In this presentation I hope to humbly offer an inkling of insight into these problems.

    SLC 132 B
    Sat 12:40 pm - 1:30 pm
    • Introductory and overview
    • data
    • data science
    • soft skills
    • communication
  • Powering Azure SQL From PowerShell

    Azure is seeing phenomenal growth. More and more companies, from large enterprises to small start ups, are taking advantage of Azure to host their IT operations. As an IT Pro, you will be asked to migrate your local SQL Server Databases into SQL Azure.

    In this session you'll be introduced to the PowerShell cmdlets for migrating to the Azure SQL infrastructure. You'll see how to:

    Create resource groups
    Create Azure storage containers
    Create your Azure SQL Server and database
    Connect to the Azure SQL DB from SSMS
    Package your on premesis SQL Database
    Upload your SQL Database to Azure
    Import your SQL Database into Azure SQL

    By the end of this demo packed session you'll understand how to use PowerShell to migrate your SQL Databases to Azure SQL.

    SLC 132 C
    Sat 12:40 pm - 1:30 pm
    • Intermediate
    • data
    • sql
    • cloud
    • azure
    • powershell
  • Complete Developer Podcast Panel on How Microservice Architecture Is Changing Web Development

    Microservices has become somewhat of a buzzword in the development community. Enjoy a live recording of Complete Developer Podcast as we discuss with a panel of experts how web development is changing due to microservices. We'll talk about where we've been, where we are, and where we're going. We'll also look at why you should or shouldn't consider a microservice architecture where you are now.

    Cinema
    Sat 1:50 pm - 2:40 pm
    • Introductory and overview
    • soft skills
    • career
    • leadership
  • Believe in the Power of CSS

    You know that song by Huey Lewis and the News, The Power of Love? "First time you feel it, it might make you sad." Might be how you feel about CSS right? What about the power of CSS? CSS has received a bad name as of late, but truth of the matter is that CSS is such a powerful piece of the front-end puzzle and you should really be excited for what's already here and what's to come! Who would have thought we could create magazine-style layouts with CSS grid? What about ruleset variable scoping with custom properties(CSS variables)? And last but not least, the pain of centering content horizontally and vertically which is now possible in three lines with flexbox! Let's talk about how awesome CSS is, and how we can restore our faith in one of the best things that makes the web amazing!

    S 216/220
    Sat 1:50 pm - 2:40 pm
    • Introductory and overview
    • web
    • css
  • Captivate and Entertain with Simple Illustrations

    Simple, hand-drawn illustrations are a powerful and fun way to engage and entertain your audiences, readers, coworkers, friends, family… everybody!

    I firmly believe drawing is a skill that anyone can learn. The amazing thing is, there’s no such thing as “bad” art! With some fundamentals and practice, you can make an impact, and have fun doing it!

    I started drawing less than four years ago, and it is now an essential part of everything I do. I would love to share with you my bag of tips and tricks I’ve learned to create illustrations for presentations, articles, and all the other things I do.

    S 325/327
    Sat 1:50 pm - 2:40 pm
    • Introductory and overview
    • learning
  • Dogs and Cats, Living Together: Kotlin, Spring Boot and REST on Azure

    Kotlin is a statically typed programming language by JetBrains that can enable more concise and understandable code than Java without sacrificing performance, safety or 100% Java compatibility. Spring Boot accelerates the creation of stand-alone Java/JVM based web apps with minimal coding. And Azure makes it straightforward to deploy and host Java/JVM based web apps. Come to this session and learn how to use all of this goodness together to develop and deploy REST APIs. Attendees will learn how to use Spring Initializr to create the project, how to use Kotlin and Spring Boot to develop a web app with concise, boilerplate free code that exposes REST APIs and how to deploy and host this web app in Azure. This session will wrap things up by using a HTML/JavaScript client to test the REST APIs. The GitHub repository for this session will be made available beforehand so feel free to bring along a laptop to walk through the sample code together.

    S 363
    Sat 1:50 pm - 2:40 pm
    • Intermediate
    • javascript
    • web
    • cloud
    • azure
    • rest
    • java
    • kotlin
  • Docker and Kubernetes

    Docker is carefully tucked between virtualization, continuous deployment, and pure awesome. Kubernetes is the industry-standard for running containers at scale. We'll look at commands and ecosystem around building infrastructure as code, deploying to a cluster, and sharing images on Docker Hub. We'll see how easy it is to create Linux and Windows docker images, and host the mesh of services on K8s. Come see why devs and ops alike love Docker and Kubernetes.

    R 308
    Sat 1:50 pm - 2:40 pm
    • Intermediate
    • docker
    • devops
  • The Software Testing Pyramid - Concrete Example

    Mike Cohn’s Test Pyramid describes a test automation strategy consisting of a wide base of unit tests, service-oriented tests for business logic, and a thin layer of tests exercising the user interface. Tests that provide the quickest feedback and fault precision serve as the testing foundation. How does this work in practice? How does a team achieve this level of test automation and maintain it over time? How can the team avoid redundancy in the various test layers?

    Jim Weaver demonstrates the different types of tests for a real feature of a product in the healthcare domain, how testing decisions were made as the feature was developed, and how the team baked their testing strategy into the overall process for product development. The feature involves enforcement of business rules for prescribing a specific class of medications, and Jim describes decisions made by the team regarding testing and shows the unit tests, Fitnesse tests, and Web Driver tests built by the team to support the feature.

    A 100
    Sat 1:50 pm - 2:40 pm
    • Intermediate
  • The Dirty Dozen: 12 Product Ownership Behaviors that are Killing your Product

    Is your product owner late to meetings, not available in the team room, unprepared for sprint events or asking for status at the daily scrum? As a product owner coach, I have seen it all! Every product owner is a unicorn but what they have in common is they invariably have a bad behavior or two(and sometimes a lot more than that). Their scrum teams have learned to try and work around them but why should they have to? During this talk, I will walk through the Dirty Dozen Product Owner Behaviors that are killing your product and what to do about them.

    Walk away understanding techniques on how to coach product owners to correct these bad behaviors and give your teams the best chance at Product success.

    A 201
    Sat 1:50 pm - 2:40 pm
    • Intermediate
  • Agile Emotions: The Twilight Zone

    Presentation Description:
    Emotions suck! But as coaches, we must love them! They drive us to make decisions and create passion for life. So if they are so important, why do we dismiss them so easily when talking about transformation. Why do we tend to focus on the processes and tools first? When was the last time we really stopped to consider all that goes into successfully leading a transformation effort? More importantly, do we know how to deeply interact with individuals without coming across as process and tools addicts.

    Business culture is changing. Leadership environments enabling siloed and solid line authority are yielding to autonomous, empowering environments were the dotted line will suffice. But the actual act of changing from one environment to another requires individuals to navigate the areas that Rod Serling says are both “shadow and substance,” “light and shadow,” and that scary place between the “pit of fear and the summit of knowledge.”

    As coaches, we must understand that change causes multiple emotions. Emotions may be sequential, concurrent or in phases. We should help others maintain awareness of their emotions, their associated drivers, and the causes for change. If individuals lack this ability, they may conclude their fear is driven by Agile itself, and not by the act of change (which is scary for everyone).

    So how do we do this? What better way to answer that question than to study that timeless piece of television called The Twilight Zone. In this session we will review specific episodes that address sudden and, in some cases, catastrophic change. We will explore the individual’s emotional state before, during and after a change. We will break down why the individuals react the way they did, what could have been done differently and what could have been diffused and/or deescalated within the situation.

    Learning Objectives:

    • Objective 1: Discuss emotions driven by an Agile transformation.
    • Objective 2: Review situations to identify and witness emotions in a variety of contexts.
    • Objective 3: Hone own skills in Level 3 listening and in coaching others on emotional awareness.

    Learning Outcomes:

    As a result of this session, attendees will be able to:

    • Outcome 1: Recognize emotions and reactions due to an Agile Transformation
    • Outcome 2: Distinguish coaching opportunities in real-life Agile team settings
    • Outcome 3: Self-assess skills needed to develop a broader coaching toolset

    Presentation Mechanics
    The session will consist of:
    • Slide deck guiding the discussion’s talking points
    • Video clips or image-based excerpts of TV episodes (depending on technical constraints)
    • Paper-based handouts with key items and talking points

    A 204/206
    Sat 1:50 pm - 2:40 pm
    • Advanced
    • agile
    • communication
    • emotional intelligence
  • Because Nobody Wants to Edit Drums: Building Trainable Audio Production Tools via Machine Learning

    There is a vast untapped potential for "intelligent" audio tools that empower human musicians, composers, producers and engineers to do their work more efficiently and enable customized, trainable experiences that unlock new forms of creativity. Usually when people speak of machine learning and audio, they refer to speech recognition or speech synthesis; and when "machine learning" and "music" appear together, it's often either regarding data analytics of music-business (micro)transactions for publishing & streaming, or regarding algorithmically generated MIDI compositions. In this session, rather, we will explore some of the core technologies behind tools to help humans better understand and manipulate audio signals and the instruments that produce them, to organize and find samples & loops based on learnable preferences, and novel, trainable signal-processing 'plug-ins'. The music industry is facing numerous challenges, but new tools can offer opportunities for efficient, collaborative and above all creative activities that inspire artists, engineers and listeners alike.

    Topics We'll Look At:
    - A quick survey of commercial ML tech currently available for the music production toolchain
    - Classification and regression of time series data (not just for stocks & weather)
    - Convolutional and Recurrent Neural Networks for audio (admit it, you're tired of MNIST & cats-vs-dogs)
    - Cloud computing (or, empowering laptop users with GPU-compute capability)
    - Data-parallel multi-GPU and multiprocessor execution (for speed)
    - Homomorphic encryption (to preserve IP & privacy)
    - Object detection (e.g. for imagery of vibrating musical instruments, and for audio segmentation)
    - A little math, such as function spaces and convexity (to help your training converge quickly)

    Frameworks & Libraries Discussed:
    - Keras, with the Tensorflow backend
    - PyTorch
    - librosa
    - Flask
    - OpenMined (a public decentralized interface for the distribution & consumption of private data for training machine learning models)

    What You'll Get:
    A survey of the sounds and sights of some ear-opening and Nashville-specific open-source machine learning application development that you can get involved in. We've actually applied some of the same algorithms to medical audio too. What could be more "Nashville" than music, healthcare and technology?

    Who This is For:
    - Anyone interested in machine learning and/or musical audio
    - Those with an interest in seeing research-grade technology made accessible to consumers
    - People who want a broad survey with references and links they can follow for further investigation
    - Those looking to extend their expertise from other data science fields into the musical audio arena

    SLC 008
    Sat 1:50 pm - 2:40 pm
    • Intermediate
    • data
    • data science
    • machine learning
  • CosmosDB 101: Basics and quickstart

    Microsoft may have revealed one of its most far-reaching products ever—Azure Cosmos DB. With global distribution, multi-model support. and numerous APIs for accessing your data including SQL, JavaScript, Gremlin, MongoDB, and Azure Table Storage, CosmosDB offers a wide array of solutions for data storage on a global scale. This talk will cover a high level look at the various features and capabilities of CosmosDB and resources on getting started.

    SLC 010A
    Sat 1:50 pm - 2:40 pm
    • Introductory and overview
    • cosmosdb
  • Getting started with Entity Framework Core

    With the cross-platform version of .Net, Microsoft has had to rewrite many of the core components that we have come to depend on. If you include data in your applications, chances are you have used Entity Framework in the past. In this session, you'll learn how to get started using EF Core and how to handle the changes in this version.

    SLC 132 A
    Sat 1:50 pm - 2:40 pm
    • Intermediate
    • .net
    • .net core
    • entity framework
  • How to Become the Most Important IT Person in the Room

    You’ve just spent the last few years in deep technical training. You have learned many new techniques and best practices at this and other conferences that you can take back to the office and use in your work to gain immediate improvements. But if you’re only interested in applying a handful of specific, tactical advantages, then you’ll miss out on the most exciting trend in the IT industry – our data-driven future. Share insights and inspirations in this talk with Kevin Kline, a founder and president emeritus of the Professional Association for SQL Server, to discover the broader trends that are pushing data professionals into greater prominence and strategies you can use to become the most respected, influential, and credible member of your organization’s technical staff.

    SLC 132 B
    Sat 1:50 pm - 2:40 pm
    • Introductory and overview
  • Data Types Do Matter

    They're just numbers, right? A date's a date. It's just string data, who cares? I can't tell you how many times I've heard these phrases. This session will help you understand why choosing the correct data type for your data is so important. It affects data quality, storage and performance. It can even produce incorrect query results.

    SLC 132 C
    Sat 1:50 pm - 2:40 pm
    • Intermediate
  • Open Source Game Development in the .NET Ecosystem

    With so many frameworks to choose from, aspiring game developers are often overwhelmed with options. In this session we’ll explore the decisions that go into choosing the right framework for your project. Next we’ll look at one in particular: Duality. Duality is a flexible and open source framework for developing 2D games with .NET. I’ll show you the fundamental patterns and principles behind game development and walk you through creating a simple game in Duality.

    Cinema
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
    • .net
    • gaming
  • (Not So) Accidental Personal Branding

    If you have an online presence, you have a personal brand. Most of us didn't intend to create a brand when we made our first websites and social media profiles. They were just fun ways to share our lives meet people. Now, they're networking and career growth tools. In this talk, you'll hear about people whose brands helped them become respected developers, managers, and community leaders. You'll learn how to use your online presence to advance your career. You'll also pick up best practices, common mistakes, and tips for balancing professional and personal content. Intentional personal branding opens the door to endless opportunities. Come see how to make that happen!

    S 216/220
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
    • soft skills
    • personal management
    • branding
  • Developer's Role In SCRUM

    SCRUM is full of meetings. In this session we'll look at each meeting in a typical SCRUM Sprint with the developer in mind. We'll see how to prepare for the meeting, what to expect in the meeting, and what to do after the meeting.

    S 325/327
    Sat 3:00 pm - 3:50 pm
    • Intermediate
    • agile
    • scrum
  • Event-based Microservices in the Cloud

    In the cloud, where compute resources are provisioned and billed per unit of time, events and event-based systems are a great way to minimize expenses and acquire elastic compute capacity in a just-in-time manner. Instead of (or perhaps in addition to) exposing a typical API, event-based microservices react to system-wide notifications that originate from your own software, external systems, or even from cloud provider infrastructure.

    Events map well to real-world problem domains... trains arrive at and depart from the station, inventory levels fluctuate at the warehouse, a new car rolls off the assembly line, your favorite team scores another goal. If you need to trigger software behavior from any of these (or millions more), you need events. And this talk is for you.

    We'll discuss ways to incorporate events into your software designs, the difference between messages and events, and how events enable elasticity and cost control in the cloud. We'll also demonstrate several of these concepts in live demos.

    S 363
    Sat 3:00 pm - 3:50 pm
    • Advanced
    • patterns
    • cloud
    • microservices
  • JavaScript Tests in Node, the Browser, and CI

    Good software practices don’t end just because you’re building a thick client in the browser. The JavaScript community is a flourishing boutique of high-quality tools and techniques. We’ll dig into some of the more popular open-source JavaScript patterns that have emerged from the Node community. We'll see mocha, chai, karma, phantom, and travis in action, look at some great techniques and patterns for browser development, and brush up on things that make JavaScript a phenomenal place to work.

    R 308
    Sat 3:00 pm - 3:50 pm
    • Intermediate
    • javascript
    • testing
    • node
    • patterns
  • The API of Your Company Culture

    Company culture is one of the most important factors in determining the success of your business. Every person on your team is valuable, but it takes a focused effort to create and grow a healthy culture. Neglecting culture will basically drop an anchor on the expansion of positive growth. Culture is like an API in that it has both inputs and outputs and must be nurtured to grow and stay healthy. In this talk I’ll discuss the view from both sides of the culture API - how to keep your company internals healthy, and how to evaluate and recognize a company’s culture from the outside.

    A 100
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
    • soft skills
    • teams
    • leadership
    • culture
  • What Did You See? A New Approach to ScrumMaster Mentoring

    Ever heard the analogy, “being a ScrumMaster is similar to learning chess, you learn the basics in hours, but it will take a lifetime to master”?
    Any process that involves people, is a complex system. Unlike writing code, ScrumMaster skills are subtle and easily overlooked by those around you. The effects of having a good ScrumMaster is tangible, but the behind the scenes work is harder to get.
    When I was first began mentoring future ScrumMasters, I developed a technique that I still use today. “What Did You See?” – is more than a question, it’s the basis for how we built one of the strongest ScrumMaster teams I’ve ever seen.
    By asking this question, I help proteges pay close attention to:
    • Nonverbal communication in scrum ceremonies
    • Body language
    • Team members that may be non-responsive or too dominating of conversations
    • Small signs that there is danger ahead, that if seen, can allow the ScrumMaster to intercede before the issue is too big.
    • Much more…
    It’s not an easy question to answer. Hard as it is to answer, it’s even harder coaching new ScrumMasters. Some parts are easy: schedule meetings, facilitate the meetings, take some notes and using an ALM. Going beyond these basics to attention to detail and practicing observation are harder. I want to share this technique with you, and truly would love to hear feedback on how well it works for you in your company as well.

    A 201
    Sat 3:00 pm - 3:50 pm
    • Intermediate
  • Transparency: Becoming a Better Window

    The more we see into every level in an organization, the more empowered we are to make informed decisions. The more empowered we are as individuals, teams, and organizations, the better we are at providing products and services quickly and with high quality inside and outside the four walls of our offices. We cannot see into every level in the organization with closed doors and secrecy. We must put windows of visibility onto everything we do. The Scrum pillar of transparency is designed to create just such a window.

    As with most things in Scrum, the idea of transparency is simple but the practice is difficult. Transparency is built on trust and courage in relationships and requires an overarching ethical relationship mindset and approach. From this perspective, behaviors change to create healthy and genuine relationships that make the space for transparency to show up and broaden.

    Learning Objectives:
    • Define transparency
    • Identify key benefits of transparency
    • Describe challenges faced when becoming transparent
    • Discover how ethical relationships are key to an environment of transparency
    • Review the mindset, values, and principles intrinsic to ethical relationships
    • Apply the ethical relationship model to real world problems
    • Create a plan to move transparency forward

    A 204/206
    Sat 3:00 pm - 3:50 pm
    • Intermediate
  • From Yard Sofas To Goose Poop: Classifying Property Code Violations Using NLP

    Reports of building code violations range from the silly to the disgusting, and with hundreds of different building codes, how can one possibly analyze trends effectively? Grouping the codes into major categories will help, but it will take the power of natural-language processing (NLP) to successfully distinguish between a busted sewer line and a busted window. We'll use a case study of Metro Nashville code violations analysis to get a high-level understanding of concepts like word vectors, Naive Bayes classifiers, and model training, among other things. We'll also talk about model fitting difficulties, and how to decide when a fit is "good enough".

    SLC 008
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
  • 5 Popular Choices for NoSQL on a Microsoft Platform

    If you are thinking of trying out a NoSQL document database, there are many good options available to Microsoft-oriented developers. In this session, we’ll compare some of the more popular databases, including: CosmosDb, Couchbase, MongoDb, CouchDb, and RavenDb. We’ll look at the strengths and weaknesses of each system. Querying, scaling, usability, speed, deployment, support and flexibility will all be covered. This session will include a discussion about when NoSQL is right for your project and give you an idea of which technology to pursue for your use case.

    SLC 010A
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
    • data
    • nosql
  • Is this weird? Anomaly Detection in Performance Monitoring

    Identifying sudden changes in system performance is one key goal of any performance monitoring system. Whether trying to anticipate disasters, predict minor changes that could lead to something worse, or troubleshoot a known performance problem, knowing quickly that your system is in a weird place is a useful piece of information. In this talk, we’ll discuss a variety of elements that are critical to understanding this real-time anomaly detection problem, including the types of data models we can use for detection, the effects of continuity on how we detect outliers, extreme value analysis vs outlier analysis, and univariate vs multivariate data streams.

    SLC 132 A
    Sat 3:00 pm - 3:50 pm
    • Advanced
  • What is Power BI?

    You’ve heard all the buzz about Power BI, but you have no idea what it is and how it works. This session explains what Power BI is, who can use it and why you would want to. It’s an introductory session that gives you the information you need to determine if Power BI is right for you and your organization.

    SLC 132 B
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
  • Building Better SQL Server Databases

    Most programmers just use a database as a simple container for storing information, without really understanding the impact that a good, or bad, database design can have on the performance of their applications. This session will change that, and show how you can design your SQL Server databases in a way that will make them scalable and more efficient. By taking a detailed look at database design, indexes, and common T-SQL mistakes, we will see how these things can have an impact on resources and performance. We will discuss tips for serving up data faster, as well as things that can slow your queries down.

    SLC 132 C
    Sat 3:00 pm - 3:50 pm
    • Introductory and overview
    • data
    • sql
  • Starting Over

    Adversity. A necessary component of life. Inevitably, we all reach professional and personal moments that require us to take a deep breath and a giant step back. Moving forward again often feels difficult, even impossible. We suffer, immobilized by fear.

    But fear is more than some pesky roadblock. It is a rational response to adversity. Whether facing a major code refactoring, the changing technology landscape, a new role, or even a fresh career, we can learn to leverage fear and uncertainty to move beyond our hurdles and get the job done! Key life skills exist that can be developed to conquer adversity. Learn to assess risks, build relationships, and recognize opportunities for growth.

    Starting over may seem insurmountable. Armed with the right skills, perspective, and a little patience, nothing truly is.

    Cinema
    Sat 4:10 pm - 5:00 pm
    • Introductory and overview
    • soft skills
    • communication
    • career
    • psychology
  • React FUNdamentals Workshop

    React is a JavaScript UI library that makes creating reusable components easy and efficient. In this workshop, we’ll cover the critical concepts of React while progressively building an app. We’ll learn how to:

    - Write readable, reusable and composable components
    - Use JSX syntax
    - Work with the Virtual DOM
    - Handle user interactions and synthetic events
    - Leverage ES6 to maintain application state
    - And more…

    Prior experience with React is not necessary, but experience with building JavaScript applications will be helpful to hit the ground running. You’ll leave the workshop with all the fundamentals you need to build your own apps with React.

    Cinema
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
    • javascript
    • react
  • Reenergizing Your Retrospectives!

    Have your retrospectives turned into a repetitive ceremony? Do you feel your team looks forward to the end of the retrospective more than the beginning? Many Agile teams fall into the trap of "following the motions" when it comes to a retrospective and begin to lose sight of its goal...inspect and adapt! During this hands-on workshop you'll learn, practice, and create a series of creative techniques to get your team engaged and energized about their retrospective. The session will include an overview of different types of retrospective formats (ex. Traditional Retro, Lean Coffee Style, Lego Build Exercise, and many more), tools for running distributed retrospectives, and a review of critical facilitator tips. Grab some sticky notes and let's start improving!

    S 216/220
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
  • Building Your First Voice Experience with Alexa

    This workshop will dive right in to getting you set up and started building a voice-based experience with Alexa. You will leave this session with a working Alexa skill that you can customize and publish as your own.

    We will cover topics around voice design best practices, voice interactions, persistence, and making calls to external APIs.

    This session will be taught using node.js, but you don't have to have prior experience as a node developer.

    PREREQUISITES
    In order to get off to a fast start, please create accounts on both of these websites before the session:

    Amazon Developer Portal - http://developer.amazon.com

    Amazon Web Services - http://aws.amazon.com

    S 325/327
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
    • patterns
    • alexa
    • voice
  • Product Visioning and Design Thinking Workshop (Part 1 & 2)

    PART 1: Do you see what I see? A vision in 4 simple questions. (Wendy Jacobs)
    Do you see what I see? Do we share the same vision? On the surface, it’s sounds so easy – incrementally build a product to meet a customer need. From 10,000 feet, the general idea seems straightforward, but then you learn about the various types of users and their different needs, project budgets and timelines, implementation options, and design tradeoffs. Now things are complicated! And then, even when you can imagine a sane path through the madness, you must find a way to communicate the path to developers, managers, executives, sales reps, marketing folks, and Bob down the hall. Herding cats seems easy in comparison!
    Wouldn’t it be nice if we could all have the same picture of where we’re heading? Wouldn’t it be helpful to have a clarity around primary objectives in a form that could provide context for making tradeoffs? I think so too – and I have a solution – a clear concise product/project vision.
    Believe it or not, it isn’t too hard to craft such a vision, and in this hands-on workshop you’ll learn exactly how to do craft a meaningful vision by just answering a few questions. The outcome will provide you with a North Star which can guide decisions throughout the project, and keep everyone marching in the same direction – even Bob. You can also use this same process in crafting a vision for your organization or your team. If you’re a product manager, product owner, BA, project manager, or anyone involved in delivering a product to market successfully you’ll find this session invaluable.

    PART 2: Design Thinking for Everyone: A Guide for Product Development Teams (Tammy Lawlor)
    Have you ever started working with an amazing development team, but later realize they have spent over a year building a product barely anyone uses? Or maybe during a requirements gathering session you’ve encountered a stakeholder who jumps to the solution before actually knowing the problem they are trying to solve, basing solution ideas off of their own preferences?

    If you’ve been in software product development long enough, you have probably experienced scenarios like the one’s listed above. Also, you’ve most likely experienced your fair share of project or product fails, as well as questioned the value of what you or your team are developing.

    A methodology proven to be successful for product teams traversing multiple industries is a concept called Design Thinking. In this session you will:
    -Learn the definition and steps involved in Design Thinking
    -Discuss and use examples of Design Thinking tools
    -...Be able to go back to work tomorrow with ideas & tools you can apply and use right away!

    S 361
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
  • Practical Functional Java

    Functional programming is touted as the solution to concurrency issues and the challenges or parallelism - and this certainly can be true. But many of us don't really have those problems. What's more important is that embracing functional programming makes code smaller, easier to understand, and easier to maintain. In other words, functional programming can lead us towards cleaner code.

    This workshop is structured in two parts. In the first part we will do a quick review of the changes in Java 8 that are moving Java into the modern functional world including:

    - Lambdas
    - Streams, Map, Filter, Reduce
    - Optionals
    - We will also be doing a deep dive into immutability and will learn some interesting patterns for building a hierarchy of immutable objects

    In the second part, we will embark on two multi-step exercises:

    1. A new development exercise where we cover the basics of thinking in functions from the very start of a project
    2. A refactoring exercise where we untangle a horrible deeply nested looping monstrosity into something more elegant

    The code exercises for this session will be in Java. If time permits, we will also learn about the Kotlin language and how these concepts can be applied in that world.

    S 363
    Thu 8:00 am - 12:00 pm
    • Intermediate
    • functional
    • java
  • Develop an EF Core Data Access Layer Hands On Lab

    Interested in Entity Framework Core but not sure where to start? Start here building a complete data access layer using Entity Framework Core. including the entities, repositories, migrations, and much more.

    R 308
    Thu 8:00 am - 12:00 pm
    • Intermediate
  • Cross-Platform Desktop Apps with Electron Workshop

    Many companies are turning to Electron.js to build amazing desktop applications that run on Windows, Mac, and Linux using familiar Web technologies. In this hands-on workshop we will learn the fundamentals of building desktop applications with Electron.js. Our goal is to walk away with a solid framework for building and deploying your own applications!

    Requirements:

    * Laptop running Mac OS X 10.8+, Windows 7+, or Ubuntu 12+
    * Node.js v8+
    * Visual Studio Code

    A 100
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
  • Up and Running with Angular

    If you have ever wanted to code an application with Angular this is your chance. Join us for a fun filled day of learning Angular in this hands-on workshop. You will go from 0 to 60 with your Angular knowledge and be able to create our own Angular applications by the end of this workshop. We will start with a new project and continue to build up the project until we have a full application at the end.

    Prework located at http://digitaldrummerj.me/speaking/#uprunangular

    A 201
    Thu 8:00 am - 12:00 pm
    • Intermediate
    • javascript
    • angular
    • web
  • Learning Feedback with LEGO: The Building Blocks of Giving and Receiving Feedback

    You dread your annual review time. You cringe at retrospectives. You wince in the face of a 360 Review. You don't like feedback - and you're not alone. Receiving feedback is hard, and when we ask for help with it we just get more feedback. On top of that, your brain doesn't like feedback, and it has some sneaky tricks it uses to convince you to argue about, pick apart, or even outright ignore that feedback. But there's hope - you can fight your brain and win!

    This workshop will use LEGO to help teach you the following: the types of feedback and when to use them; how to structure a feedback conversation for maximum benefit; what are the questions you should be asking at each step in the conversation; what a feedback trigger is and how to recognize, defuse, and redirect those triggers; and more! We’ll apply all this to both giving and receiving feedback. By the end of the workshop you should be able to face even the most brutal peer review with a straight face (though maybe not a smile).

    A 202
    Thu 8:00 am - 12:00 pm
    • Introductory and overview
    • soft skills
    • communication
    • psychology
  • Real World React from the Ground Up

    Learning React can get awfully complicated. Flux, Redux, server-side rendering, React Native, higher order components, functions as child components, CSS in JS, and more. Let's simplify the equation: build a real-world application using React and Redux, learning patterns and practices to make reusable, composable components as we go. Whether you are brand new to React or have some experience with it, you should walk away with a solid understanding of how to compose React applications. This workshop is intended for those who already have basic React knowledge or experience and should be considered more of a 201 level workshop than a 101 level.

    Cinema
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • javascript
    • react
  • Awesome C#: Asynchronous Programming

    Asynchronous programming is a critical skill to take full advantage of today's multi-core systems. But async programming brings its own set of issues. In this workshop, we'll work through some of those issues and get comfortable using parts of the .NET Task Parallel Library (TPL).

    We'll start by consuming asynchronous methods using the Task Asynchronous Pattern (TAP), including how to handle exceptions and cancellation. With this in hand, we'll look at creating our own asynchronous methods and methods that use asynchronous libraries. Along the way, we'll see how to avoid deadlocks, how to isolate our code for easier async, and why it's important to stay away from "asyc void".

    Throughout the day, we'll go hands-on with lab exercises to put these skills into practice.

    Objectives
    o Consume asynchronous methods with Task and await
    o Create asynchronous methods and libraries
    o Handle exceptions and cancellation
    o Prepare code for asynchronous operations

    Pre-Requisites
    Basic understanding of C# and object-oriented programming (classes, inheritance, methods, and properties). No prior experience with asynchronous programming is necessary; we'll take care of that as we go.

    S 216/220
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • c#
    • .net
    • async
  • Introduction to Web Components & Polymer

    Web components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. With libraries such as Polymer that are built on top of Web Components, it is now possible to easily create fast Progressive Web Apps (PWAs) without the overhead of a framework. This workshop is a hands-on introduction to Web Components and the Polymer library. You’ll learn how to build your own components with both vanilla JavaScript and Polymer using the newly released Polymer 3.0 library, as well as assemble a simple PWA using existing open source Web Components. We'll also cover Custom Properties (CSS Variables), which are supported natively in all of today's modern browsers and polyfilled for older browsers by Polymer, to style our custom elements.

    S 325/327
    Thu 1:00 pm - 5:00 pm
    • Introductory and overview
    • web
    • api
    • pwa
    • web components
  • Throne of Games: Creating Your Own Agile Games

    Fun! Action! Play!

    With the fresh outlook surrounding “play” in the workplace, exciting new games are everywhere. Trying to find an Agile games that meets your specific needs may be trying. Add a whole new level of innovation and originality by creating your own Agile games.

    By creating a custom Agile game, you’ll:
    • Engage teams more deeply
    • Participants retain more information
    • Games are tailored to what outcomes you need
    • Flexibility in competiveness of participants

    Here you’ll learn how to create your own effective, innovative, and engaging games for your own teams.

    Join me and claim The Throne of Games!

    S 361
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • agile
    • coaching
  • I Kanban, Kan You?

    Are you new to Kanban and interested in learning more about this agile framework? Are you currently working in Kanban and interested in optimizing your workflow? Are you leading a team practicing Kanban, and unsure of the best way to add value? The more you know about Kanban, the greater the value you can glean from its principles. After leaving this half day workshop you will be able to…

    Evaluate when it makes sense to apply Kanban principles to your Agile practices
    Utilize Kanban to experiment with your own board
    Recognize common pitfalls and discover techniques to address them
    Learn how Kanban can help you stop starting, and start finishing

    This highly interactive workshop welcomes all participants, from those new to Kanban to active practitioners. We will work through real life, hands-on activities, while also engaging in group discussions on the finer points of Kanban and make Kanban work for you.

    S 363
    Thu 1:00 pm - 5:00 pm
    • Introductory and overview
    • agile
    • kanban
  • Develop an ASP.NET Core Web Application Hands On Lab

    Interested in ASP.NET Core but not sure where to start? Using a prebuilt data access layer built using EF Core, you will build a complete ASP.NET Core 2 web application, including Tag Helpers, View Components, Dependency Injection, and more!

    R 308
    Thu 1:00 pm - 5:00 pm
    • Intermediate
  • A Whirlwind Tour of Recurrent Neural Networks

    Neural Networks. Deep Learning. TensorFlow. What are these buzzwords? What is the latest Artificial Intelligence craze? This advanced session contains cutting-edge information not easily found online, and does not require a PhD in Machine Learning to understand. Recurrent Neural Networks (RNNs) can be used to generate text that will look like its original training data. There are many articles out there that show hilarious end-results of such adventures, but start-from-scratch walkthroughs that show the raw code, like this one, are hard to come by. This presentation will demonstrate what you need to join in, grab your own data set, process it, train it, and sample it. Training the data on a CPU can take hours, but in this session you can learn how training on a GPU with hardware acceleration takes only seconds. Come away from this session with your own datasets to “randomly” generate new bodies of text!

    Hands-On attendees will find and pull their own dataset, pre-process it, sample, and train it. If time permits, we will explore GPUs on Azure.

    Prerequisites
    Docker CLI. To set up your local computer as a Docker host and access the Docker CLI commands, install Docker Engine before starting this workshop. https://docs.docker.com/engine/installation/
    Windows. This workshop contains screenshots from a Windows 10 Enterprise PC with the latest updates.
    Bash on Ubuntu on Windows is the preferred CLI for this workshop. https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10

    A 100
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • cloud
    • azure
    • machine learning
    • ai
    • deep learning
  • Building Quality JavaScript With Test-Driven Development

    Learning Test-Driven Development (TDD) is frustrating. The first couple tests feel strange - you wonder why you're writing tests that fail on purpose. Before long, you find yourself behind schedule from spending so much time on tests. You abandon unit testing completely. You'll write them after....if you find the time.

    This workshop will ease the frustration of learning Test-Driven Development. We'll discuss the fundamentals of TDD and work together to solve problems in a test-driven manner. You'll build confidence in your ability to apply TDD in JavaScript with hands-on experience.

    Topics and activities include:

    * Instruction and exercises that will familiarize you with Jest as a JavaScript test framework
    * An introduction to the fundamentals of TDD
    * An instructor-led demonstration of TDD in practice
    * A collaborative code kata to get a hands-on, practical introduction to TDD
    * A series of hands-on exercises writing test-driven JavaScript code
    * A discussion of best practices for keeping your JavaScript test-friendly

    We'll be using Jest to build quality into our JavaScript code from the start. No specific UI framework will be targeted in this workshop - we will focus on writing and testing pure JavaScript. The experience you gain will be applicable to any JavaScript-based app, regardless of your framework allegiance.

    Participants should be able to read and write JavaScript, as no time will be spent on language details. General familiarity with writing unit tests in any language is required. Familiarity with Test-Driven Development is helpful but not required, and no TDD experience is necessary. No experience with Jest is necessary.

    A laptop with the LTS version of NodeJS installed (currently 8.11.2) is required. The corresponding version of NPM (currently 5.6.0) is also required. Detailed setup instructions are at https://stevenhicks.me/tdd-setup.

    A 201
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • javascript
    • tdd
    • testing
  • Docker Hands-On

    Docker is carefully tucked between virtualization, continuous deployment, and pure awesome. Bring your Windows 10 Anniversary Update or Mac OS X El Capitan 10.11 laptop, and we'll walk through together getting Docker for Windows or Docker for Mac installed, fired up, and get you building development and production containers. We'll dig deep into:

    - installing prerequisites and Docker for Mac or Docker for Windows
    - Dockerfile
    - Docker volumes
    - Docker Compose
    - Docker Swarm
    - Kubernetes
    - Best practices for building at cloud scale
    - Tips & Tricks for leveraging Docker
    - Administering Docker hosts

    We'll look at the commands and ecosystem around building infrastructure as code, deploying a swarm, and sharing images on Docker Hub. Come see why devs and ops love Docker.

    A 202
    Thu 1:00 pm - 5:00 pm
    • Intermediate
    • docker
  • Effective Gherkin: Quality Requirements for the Enterprise

    Developing software is a costly endeavor. Mistakes are often compounded by miscommunication. Developers and Testers make mistakes because they misunderstand the business requirements. Business analysts make mistakes because they misunderstand the stakeholders. Defects from miscommunication will often go undetected until the software has been implemented, which leads to expensive and time-consuming rework. Establishing a shared quality language is the nexus of understanding for stakeholders, designers, developers, testers, and customers. In this workshop, participants will learn how to develop a set of quality test case standards to reduce the cost of quality and meet the customer’s needs. The training will leverage the industry practice of Behavior Driven Development, which promote requirements by example & collaboration, to develop a shared language across not only a team but the whole enterprise. The shared language is written in Gherkin format (Given, When, and Then specifications) to define requirements independent of application type and focused on delivering value that everyone in the organization understands.

    A 204/206
    Thu 1:00 pm - 5:00 pm
    • Introductory and overview
    • requirements
    • bdd
    • enterprise
Session and Speaker Management powered by Sessionize.com