Event Details

Location & Dates

Sheraton Reston Hotel
11810 Sunrise Valley Drive
Reston, VA 20191
View Map

Event Management

Agile IT! is a production of the No Fluff Just Stuff Symposium Series. Since 2002, NFJS has produced over 130 technical events with over 21,000 participants. Be sure to attend Agile IT! and find out what the NFJS experience is all about!

No Fluff Just Stuff

Session Descriptions

Andrew Glover - Co-author of "Continuous Integration"

Andrew Glover

Easy Behavior Driven Development

Behavior-driven development, or BDD, has attracted a lot of attention via RSpec in the Ruby community, but BDD's roots stem from JBehave, a Java based framework modeled off of the xUnit paradigm.

Forget quality-- it's all about speed

The discussion around Agile software development often times centers on the notion of increased software quality-- while this is a benefit of disciplined Agile software development, quality doesn't sell. While surveys often site quality as a prime concern of businesses, quality rarely gets attention when it comes to budgets. Try as you might, if you wave the quality flag, you'll be ignored. On the contrary, speed is what sells. The beauty of Agile, of course, is that if you do it right, you get both increased software quality and most importantly, a faster delivery speed.

Bob Payne - Agile Consultant and Host of the Agile Toolkit Podcast

Bob Payne

CLUK – A Multi-Team Agile Project Simmulation

Experience the joy of coordinating and integrating the code of multiple
teams and multiple applications and save the world. This Scrum of Scrums
simmulation will provide attendees insights into the complexity of
coordinating multiple projects in an agile manner.

Scaling Agile Projects – Theory and Practice

In theory, theory and practice are the same … in practice they never are.

This workshop will discuss the real world challenges and techniques used
for scalling agile projects gained on multiple 100+ member agile projects.


Chris D'Agostino - Chris D'Agostino is the founder and CEO of Near Infinity

Chris D'Agostino

Agile for the Real World

So your organization's strategic IT direction is to use Agile, but word is it's just a fad, and anyway, using Agile means that your project is going to be filled with undisciplined, unplanned, unpredictable development...right? Just the opposite. Walk away from this presentation with field-tested tips, lessons learned, and case studies on using Agile to deploy high-quality software that your customers actually need and use.

Open source software versus COTS

There is a lot of debate over the use of open source software compared
to buying COTS. While the cost of open source may be appealing, the
level of skill needed to integrate disparate open source products and
the technical support available might make selecting a well-designed,
well-supported COTS solution a better choice.

David Bock - Principal Consultant, CodeSherpas Inc.

David Bock

Hindsight is 20-20 - the Agile Retrospective

Agile development teams should always be looking for ways do develop software better, and the iteration is the perfect tool for doing so. Each iteration we can tweak, tune, adjust, and readjust our practices. So how does an agile team decide what to tweak? This is the purpose of the Agile Retrospective.

The Agile Product Owner

Agile software development isn't just about the development team or managers... the customer has an active role too. The customer should be prioritizing the stories in each release, potentially working onsite in constant contact with the development team, and even participating in daily status meetings.

Done well, the customer's presence has a positive influence on the development iteration. Done poorly, the customer detracts from the team's focus. So how do you be the customer of an agile team? How do you teach someone to be that customer?

Your app is done - now what?

After months of effort, your software is done. Or is it? Very few successful projects in our industry are really 'done'... The success of the software often breeds feature requests, spinoff ideas, scalability concerns, not to mention the continued maintenance of the hosting platform, security, data backup, and so on.

David Hussman - Agility Instructor/Mentor

David Hussman

Agile Management & Managing Agility

Management and agility are not mutually exclusive. Many managers are already working in an agile manner as a means to improve, produce, or simply survive. Other managers hear about projects using agile methods and struggle to find a place in the project community.

This session provides a new way to think about managing projects. Some managers will find that their existing practices and skills are supported and enhanced by the forums and metrics provided within an agile project while others will be challenged by some of the principles and practices.

Agile Product Planning: Building Strong Backlogs

Agile methods have cut through the noise and lighten the burden of crafting requirements documents. While this is good, it also shows clearly see that defining and guiding the creation of software products is challenging work. Most agile projects use a product backlog as a place to hold anything that will improve the product.

Creating strong product backlogs is less defined than many of the other agile practices. Backlogs contain many items: user stories, architectural spikes, investments in updating and maintaining development and other environments, and more. While it is clear that developers primarily code, it is often less clear who adds to and grooms the backlog.

Automating Customer Acceptance

Why should the value of test driven development (TDD) stay stuck in the realm of coding? The ideas behind TDD are now being successfully applied to the automation of business value. While this has been going on for some time within the agile community, it is not starting to spread to main stream development.

