Bill is a Senior Consultant with Industrial Logic. He has been a software consultant, coach and trainer for more than ten years, and a developer for more than twenty. Prior to joining Industrial Logic, Bill managed development at Gene Codes Forensics, Inc., a producer of bioinformatics software. He also held positions with Capital One Financial, VTLS, Inc., and Digital Equipment Corporation. Bill is an expert in coaching and teaching teams Lean and Agile software development, chartering, testing and refactoring.
Bill is the primary author of “Composing User Stories” eLearning album for Industrial Logic. He has also written several books, on XP, refactoring and design patterns.
In addition to writing, Bill is a regular presenter at Agile-related conferences. His thinking about Agile methods influences others. Bill created the Arrange-Act-Assert guideline for unit tests, the INVEST model for user stories, and single-page summaries of several Agile methods and ideas.
Bill is comfortable working with people in a variety of roles: managers, product owners, testers, programmers, and more. He has worked in a number of domains, including financial and health services, biotechnology, and publishing. Bill holds a Masters in Computer Science from Virginia Tech. He lives in Williamsburg, Virginia.
Virginia Tech (Computer Science), Blacksburg, VA — Ph.D. Student (ABD)
Proposal: A Model and Interface for Documents with Multiple Views
Virginia Tech, Blacksburg, VA — M.S., Computer Science
University of Wisconsin—LaCrosse, LaCrosse, WI — B.A., Computer Science, Mathematics, Music
XP 2002. Keynote: "Metaphors for XP"
XP Day 2005. Keynote: "Extraordinary Value: The XP Customer"
Agile 2005. Conference Co-Chair.
Agile Feedback & Communication, Agile 2013
Agile Software Development, TDD, refactoring, OOD/OOP; Java, C#, C++, Ruby.
Extreme Programming Explored (Addison-Wesley, 2001)
Refactoring Workbook (Addison-Wesley, 2003)
Design Patterns in Java (with Steven Metsker) (Addison-Wesley, 2006)
Refactoring in Ruby (with Kevin Rutherford) (Addison-Wesley, 2009)
Q: What does your work involve?
I do a mix of things: teaching, coaching (either at the project or programmer level), developing new courses (live or online), and programming (usually related to our e-Learning system).
Q: Could you tell us a little bit about yourself - your education, interests, past work experiences.
I have a B.A. from the University of Wisconsin--LaCrosse, and an M.S. from Virginia Tech, in Computer Science. (Go Hokies!) I worked several years doing compiler development for DEC (Digital Equipment Corporation - now part of HP). I went back to school to switch to the information retrieval area, which led me to web-related work.
In an early web project for a financial company, we developed a "Light RUP" approach, which aligned naturally to XP and the then-forming Agile community; I've been using Agile approaches since.
As a coach, I've been lucky to work in many domains, including financial and health services, biotechnology, energy, and publishing.
Q: That is very impressive. What appeals to you about coaching?
I really enjoy learning, and sharing what I've learned. I've been a regular presenter at Agile-related conferences, and I've written (or co-written) several books, including Extreme Programming Explored, Refactoring Workbook, Design Patterns in Java, and Refactoring in Ruby. I love the interaction of teaching or coaching with an enthusiastic team.
Q: What is a typical day at work like?
It varies quite a bit: yesterday I participated in a strategy meeting, wrote marketing material, and programmed on our website. Today, I'll be preparing for some teaching. Next week, I'll be teaching 2 days and coaching 3 days. After that, who knows? It's part of the fun of being in a small company.
Q: What are some of the key ideas you've learned from agile and lean approaches?
I'll pick three things:
* The value of the right measures, focusing on outcomes rather than inputs. "Measure up a level," as Mary Poppendieck would put it. Lean startup approaches make validation a key focus.
* The value of collaboration across a whole team. I still see many teams that throw specifications or code over the wall - they want the benefits of lean and agile, but hobble it with a slow-feedback overall process.
* How light processes can become. Our roots are in XP, but we've modified it quite a bit, internalizing some things and ramping up others. For example, continuous delivery lets us lighten up planning and encourages the team to swarm on the next feature.
Q: What do you do to relax?
My wife and I live near Colonial Williamsburg in Virginia, and we enjoy visiting there often. I also started playing mountain dulcimer (a folk instrument that lays on your lap) a couple years ago. I don't have much experience with stringed instruments, so it's been fun re-training my brain and fingers for that.
Q: What does the future hold for you - any exciting plans, developments?
Industrial Logic has been involved with the Lean Startup movement, and I'm thrilled we're applying those ideas and approaches. I've also been working (sloooowly) on a book about user stories and related topics.