Loading…
Agile2015 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Development Practices & Craftsmanship [clear filter]
Monday, August 3
 

10:45

Old Code, New Tricks (Scott Ford)
Limited Capacity seats available

Abstract:
For most developers, the majority of their day involves interacting with code that someone else wrote. Working with legacy code is almost inevitable in today's development landscape, yet most of us have a negative outlook on working with existing codebases. This negativity is baked into the language we use. We work on 'legacy projects', 'dirt field projects', 'rescue projects', 'antiquated projects', 'ancient projects', while newer projects get labeled as 'greenfield' and 'blue sky'. In this talk, M. Scott Ford, Founder and Chief Code Whisperer at Corgibytes, a consultancy that specializes in working on legacy projects, shares his perspective on how you can learn to not only tolerate, but appreciate what he calls 'software remodeling'. You’ll walk away with specific techniques for working with older codebases, a new vocabulary to describe existing projects, and a framework for determining when you should re-write versus improve your project.
Learning Outcomes:
  • For most developers, the majority of their day involves interacting with code that someone else wrote. Working with legacy code is almost inevitable in todays development landscape, yet most of us have a very negative outlook on working with existing codebases. In this talk, M. Scott Ford, Founder and Chief Code Whisperer at Corgibytes, a consultancy that specializes in working on legacy projects, shares his perspective on how you can learn to not only tolerate, but appreciate what he calls “software remodeling.” You’ll walk away with:
  • •Specific techniques for working with older codebases
  • •New vocabulary to describe existing projects
  • •A framework for determining when you should re-write versus improve your project
Attachments:

Speakers

Monday August 3, 2015 10:45 - 12:00
National Harbor 8

14:00

Don’t refactor. Rebuild. Kinda. (Wouter Lagerweij)
Limited Capacity seats available

Abstract:
Each and every time, the situation is the same: a big, messy code-base, few (if any) tests and many production issues. It’s no accident that, when he joined what would be the first XP team, the first thing Kent Beck said was: “*Let’s scrap it!*”
Even with a world class team, these problems can be almost insurmountable. And we don’t usually start out with world class teams. Learning all the XP practices is hard enough without a Big Ball (of Mud) and Chain holding you back.
So maybe we should rebuild. But the Agile way: incrementally, iteratively, and with close involvement from the business.
Using examples from practice, I’ll show that:
  • We can set up a clear, loosely coupled architecture around the existing system, so we can replace parts while its running
  • We are then free to use all our modern practices for the new parts, and start Continuous Delivery from the first sprint
  • We can closely involve the business to surface the actually needed functionality, and build up Living Documentation in the process
  • We can get even an inexperienced team using and accepting practices such as TDD and ATDD quickly
Learning Outcomes:
  • The audience will see how extending some existing approaches to system improvement can give teams working on legacy systems renewed energy and belief (through experience) that high quality is possible.
Attachments:

Speakers
avatar for Wouter Lagerweij

Wouter Lagerweij

Agile Coach
I love spending time with teams and organizations to figure out how to improve the way they make software, and make it more fun.To make that happen I use the knowledge and skills gathered in over ten years of experience applying Agile processes and practices from XP, Scrum, Kanban... Read More →


Monday August 3, 2015 14:00 - 15:15
National Harbor 8
 
Tuesday, August 4
 

09:00

It's more than feature toggles: Enabling Applications for Continuous Delivery (Daniel Piessens)
Limited Capacity seats available