There are more tools are coming available everyday which allow developers, testers, and customers (or product owners) to work together to automate acceptance tests. This process helps clarify the needs of the end user before development begins and removes more of the wasteful work based on incorrect assumptions from vague requirements.

Coaching and Leading Agile Projects

Successfully coaching agile communities involves using a wide variety of skills. Coaches help guide coding and design, collaboration and communication, the writing and telling of user stories and much more. The coach needs to continuously show and teach the varied interactions that connect and support the entire project community.

This session will explore and teach coaching skills. The session will reference a wide variety of agile coaching as well as drawing from cross disciplinary techniques like those used by music producers to help foster creativity while helping to ensure products are delivered and challenges confronted.

Test Driven Everything!

Why do we wait to test? Of course when you read this your thoughts went to testing code. While we still wait to test code and products early, we also wait to test ideas, projects, product direction, meeting and more. This session will show you (or challenge you) to think about test driven beyond the coding realm. You will be doing some thinking and talking and other things that involve more than just listening to someone talk with slides for 90 minutes.

Esther Derby - Co-author of "Behind Closed Doors: Secrets of Great Management"

Esther Derby

Agile Retrospectives

"Experience is not what happens to a man; it is what a man does with what happens to him." A. Huxley.
The same is true for software teams. Too often, we don't do much ? if anything ? to squeeze learning out of experience. Retrospectives are a way to take "what happens" during a software development project and use it to build understanding and capability. This team learning process is an integral part of every Agile method.

Managing in the Agile Organization

When agile teams self-organize, some managers believe their work is done. Not so. While a manager?s focus may shift away from delegating, making assignments, and tracking progress, there is still plenty to do.

Jared Richardson - Agile coach and co-author of Ship It

Jared Richardson

Agile Software Testing Strategies

Creating and maintaining a solid automated test suite is critical to an Agile strategy, but often we're just told to "Do it." In this talk we'll look at several pragmatic strategies for creating and building your suite.

Build Teams, Not Products

A great team builds great software, but how do you build a great team?

Credit Card Software Development: Recognizing and Repaying Technical Debt

Technical debt has long been recognized in technical circles for years, but convincing your manager to budget time to repay "technical debt" has always been problematic. Let's couch the term technical debt concept in language more familiar to our managers: credit card debt.

Gradual Agile: The Secret to Introducing Agile Practices

Agile practices are popular because they work, but getting people to take that first step can be tricky.

Restoring Agility: Getting Your Team Back on Track

An agile team is first and foremost "a team". When that gets lost in the rush to get a product out the door, the people suffer as well as the products. It's bad for the company, but even worse for the team members. We'll learn how to defuse some of the more common problems you'll run into on dysfunctional teams.

Techniques 2008

There are a number of great techniques you can use across technologies and projects. Come hear some of my favorites and contribute a few of your own. We'll discuss topics from DRY to creating a zone defense for your product.

Jeff Kunkle - CTO at Near Infinity

Jeff Kunkle

Refactor Your Developers

The benefits associated with having your development staff exposed to multiple languages, even if they deploy applications in one primary language, are enormous.

Johanna Rothman - Speaker, consultant, author for managing product development

Johanna Rothman

15 Tips for Speeding Up Your Project

Is your project plodding along? Would you like to know how to speed it up?

You and your team can learn how to start a project faster. Learn how to estimate your organization's "sweet spot," that period of time in which your organization can start and end projects. Discover how to make decisions about whether or not to start a project, including how to help your managers define the project portfolio to see where your project fits.

Becoming a Pragmatic Project Manager: Lessons Learned in Project Management

You've managed projects but they're never easy. They don't fit into the nice definitions found in project management books. Your schedules are generally off. There are always unkind surprises. Although you're not failing, you feel you could be more successful.

Hiring For An Agile Team: Detecting Candidates Who Will Fit With the Team

Even the people who claim experience on Agile teams are not necessarily working the way your team works. And, because not everyone is using Agile approaches, some people who aren't using strictly Agile approaches may be perfect for your team. If you've tried to hire people recently, you know you can't reply on people with or without "Agile" experience to be just right for your open position--and it wasn't a question of technical skill.

Schedule Games: Recognizing and Avoiding the Games We Play

Are your schedules off as soon as you create them? Does your management expect you to meet impossible deadlines? Have you ever been surprised by how long tasks took to complete? If you answer yes to any of these questions, chances are someone in your organization is playing schedule games.

John Carnell - Manager - Platform Engineering w/Thrivent Financial

John Carnell

It's About Leadership