Abstract:
Your team has just completed creating a deployment pipeline and moving to trunk based development, and you've discovered the next bottleneck: your application's architecture! You want to develop that next great feature, but a bug fix has to go out and you don't want to create complex branching and reduce feedback. Someone has suggested this "feature toggle" concept, but no one knows how to implement it. Your seasoned developers know that hiding code is more complicated than an if statement and insist toggles will never work. Your QA people reject the notion of toggles citing that there's no way they can test all the toggle cases during a sprint. So what do you do? Watch me explain how it's possible on a real, existing application!
In this session we'll cover how to introduce feature toggles into your application to allow for new features to be hidden until they are ready for release, regardless of if they've been deployed. We'll also show how you can introduce dependency injection and micro-services into an application to help isolate new development and cover best practices to make the most of these technologies as you iterate. Finally I'll demonstrate how automated testing at the unit test and UI test layers can assist in ensuring your feature toggles are working as you expect without a lot of manual testing.
Learning Outcomes:
  • Experience how to use feature toggles and related configuration mechanisms
  • Understand how to leverage dependency injection to "branch by abstraction" within your code base
  • Introduce the concept of micro-services to allow for parallel development of functionality
  • Use automated unit and UI testing to validate feature toggles
Attachments:

Speakers
avatar for Daniel Piessens

Daniel Piessens

Senior Software Consultant, Centare
Dan is a Principal Consultant for Centare where he passionately advocates agile principles and infects his clients with DevOps and other wonderful new ideas. Having over 15 years of experience in the software industry, Dan has architected world class enterprise applications in the... Read More →



Tuesday August 4, 2015 09:00 - 10:15
National Harbor 13

10:45

Agile and Beyond: How Far Can You Go in Embedded Software Development? (Andreas Dharmawan)
Limited Capacity seats available

Abstract:
With the proliferation of IoT and consumer demand for smart homes, smarter appliances and automobiles, wearables, etc. – many traditional product-based manufacturing companies are now becoming embedded software companies.
This means that the design and manufacturing of physical products is becoming more and more complex- as it now requires the integration of both the physical components of the product, the firmware, and the myriad of software components these products contain.
Historically, embedded software developers have lagged behind IT in the adoption of Agile development practices, largely due to the requirement of developing for the target hardware.
Learning Outcomes:
  • In this session attendees will learn concrete tips and best practices used by some of the largest Embedded and IoT manufacturers to adopt and scale Agile methodologies to transform their business- all the way from product design, development, test and manufacturing.


Speakers
AD

Andreas Dharmawan

Senior Director, Solutions and Services, Electric Cloud
Andreas Dharmawan is the Senior Director, Solutions and Services at Electric Cloud. He leads technical pre-sales, post-sales, professional services, and training groups in the US, Japan, Korea, China and the UK. He develops packaged PS and training offerings that accelerate adoption... Read More →


Tuesday August 4, 2015 10:45 - 12:00
National Harbor 8

10:45

Data Done Right: Applying Agile and XP Concepts To Enterprise Data Integration (Joseph Frazier, Randy Loushin)
Limited Capacity seats available

Abstract:
Data projects often come with the perception that they are lengthy and expensive endeavors, which is an issue when speed-to-market is critical to business success. In an age where data is everything, how do you ensure projects are delivered both on-time and with the highest quality?
Come see how Nationwide Insurance has combined the best practices found in Agile, Lean, and Extreme Programming to deliver data integration projects faster, cheaper, and with higher quality. Topics to be covered include:
-- Learn how to achieve smaller, incremental delivery while navigating the waters of big business process. -- Give the customer exactly what they want by tearing down the walls between IT and Business. -- Follow the life of a story card as it enters the development life-cycle, using Cucumber and Rspec to test drive our application. -- Discover how blending the lines between development and testing results in increased productivity and team capability. -- Solve the headaches found during upgrades and regression testing through continuous integration. See all this and more as Nationwide Insurance shows you what we think is the correct way to deliver data!
Learning Outcomes:
  • Practical use of test driven development for data integration.
  • Approach to facilitating poly-skilling of resources between development and testing roles, to build a true software craftsman.
  • How to leverage continuous integration, with data to prevent defect injection in a complex environment.
  • Ability to adapt iterative development concepts to data.
Attachments:

Speakers
avatar for Randy Loushin

Randy Loushin

Nationwide
Randy Loushin has 6+ years in the data integration and data warehousing space, and has been leading data integration projects using Agile and test driven development for the past three years. At Nationwide Insurance, a Fortune 100 company with an operating revenue of $25 billion... Read More →



Tuesday August 4, 2015 10:45 - 12:00
Chesapeake 1/2/3

14:00

A Gentle Introduction to Reactive Extensions (Hadi Hariri)
Limited Capacity seats available

Abstract:
Reactive Extensions have been around for quite a while. First originated in the Microsoft space, they are now available pretty much on any language and platform, including Java and JavaScript. In this session we’re going to understand what reactive extensions are all about and how we can leverage them to create asynchronous and scalable applications. We’ll see the benefits they provide over other more traditional asynchronous models and see how to put them to use with practical examples. This session is about finally understanding Rx and removing all the myth surrounding it.
Learning Outcomes:
  • Learn the basics of reactive programming and what benefits these provide, as well as where to use it.
Attachments:

Speakers
avatar for Hadi Hariri

Hadi Hariri

Developer Advocate, JetBrains
Developer and creator of many things OSS, his passions includes Web Development and Software Architecture. Has authored a couple of books, a few courses and has been speaking at industry events for nearly 15 years. Currently at JetBrains leading the Developer Advocacy team. Spends... Read More →


Tuesday August 4, 2015 14:00 - 15:15
National Harbor 8

14:00

Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture (Allison Pollard, Mike Rieser)
Limited Capacity seats available

Abstract:
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
Learning Outcomes:
  • Why technical excellence is important and the impact of having only a small percentage of developers applying good technical practices
  • How to influence the team towards the right practices while fostering their sense of ownership
  • What craftsmanship means to other roles (e.g., QA, Scrum Master, Product Owner, manager)
Attachments:

Speakers
avatar for Allison Pollard

Allison Pollard

Agile Coach, Improving
I am an agile coach working with 20 teams in a large enterprise, and I love to create communities for those interested in developing their agile instincts; I mentor project managers to become great Scrum Masters and coach managers to grow teams that deliver amazing results and an... Read More →
avatar for Mike Rieser

Mike Rieser

Practice Director, Agile and Software Development, Fenway Group



Tuesday August 4, 2015 14:00 - 15:15
Chesapeake 7/8/9

15:45

Rescuing legacy software from impending doom (Refactoring from the trenches) (Martin Cronje, Jacques De Vos)
Limited Capacity seats available

Abstract:
Dealing with an ageing code base is one of the hardest challenges that software development teams face. Legacy code bases can slow teams to a crawl, and therefore it is critical to solve this on the road to agility.
Software rewrites fail at alarming rates! Refactoring - a safer approach - has emerged as the de-facto technique to tackle this challenge.
In this interactive session we will equip attendees with techniques and lessons to help them refactor more effectively. We will share our experience gained while working with various software teams, from start-ups to mid-sized, that attempted to rescue their legacy from impending doom.
Learning Outcomes:
  • Effectively justify the investment in refactoring legacy code to Product Owners.
  • When and how to apply different refactoring workflows on legacy code.
  • Practical tips to avoid common pitfalls when refactoring code.
Attachments:

Speakers
avatar for Martin Cronje

Martin Cronje

Founder and Developer Coach, nReality
Martin Cronje is a software developer who spends most of his time coaching software teams to help them master their craft. Over his 15 year career he has contributed to projects ranging from mobile, data analytics to high volume mission-critical systems in government and financial... Read More →
avatar for Jacques de Vos

Jacques de Vos

Founder, Developer and Coach, nReality
With more than 10 years of experience in leading development teams on cutting-edge software systems, Jacques is driven to build systems, teams and processes that not only address immediate project needs, but also enable clients to meet their strategic goals.Most of his experience... Read More →


Tuesday August 4, 2015 15:45 - 17:00
Chesapeake 7/8/9
 
Wednesday, August 5
 

10:45

Essential Skills for the Agile Developer (Al Shalloway)
Limited Capacity seats available