The role of the technical lead has radically changed over the last several years. It used to be the technical lead was about being the senior developer on a team that made sure the code was getting written. You were the individual who knew the most about the technology stack you were the application with.

However, as projects have gotten larger and technical leads now having to deal with such things as offshore development teams and rapid delivery, the role of a technical lead has now shifted from less about technology and more about leading other people. The success or failure of project often hinges on the quality and depth of its leadership and most of us in our careers can point back to exactly this.

The Art of Producing Software: Applying Lean Concepts to Transform Your Software Development Organization

Waste is an insidious beast that drains the productivity of development teams and the organizations they work in. Many organizations are now realizing that by turning their gaze inward they can streamline their overall development processes, deliver higher quality products faster and save significant amounts of money.

This talk will look at how to use Lean and Toyota Production Systems manufacturing techniques to streamline how your team builds software.

Ken Sipe - Technology Director, Perficient, Inc. (PRFT)

Ken Sipe

7 Habits of Highly Effective Developers

Thoughts lead to words, words lead to action, actions lead to habits. In this session we'll sharpen the development saw in the process of understanding what makes a hyper-productive programmer. The focus will consist of developer habits and development processes.

Iteration 0

The success of an Agile / SCRUM project is a successful start. The first interaction is often referred to as iteration 0. Other iterations have a set of stories with clear acceptance certain which establishes the velocity of the team and its effort. What then is accomplished in iteration 0? How do we get an Agile process started.

Kirk Knoernschild - Software Developer & Mentor

Kirk Knoernschild

Strategic Continuous Integration

Agile has grown and evolved from a very simple developer centric process defined by Extreme Programming to a complex product brand that enterprises are using to bring more resiliency to governance programs, enterprise architecture initiatives, and application portfolio management efforts. But at its roots, there remains a key fundamental aspect that defines the essence of agility on the software development project.

Continuous Integration is a strategy where software is integrated and built continuously, or at least as frequently as is feasibly possible. Many teams have adopted a continuous integration strategy, yet do not fully capitalize on the benefits that continuous integration brings to the software development effort. This session discusses the subtle though significant ways that continuous integration can be leveraged strategically - from helping to align IT with the business to enforcing architectural constraints - and shows that this fundamental aspect of agility is the defining and necessary element of a truly agile development experience.

Tactical Continous Integration

The practice of Continuous Integration facilitates early visibility into the development process by regularly conducting software builds, thus integrating disparate software pieces earlier than later, which often times minimizes the interval between when a defect is coded and when it is discovered. Often times though, Continuous Integration is thought of as a tool, which leads to a false sense of ease when it comes to adopting a Continuous Integration process.

This tutorial will walk students through a series of exercises on a fictional Java project where an automated build system is created that facilitates compilation, testing, inspection, and deployment. This build system is then plugged into a CI server and students will code a series of features using Agile techniques like developer testing, which will ultimately demonstrate how a Continuous Integration process reduces risk and improves software quality.

Mark Johnson - Director of Consulting at CGI

Mark Johnson

Getting to Acceptance: Validating your requirements with FitNesse

How do you know when you are "DONE" and the assignment is complete? Well of course you are done when your requirements are complete. But it always happens that your interpretation differs from the customer/management's interpretation.

Promoted to Technical Lead. Now what do I do?

You have just received the much desired promotion to Technical Team Lead The team is waiting your direction. You What should you do now?

Software Development Risk Management

Once you leave academic "hello world" projects, software development is full of unknowns which result in the high rate of project failure we see too often in industry. Reasons for a project failure will vary based on the stakeholder interviewed.

Software Project Estimation

As developers we dread when management requests a project estimate. Typically, you do not have the opportunity to understand all the requirements, the team composition is unknown, and you have been given until tomorrow end of day to produce an estimate. Several months later everyone is yelling at you about the software estimation errors encountered during the project.


The Software Development Manager's Dashboard

Development teams are increasingly scattered all over the world, often a development manager now days will never meet the entire team face to face.

Matthew Bass - Software Developer & Entrepreneur

Matthew Bass

Pragmatic Pair Programming

Pair programming. It's nasty. It's evil. The only people who actually do it are those Extreme Programming zealots, and we all know what they're like. Pair programming deserves to be condemned to the trash heap of practices that failed, destined to go down in history as the black sheep of agility. Right? Well, maybe not. Maybe pair programming does have some value after all. Maybe it can be redeemed if done the right way, the pragmatic way.

Michael Nygard - Agile technology leader and dynamicist

Michael Nygard

Design for Operations