Abstract:
It is time to get back to basics. People believe that since they know what the strategy, iterator, adapter or composite pattern are they believe they know design patterns. Unfortunately, this is akin to someone who knows 4 recipes thinking they are great cooks. Design patterns give insights into the proper way of design. The patterns, as solutions themselves, are only somewhat valuable. A major challenge in the Agile community today is people not manifesting what they know in their code. What you know in your head has no value if it doesn't manifest in your code.
Al Shalloway has been teaching design patterns for almost 2 decades. This talk is about getting the essence of the teachings of design patterns at a basic coding level. That is, by focusing on 6 basic practices:
1 Programming by intention
2 Separate Use From Construction
3 Consider tests before writing code
4 Encapsulation as a design technique
5 Avoiding redundancy that will come back to cost you
6 Refactor To The Open Closed
Our experience has shown that if you write code with these practices, your code will be of high quality even if you are not aware of the patterns you are likely implementing.
Learning Outcomes:
  • How to write code in an extensible manner by attending to a handful of basic practices.
  • How the aforementioned practices will result in design patterns being used.
  • That writing code with high quality takes less time than writing code with low quality.
Attachments:

Speakers

Wednesday August 5, 2015 10:45 - 12:00
National Harbor 4/5

15:45

Sustainable Test-Driven Development (Scott Bain)
Limited Capacity seats available

Abstract:
Sustainable Test-Driven Development
As Test-Driven Development has gained in momentum and popularity, it has also been called into question as a viable development strategy past the first 3-4 iterations in Agile projects. Many report that the test suite generated by the process can become a maintenance problem in and of itself, eventually collapsing under its own weight.
Is this an inherent problem with TDD, or simply a result of a misunderstanding of how TDD works, and what needs to be emphasized in order to keep it sustainable? In this presentation we will introduce the basics of automated test-driven development, and then briefly examine the specific factors that make it a sustainable process. This requires more than simply knowing how to write unit tests, but implies a style of test design that does not become un-maintainable as the test quite matures and grows in size.
Learning Outcomes:
  • Learn how to conduct the Test-Driven development process in a sustainable way. Also learn how/why TDD is also Test-Driven *Design*.
Attachments:

Speakers
avatar for Scott Bain

Scott Bain

Senior Trainer/Consultant, Net Objectives
Scott Bain is a 35+-year veteran in computer technology, with a background in development, engineering, and design. He has also designed, delivered, and managed training programs for certification and end-user skills, both in traditional classrooms and via distance learning. Scott... Read More →


Wednesday August 5, 2015 15:45 - 17:00
National Harbor 12
 
Thursday, August 6
 

09:00

Science of Technical Debt (Brian Randell)
Limited Capacity seats available

Abstract:
In this session, Brian will cover what technical debt is and what issues it causes for your teams and organization. He’ll then cover how you can identify and quantify it using metrics and analytics. Then he’ll look at ways that you can apply rigor and develop a plan to address your existing debt. He’ll show you with tooling how to analyze and adjust your development processes to repay the debt. Finally, he’ll provide guidance on how you can reduce the amount of debt your team takes on during development.

Learning Outcomes:
  • What is technical debt
  • How does technical debt get into your development processes
  • How to pay off technical debt
  • How to prevent technical debt from becoming the norm in your systems



Speakers
avatar for Brian Randell

Brian Randell

Partner, MCW Technologies LLC
Brian A. Randell is a Partner with MCW Technologies LLC. For more than 20 years he has been building software solutions. He educates teams on Microsoft technologies via writing and training—both in-person and on demand. He’s also a consultant for companies small and large, worldwide... Read More →


Thursday August 6, 2015 09:00 - 10:15
National Harbor 2

10:45

Agile Craftsmanship and Technical Excellence, How to Get There (Steve Ropa)
Limited Capacity seats available