If your software fails in production, nobody will care how great the development project was, or how well the system passed QA. Production operations, the domain of your systems' least-appreciated stakeholders, is where the rubber meets the road. Come learn how to build your systems to thrive in Operations.


Failure Comes in Flavors: Part One

The typical JEE application does not reach the fabled "five nines" of availability. Far from it. It's more like "double eights". Come see why enterprise applications and web sites are only serving users 88% of the time instead of 99.999%.

The bad news: applications are more complex and error-prone than ever. Site development projects are really enterprise application integration projects in disguise. SOA portends far-flung interdependencies among unreliable services. Failures will spread wider and wider, reaching across your company and even crossing boundaries between companies.

How do monumentally costly failures begin, develop, and spread?

Can they be averted?

Once you hit Release 1.0, your system will be living in the real world. It has to survive everything the messy, noisy real world can throw at it: from flash mobs to Slashdot. Once the public starts beating on your system, it has to survive--without you.

Did you know that just having your database behind a firewall can bring down your system? Ill show you that and many other risks to your system. You will learn the biggest risks to your system and how to counter them with stability design patterns. We'll talk about the best way to define the term "availability" and why the textbooks get it all wrong.


Failure Comes in Flavors: Part Two

What can we do about the dismal uptime of typical applications? We are asked to provide "five nines", but only reach 88%, on average. Come learn how to prevent the Stability Antipatterns from biting you. Apply these Stability Patterns to contain damage, recover from shocks, and survive disasters.

In part 1, we looked at common sources of system failure: those commonly created structures that exacerbate problems.

Now, we'll take on Stability Patterns that not only stop the antipatterns, but also add resilience to your system. Apply your new failure-oriented mindset to unchain yourself from the pager and save your company from embarrassing--and costly--disasters.

These patterns combat entire classes of failure modes, making your system robust against even unforeseen problems.

The 90 Minute Startup

What do you get when you add agile programming, automated deployment, self-describing systems, and virtualization? You get the quickest path from a great idea to a live site.

In this session, Michael will create and deploy a fully-functional web site. By the end of 90 minutes, you will be able to access the fully-deployed site live on the 'Net.

It used to take weeks and months to stand up a new site. You had to buy hardware, rent (or build) space, rack, stack, and cable it, and then you'd finally get to start installing operating systems, databases, and so on.

These days, none of that is necessary. You can run a real business on the net without ever owning anything. Best of all, you can be up and running in a single day.



Neal Ford - Application Architect at ThoughtWorks, Inc.

Neal Ford

Real World Agile

There's the perfect world, and then there's the world you have to live in. Lots of organizations would like to reap the benefits of Agile development techniques but don't know how to get started. This session discusses the key benefits you can derive from Agile software development so that you can decide for yourself how many agile techniques will work within your organization.

Test-driven Design

This session demonstrates how stringent TDD improves the structure of your code.

Ryan Shriver - Business and Technology Consulting

Ryan Shriver

Agile Engineering for Architects

Agile methods are increasingly becoming mainstream as teams and organizations transition from traditional "waterfall" methods. Adopting concepts from Lean and Scrum often have dramatic impacts on reducing delivery times for software projects, but without a committed focus on quality from architects and developers, these initial gains may fade in time. As the size and complexity of larger projects challenge organizations new to agile, a tendency to revert back to "big upfront design", "analysis paralysis" and "test and fix" cycles may return. This doesn't have to be the case, even on very large projects, teams and systems.

Agile Engineering for Managers

Agile methods are increasingly becoming mainstream as teams and organizations transition from traditional "waterfall" methods. Adopting concepts from Lean and Scrum often have dramatic impacts on reducing delivery times for software projects, but without a committed focus on quality from management, these initial gains may fade in time. As the size and complexity of larger projects challenge organizations new to agile, a tendency to revert back to "over-definition of requirements" and "big upfront design" cycles may return. This doesn't have to be the case, even on very large projects, teams and systems.

Delivering Measurable Business Value with Agile

Everybody is talking about delivering business value but what does this mean in Agile? Scrum, for example, puts a lot of emphasis on the Product Owner's role of prioritizing backlog features and ensuring the highest priority features are delivered first. But how does a product owner do this so they can demonstrate measurable value delivered? How do the product owners, or the business leaders, articulate the real goals of the project or product under development for everyone to clearly understand?



Sanjiv Augustine - President, LitheSpeed

Sanjiv Augustine

Transitioning to Agile Project Management

How should managers transition from PMBOK-style management to Agile? As more organizations adopt Agile project delivery methods, the concern for management has shifted from whether to adopt them to how. Switching to Agile often brings about significant change, but ensuring that this transition is positive in nature requires an informed, pragmatic approach.

Scott Davis - Author of "Groovy Recipes" & TDD Expert

Scott Davis

Mocking 101

Modern dependency-injection (DI) frameworks like Spring and Guice
emphasize the flexibility of an interface-driven design. By
programming to the interface instead of the implementation ( List x =
new ArrayList() ), you are well on your way towards easily mocking out
behavior for testing purposes (i.e. swapping out implementations
behind the scenes). This is the hallmark of a loosely-coupled
application, and we'll use it to our advantage to dramatically ease
our testing duties. Testing individual classes in isolation is
important, and writing concrete mock objects is one way to achieve
this goal.

Real World Test Driven Design

Everyone has their favorite excuses for not writing unit tests: "It
takes too much time", "It's not my job", "But it compiles!" In this
presentation we talk about the importance of testing, and how the act of
writing your own unit tests leads to better architected code.

Refactoring into Testability

"This code is simply too hard to unit test." That is a common refrain
when dealing with software that hasn't been expressly written to be
testable. In this section we look at "untestable code"
and explore various ways to make it more testable. What you'll come to
realize is that "untestable code" is really another way of saying
"poorly architected code." We'll demonstrate simple, common-sense
strategies that solve both problems.

Venkat Subramaniam - Founder of Agile Developer, Inc.

Venkat Subramaniam

Essence of Agility

Begin agile is more than saying your organization is committed to being agile or your team is agile.

Mocking to facilitate unit testing

Unit Testing is easy if the object you're testing has no dependencies. In reality, however, objects have dependencies,
often making it difficult, if not impossible, to automate tests. Mock objects can help deal with these dependencies
and allow you to automate your tests.

Practices of an Agile Developer

You have worked on software projects with varying degree of success. What were the reasons for the success of your last project? What were the reasons for those that failed? A number of issues contribute to project success - some non-technical in nature. In this presentation the speakers will share with you practices in a number of areas including coding, developer attitude, debugging, and feedback. The discussions are based on the 2007 Jolt productivity award winning book with the same title as the talk.


Tools to facilitate Agile Development

The first item in the Agile Manifesto reads that we must prefer "people and interaction over process and tools."
Given a choice between average people with superior tools and superior people with average tools, you are likely
to achieve greater success with the latter. However, it is important to be continuous and not be episodic?so you
want to get continuous feedback about the state, health, and quality of your code and application. Tools can
help us a great deal to realize this and make us productive.

Towards an Evolutionary Design

A good design is critical for success with agile development.
That does not mean a big up-front design. The design has to
be evolutionary. However, the design you evolve must be
extensible and maintainable. After all, you can't be agile
if your design sucks.



Andrew Glover

close

Andrew Glover Co-author of "Continuous Integration"
Andrew Glover is the President of Stelligent Incorporated, which helps companies address software quality with effective developer testing strategies and continuous integration techniques that enable teams to monitor code quality early and often.

Andrew was the founder of Vanward Technologies, which was acquired by JNetDirect in 2005. He is the co-author of Addison Wesley's "Continuous Integration", Manning's "Groovy in Action" and "Java Testing Patterns". He is an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals. He actively blogs about software quality at thediscoblog.com and testearly.com.


Bob Payne

close

Bob Payne Agile Consultant and Host of the Agile Toolkit Podcast
Bob is the president of Electroglide Inc., a Washington DC based
consulting and training company specializing in Agile Software
Development, Training and Agile Transitions. He began using Agile Methods
in 1999 and has never looked back. Project sizes range from two people to
working with clients that have over 110 developers on two major projects
in 5 development locations. Regardless of scale his goal is always the
same: deliver high quality software using Agile Methods and make the
people on the teams happier and more effective.

As the host of the Agile Toolkit Podcast, he has brought the voices of
agile experts and practicioners to the masses. He is a dynamic speaker
and the chair of the Live Aid Stage at Agile 2008 in Toronto.


Contact Me:
Bob Payne
Electroglide Inc.
323 7th St Washington DC, 20002
bob (at) electroglide.biz
202-903-6854


Chris D'Agostino

close

Chris D'Agostino Chris D'Agostino is the founder and CEO of Near Infinity
Chris D'Agostino is the founder and Chief Executive Officer of Near Infinity Corporation. Chris formed Near Infinity in 2002 with the goal of establishing a place where engineers could focus on solving some of industry's most challenging problems. Chris' vision for Near Infinity is to build a company that truly changes the way its clients build software, and he believes that Near Infinity employees represent some of the best minds in the industry. As CEO, Chris oversees daily operations and sets the strategic direction of the company. He is a firm believer in leading by example, and is committed to leveraging technology to help run an efficient, fun, and friendly company.