Abstract:
We all know that continuous attention to technical excellence and good design enhances agility. We also know that Craftsmanship is currently the best known approach to professionalism in development. But what skills really get us there, and how do we develop them in ourselves and others. We will explore briefly what it means to be an apprentice or journeyman, but then delve deeper into how to develop these skills in ourselves and our teams. This discussion will be based on a matrix of skills and professional practices necessary and the activities necessary to show competence in said skills(hint: its not a test!)
Learning Outcomes:
  • Attendees should have a good idea of a way to help develop themselves and their team members' technical expertise and also foster an atmosphere of Craftmanship in their workshops.
Attachments:

Speakers
avatar for Steve Ropa

Steve Ropa

Agile Consultant, VersionOne
Steve has 26+ years of experience in software development and 16 years’ experience working with agile methods. Steve is passionate about bridging the gap between the business and technology and nurturing the change in the nature of development. He has currently been focusing many... Read More →


Thursday August 6, 2015 10:45 - 12:00
National Harbor 12

14:00

Don't Analyze and Ignore, Automate and Act! (Scott Dillman)
Limited Capacity seats available

Abstract:
Static-code analysis tools provide a wealth of information about your code, and highlight numerous opportunities for improvement. If you are like most teams, however, you are rarely given a block of dedicated time to devote to this technical debt, and therefore critical opportunities get lost in the information overload of the analysis results. The most opportune time to identify and act on coding issues is as they are being introduced. In this session, you will learn how to leverage your automated build to monitor your analysis results, and to immediately act on impacted areas that are most important to you. For example, you will learn how to leverage your build to detect duplication introduced into the code base, a change to an area of known complexity, or matches on keywords frequently linked to defects. You will then learn how to have the build automatically initiate a code review in response to these findings. This session will also highlight additional opportunities to leverage code analysis in your build such as automating the generation of release notes, and automating the maintenance of a web-service catalog. The discussion will cover both custom tools and techniques, as well as identifying opportunities to leverage and integrate off-the-shelf products.
Learning Outcomes:
  • Learn how to have your automated build monitor your static-code analysis results
  • Learn how to monitor for changes to sensitive areas of your code base
  • Learn how to monitor for keywords introduced that may be indicative of potential problems
  • Learn how to automatically trigger code reviews based on analysis results
  • Learn how to leverage code analysis and automation to create automated release notes
  • Learn how to leverage your build to create and maintain a web-service catalog
Attachments:

Speakers
avatar for Scott Dillman

Scott Dillman

Senior Information Systems Director, Travelers
I have over 20 years of experience in software development, the majority of which has been spent in technical-leadership roles leading teams of software developers, application architects, and system analysts. I have worked in several industries including automotive, telecommunications... Read More →


Thursday August 6, 2015 14:00 - 15:15
Chesapeake 7/8/9

14:00

TDD in Embedded Systems... All The Way Down To The Hardware (Neil Johnson)
Limited Capacity seats available

Abstract:
At Agile2014 in Orlando, you watched a crazy person push around a bright blue cart while mumbling incoherently about how TDD can be used to build software AND hardware. Well... it's a year later and that crazy person is back with a hardware demo that is bigger and much, much better.
In this talk, we'll look at how TDD can be used to build a complete embedded system, from the embedded software to the drivers, right down to the hardware. We'll look at how TDD translates to hardware development and discuss the lessons I've learned about thread management, timing, design partitioning, refactoring and testability. The best part is the live demo. We'll start with a real application running on a reprogrammable FPGA platform. From there, we'll change code and tests on the fly, run the tests and display the results from a true embedded system built entirely with TDD.
Learning Outcomes:
  • * TDD can be used to build entire embedded systems
  • * TDD changes how we think about hardware design partitioning and testability
  • * unit testing helps us rethink threading and clocking strategies
  • * incremental development can be done in hardware
Attachments:

Speakers
avatar for neil johnson

neil johnson

Hardware Verification Engineer, XtremeEDA
Neil Johnson is a hardware test specialist and currently holds the position of Principal Consultant at XtremeEDA Corp, a design services firm specializing in all aspects of ASIC and FPGA development. He is co-moderator for AgileSoC.com, a site dedicated to the introduction of Agile... Read More →