Chris has over 20 years of technical experience in the industry. He began his career with TRW as a Systems Engineer working on government contracts for the Department of Defense and the Department of State. Chris held several technical leadership positions and focused on local and wide area network (LAN/WAN) design and implementation. In 1998, he began developing C and Java applications for a small technology company in Washington, D.C.

Chris holds both a B.S. and an M.S. in Electrical Engineering from Virginia Tech. He has served as an adjunct professor for the University of Virginia and taught courses in server-side Java.


David Bock

close

David Bock Principal Consultant, CodeSherpas Inc.

David Bock is a Principal Consultant at CodeSherpas, a company he founded in 2007. Mr. Bock is also the President of the Northern Virginia Java Users Group, the Editor of O'Reilly's OnJava.com website, and a frequent speaker on technology in venues such as the No Fluff Just Stuff Software Symposiums.


In January 2006, Mr. Bock was honored by being awarded the title of Java Champion by a panel of esteemed leaders in the Java Community in a program sponsored by Sun. There are approximately 100 active Java Champions worldwide.


David has also served on several JCP panels, including the Specification of the Java 6 Platform and the upcoming Java Module System.

In addition to his public speaking and training activities, Mr. Bock actively consults as a software engineer, project manager, and team mentor for commercial and government clients.




David Hussman

close

David Hussman Agility Instructor/Mentor
David has been creating software for more than 15 years in a variety of domains: digital audio, digital biometrics, medical, financial, retail, legal, and education to name a few. For the past 8 years, David has mentored and coached agile teams in the U.S., Canada, Europe, India, Egypt, Russia, and Ukraine. Along with presenting and leading workshops / tutorials at conferences in the U.S. and Europe, David has contributed to several books (Managing Agile Projects and Agile in the Large), and worked on agile curriculum for The University of Minnesota and Capella University. David is currently writing a book for the Pragmatic Programmer series.

David leads DevJam, a Minneapolis based company composed of agile collaborators. As mentors and practitioners, DevJam focuses on using agile to help people and companies improve their software production skills. DevJam provides seasoned leaders that strive to pragmatically match technology, people, and processes in a way which produces software that makes people happier and more productive.

For more information, check out the DevJam website www.devjam.com



Esther Derby

close

Esther Derby Co-author of "Behind Closed Doors: Secrets of Great Management"
Esther Derby is one of the rare breed of consultant who blends the technical issues, and the managerial issues with the people issues. She is well known for her work in helping teams grow to new levels of productivity.

Management coaching, Scrum implementation, retrospectives, and project assessments are four of Esther?s key practices that serve as effective tools to start team transformation.

Recognized as one of the world?s leaders in retrospective facilitation, she often receives requests to work with struggling teams. Esther also coaches technical people who are making the transition to management and is a Certified Scrum Master.


Jared Richardson

close

Jared Richardson Agile coach and co-author of Ship It
Jared Richardson, co-author of Ship It! A Practical Guide to Successful
Software Projects
, is a speaker and agile coach at 6th Sense Analytics. Jared has been in the industry for more than fifteen years as a consultant, developer, tester, and manager.

Until recently he was an independent consultant focused helping teams build better software. He's now bringing that same focus to 6th Sense Analytics and their clients, using both the 6th Sense toolset and his unique experience. Jared can be found online at Agile Artisans and the Sixth Sense Analytics blog.




Jeff Kunkle

close

Jeff Kunkle CTO at Near Infinity
Jeff is the Chief Technology Officer at Near Infinity corporation, an enterprise software development, training, and consulting-services company based in Reston, Virginia. He has spent the past eight years leading Agile-focused development teams and creating web-based systems and applications. The majority of his programming experience lies in Java and Groovy/Grails, with Objective-C and Ruby/Rails being a personal spare-time learning pursuit.

Jeff holds a B.S. in Electrical Engineering from Penn State University, and an M.S. in Systems Engineering from Virginia Tech. He is also an associate professor at the University of Virginia where he has taught graduate courses in server-side Java.


Johanna Rothman

close

Johanna Rothman Speaker, consultant, author for managing product development
Johanna Rothman helps managers solve problems and seize opportunities.

She consults, speaks, and writes on managing high-technology product development. She enables managers, teams, and organizations to become more effective by applying her pragmatic and actionable pproaches to the issues of project management, risk management, and people management.

Johanna publishes The Pragmatic Manager, a monthly email newsletter, and writes two blogs: Managing Product Development and Hiring Technical People. She is the author of several books:
- Manage It! Your Guide to Modern, Pragmatic Project Management
- Behind Closed Doors: Secrets of Great Management (with Esther Derby)
- Hiring the Best Knowledge Workers, Techies & Nerds: The Secrets and Science of Hiring Technical People
- Corrective Action for the Software Industry (with Denise Robitaille).

Johanna is also a host and session leader at the Amplifying Your Effectiveness Conference. Read more of Johanna's articles and her blogs at jrothman.com.


John Carnell

close

John Carnell Manager - Platform Engineering w/Thrivent Financial
John Carnell is the manager of Platform Engineering for Thrivent Financial, a Fortune 500 financial services company. In addition, John is a prolific speaker and writer. He has spoken at national conferences, such as Internet Expo, the Data Warehousing Institute, and numerous No Fluff Just Stuff Software Symposiums.

John has authored, coauthored, and been a technical reviewer for a number of technical books and industry publications. His latest book, Pro Apache Struts with Ajax, was published in late 2006.



Ken Sipe

close

Ken Sipe Technology Director, Perficient, Inc. (PRFT)
Ken Sipe is a Technology Director with Perficient, Inc. (PRFT), IBM's largest service partner, where he leads multiple teams in the development of solutions in the SOA, Web 2.0 and portal domains, on both the Java and .Net platforms.

Ken was the founder of CodeMentor, where he was the Chief Architect and Mentor, leading clients in the execution of RUP and Agile methodologies in the delivery of software solutions. He is a former trainer for Rational in OOAD and RUP, and a CORBA Visibroker trainer for Borland. He continues to enjoy providing training and mentoring in all aspects of software development.

Ken has a deep need to be highly diversified. Ken often works with IT executives on high-level strategic roadmaps, currently geared around service oriented architectures (SOA). Ken also likes to keep his hands "dirty" in the code, which has him on a regular basis, pairing or otherwise producing code. Ken is regularly requested by clients that know him to "rescue" projects, either through the streamlining of processes or the rapid production of code.

Ken is a certified JBoss developer and is a frequent participates on open source projects. Ken is currently interested in the growing maturity of SOA solutions in the open source space, such as the ESB solutions like ServiceMix and Mule, or rules engines such as JBossRules.



Kirk Knoernschild

close

Kirk Knoernschild Software Developer & Mentor
Kirk is an industry analyst at Burton Group. For 15 years, he has worked in the trenches on real software projects. He takes a keen interest in design, architecture, application development platforms, agile development, and the IT industry in general, especially as it relates to software development.

In 2002, Kirk wrote the book Java Design: Objects, UML, and Process, published by Addison-Wesley. He has also written numerous whitepapers and articles, including The Agile Developer column for The Agile Journal. Kirk is the founder of Extensible Java, a growing resource of component design pattern heuristics for Java that can easily be applied to most other platforms, including .Net. Kirk has trained thousands of software professionals, teaching courses on UML, Java J2EE technology, object-oriented development, component based development, software architecture, and software process. He enjoys hacking in a variety of languages, including Java, .Net, Ruby, and PHP.


Mark Johnson

close

Mark Johnson Director of Consulting at CGI
Mark Johnson is currently Director of Consulting at CGI where he is exploring software development management approaches to leverage offshore and local development resources to deliver high quality applications on-time and budget in a highly competitive environment.

Mark Johnson has over 20 years of software development experience in industries including Healthcare, state government, and strategic sourcing. Mark most recently has spent the last 2 years working with Commonwealth of Massachusets EOHHS to develop the NewMMIS application. The NewMMIS application makes use of J2EE, Portal, and Web Services technologies designed to modernize the existing Medicaid processing. In addition, Mark is active in the software community as the President of the New England Java Users Group. When not working, Mark can be found riding his mountain bike on local trails and playing with his family.





Matthew Bass

close

Matthew Bass Software Developer & Entrepreneur
Matthew Bass is an independent software developer, entrepreneur, speaker, and writer. He has over ten years of experience across a diverse set of technologies and has worked at places like SAS Institute, the world's largest privately held software company. An agilist from the very beginning, he continues evangelizing and experimenting with pair programming, test-first and behavior-driven development, and continuous integration. Matthew has spoken at several regional and national software conferences and regularly writes for publications like InfoQ.


Michael Nygard

close

Michael Nygard Agile technology leader and dynamicist
Michael strives to raise the bar and ease the pain for developers across the country. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. Michael has spent the better part of 20 years learning what it means to be a professional programmer who cares about art, quality, and craft. He's always ready to spend time with other developers who are fully engaged and devoted to their work--the "wide awake" developers. On the flip side, he cannot abide apathy or wasted potential.