Thursday August 6, 2015 14:00 - 15:15
National Harbor 8

15:45

Agile Architecture - Ideals, History, and a New Hope (Gary Pedretti)
Limited Capacity seats available

Abstract:
Application and Enterprise Architecture has been put through its paces in the agile world over the years...
  • Ideals: architectural work inside the development team, shortening the design-to-implementation loop as much as possible
  • Misinterpretations: "We don't need no stinking Architects!" screamed the Keyboard Cowboys
  • The inevitable backlash of misinterpretations, lack of craft, and the inertia of the status quo: Architectural Epics and Runways continuing to encourage a split between business and technology, command-and-control capital-"A" Architects
Where are we now? What have we learned? More importantly, what have we forgotten?
Could "The best architectures...emerge from self-organizing teams?" No, really?
Now more than ever, we need to go back to the core principles of agility, craftsmanship, and evolutionary architecture.
This talk will review the history of application architecture in the agile development world, explain common pitfalls, and provide concrete patterns and practices for growing and maintaining architecture in a sustainable, agile way.
Learning Outcomes:
  • Understanding the history of enterprise and application architecture in the agile development world
  • Common pitfalls, counter arguments, and misinterpretations of "Emergent Architecture" and "Evolutionary Architecture"
  • Pros and cons of Evolutionary Architecture and its alternatives
  • Real-world Evolutionary Architecture techniques and practices, firmly rooted in first principles
Attachments:

Speakers
avatar for Gary Pedretti

Gary Pedretti

Founder and Owner, Sodoto Solutions
I am an agile practitioner, Scrum trainer, application architect, and software craftsman. With over sixteen years of experience, I help companies achieve their goals in delivering business value through software. In 2006, I took a class on Scrum with Ken Schwaber. Since then I have... Read More →



Thursday August 6, 2015 15:45 - 17:00
Chesapeake 7/8/9

15:45

Node.js Crash Course (David Neal)
Limited Capacity seats available

Abstract:
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.
Learning Outcomes:
  • Pros and Cons of Node.js over .NET
  • How to get started with Node.js
  • How to create a Node.js project in Visual Studio
  • How to debug Node.js applications
  • How to deploy a Node.js application to Microsoft Azure
  • Additional learning resources
Attachments:

Speakers
avatar for David Neal

David Neal

Developer Advocate, LeanKit
David is a family man, geek, musician, motorcyclist, speaker, and software developer living in North GA. He's currently a Developer Advocate for LeanKit. He's a Microsoft MVP, and runs on a high-octane mixture of caffeine and bacon.


Thursday August 6, 2015 15:45 - 17:00
Chesapeake 10/11/12
 
Friday, August 7
 

09:00

Growing a craftsman through innovation & apprenticeship (Carlos Sirias, Sofia Parissos)
Limited Capacity seats available

Abstract:
Are you pushing your organization to master Agile skills? Do you have the knowledge but not everyone in your organization does? Do you want to develop novices into experts? Do you want to create new products and services, but lack an organizational culture which promotes innovation? perhaps an apprenticeship program is right for you, one that is focused on innovation.
An apprenticeship program will secure the qualified professionals our organizations need by providing the experience our industry’s current model lacks. By allowing apprentices to work on projects without “real” clients been involved (safe to make mistakes) with minimal investment we will be able to develop their core competencies while they work on something creative that could potentially become a new product or service.
Learning Outcomes:
  • Understanding the apprenticeship paradigms
  • How to get started with an apprentice program
  • Lessons learned from managing an apprenticeship program
  • Principles to base an apprentice program on
  • Apprenticeship ROI
  • How to embed innovation in an apprenticeship
  • Benefits of apprenticeship innovation.
Attachments:

Speakers
avatar for csirias

csirias

CEO, PERNIX
Co-founder of Pernix. A software development consultancy from Costa Rica with clients in America and Europe.


Friday August 7, 2015 09:00 - 10:15
National Harbor 13