Michael has been a professional programmer and architect for nearly 20 years. During that time, he has delivered running systems to the U. S. Government, the military, banking, finance, agriculture, and retail industries. More often than not, Michael has lived with the systems he built. This experience with the real world of operations changed his views about software architecture and development forever.

He worked through the birth and infancy of a Tier 1 retail site and has often served as "roving troubleshooter" for other online businesses. These experiences give him a unique perspective on building software for high performance and high reliability in the face of an actively hostile environment.

Most recently, Michael wrote "Release It! Design and Deploy Production-Ready Software", a book that realizes many of his thoughts about building software that does more than just pass QA, it survives the real world. Michael previously wrote numerous articles and editorials, spoke at Comdex, and co-authored one of the early Java books.


Neal Ford

close

Neal Ford Application Architect at ThoughtWorks, Inc.
Neal Ford is an Application Architect for ThoughtWorks. He is an architect, designer, and developer of applications, instructional materials, magazine articles, and video/DVD presentations. Neal is also the author of Developing with Delphi: Object-Oriented Techniques (Prentice Hall PTR, 1996), JBuilder 3 Unleashed (SAMS Publishing, 1999), and Art of Java Web Development (Manning, 2003). His language proficiencies include Java, C#/.NET, Ruby, Object Pascal, C++, and C. Neal’s primary consulting focus is the design and construction of large-scale enterprise applications. He is also an internationally acclaimed speaker, having spoken at over 30 developers’ conferences worldwide.


Ryan Shriver

close

Ryan Shriver Business and Technology Consulting
Ryan Shriver is a Managing Consultant with Dominion Digital, a Virginia-based Business & Technology Consulting firm where he's a leader in their Agile practice (dominiondigital.com/agile). He helps organizations and teams transition to Agile ways of thinking about solving problems, ranging from new product lines to operational performance improvements. Ryan's solutions typically use some combination of people, process and technology to deliver measurable results.

With a deep background in software architecture and enterprise Java, Ryan understands the challenges and issues facing development teams to deliver predictable results. His approach to getting senior leaders to define measurable objectives and priorities for their organizations, projects and development teams helps bring focus to the highest priority initiatives. Using agile methods like Scrum, Ryan helps teams iteratively deliver value quickly to the business...often in a matter of weeks.

Ryan's experiences with diverse companies and teams are the basis for his presentations on Agile subjects.


Sanjiv Augustine

close

Sanjiv Augustine President, LitheSpeed
Sanjiv Augustine is the President of LitheSpeed, an Agile consulting, development and training firm, a co-founder and advisory board member of the Agile Project Leadership Network (APLN), the author of several publications and the book Managing Agile Projects (Prentice Hall 2005); and the founder and moderator of the Yahoo! Agile Project Management discussion group. He presents regularly at several agile conferences worldwide, and project management conferences including Project World and Project Summit. Sanjiv has assisted clients in deploying agile and lean methodologies at many institutions large and small. As a management coach and consultant, he has advised executives in the enterprise rollout and adoption of Agile at several Fortune 250 companies. As an in-the-trenches practitioner, he has personally managed Agile projects varying in size from five to over one hundred people and coached numerous project teams. For more information, see http://www.lithespeed.com or Sanjiv’s website: http://www.sanjivaugustine.com.


Scott Davis

close

Scott Davis Author of "Groovy Recipes" & TDD Expert
Scott Davis is an internationally recognized author and speaker. He is passionate about open source solutions and agile development. He has worked on a variety of Java platforms, from J2EE to J2SE to J2ME (sometimes all on the same project).

Scott's books include Groovy Recipes: Greasing the Wheels of Java, GIS for Web Developers: Adding Where to Your Web Applications, The Google Maps API, and JBoss At Work.

Scott is the Editor in Chief of aboutGroovy.com, a news and information website that tracks the latest developments in Groovy and Grails. He also writes a regular column for IBM DeveloperWorks -- Mastering Grails.

Scott is a frequent presenter at national conferences (such as No Fluff, Just Stuff) and local user groups. He was the president of the Denver Java Users Group in 2003 when it was voted one of the top-ten JUGs in North America. After a quick move north, he is currently active in the leadership of the Boulder Java Users Group. Keep up with him at http://www.davisworld.org.


Venkat Subramaniam

close

Venkat Subramaniam Founder of Agile Developer, Inc.
Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects, and speaks frequently at international conferences and user groups. He is author of ".NET Gotchas" (O'Reilly), coauthor of 2007 Jolt Productivity Award winning "Practices of an Agile Developer" (Pragmatic Bookshelf), and author of "Programming Groovy: Dynamic Productivity for the Java Developer" (Pragmatic Bookshelf).