Do you feel stuck? When most people want to improve, they try doing more, and before long, even the smallest tasks drag on forever. Do you remember when you could just get things done? I can help you recapture those days.
Joe has an amazing grasp on test-driven development and JUnit and has probably the most extensive Java knowledge of any person I have met.
When you don't know exactly what the problems are, nor how to solve them, then you need consulting, and that's exactly the kind of consulting I enjoy doing.
I focus on understanding problems, issues, and obstacles deeply before choosing solutions. When you contact me, I will probably ask you a long list of questions designed to help me understand the problems you want to solve, the issues you want to explore, or the obstacles you want to overcome. Many past clients have asked me to push the wrong solutions at them, and I don't want to do that to you. I don't intend to offer you any solution until I have some confidence that it will help.
I specialise in digging deeply to uncover the root cause of your problems. If you allow me, I will work with you to find those causes and design a plan to help you attack them.
If you know what to do, and even how to do it, but something keeps getting in the way, then you're likely ready for coaching. Sadly, the generic consultants of yesteryear have become the "agile coaches" of today. Everyone who has read a book or two about agile software development has magically become an agile coach. You need to choose very carefully the person you plan to hire to provide this service.
My network of coaches consists of people who understand the craft of coaching. They form real bonds with the people they coach and this bond contributes much to their success in helping people get out of their own way. They incorporate ideas from a multitude of disciplines to help people realise more of their ability. More than simply show you some tips and tricks, they help you understand how you work, what you can improve, and more importantly how to make lasting changes for the better.
If you have already established goals you want to achieve, and have identified that you need to increase your organisation's capacity in some direction, then you're ready for training.
Training, unlike coaching, focuses on increasing your capacity to produce in some way. Production capacity, like your body's muscles, atrophies without development. Even if you don't struggle to keep up with your competition, you will struggle with your customers' increasing demands. You must develop new skills to stop your organisation from shrinking, losing relevance, and shedding customers.
I offer courses like Learning Modular Design Techniques, Making Your Agile Transition Work, Manufacturing Slack, and Product Sashimi. These courses cover all aspects of software development, from the moment you conceive of a new product, through choosing your first set of features, through building and delivering those features and collecting money from satisfied customers.
I enjoy speaking at a variety of conferences, user groups, and meetups around the world. I can provide inspirational talks, discuss new ideas, lead impromptu discussions or present some golden oldies.
For companies that would like to help people feel more comfortable initiating a change program, such as adopting new ways of working, I can offer talks that discuss these sensitive issues. For skeptical audiences or people generally concerned about the magnitude of change involved in "going agile", I recommend Yes, Your Agile Transition Can Work. For overworked audiences who want to improve but simply can't find the time to do anything new, I strongly recommend Manufacturing Slack.
For skeptics who see emergent design as overhead, rather than an investment in increasing the capacity to deliver, I recommend The Economics of Software Design, and if their skepticism reaches more broadly to other aspects of agile software development, consider An Introduction to Agile with the Theory of Constraints.
Of course, if you have a specific topic in mind or a tricky audience you'd like to reach, then tell me about it and I'll design a session that better fits your needs.
You find yourself in a conversation that has gone wrong. Your interlocutor has said something that hurts you deeply. Just as you feel yourself ready to scream, you remember the words of a wise friend who told you that although you can’t control the behavior of others, you can control your own reaction to their… Read more…
по-русски I use TDD as a method for learning the fundamentals of modular design, but I have to admit that I’ve mostly relied on the emerging discipline of the student for its effectiveness. I’d like to do this better, and I’ve kept an eye out for ways to script the critical moves1 in adopting TDD… Read more…
Unfortunately, I have no video of this old presentation, but I can offer the note that I’d distributed at the time. I’m experimenting with embedding the PDF. If you can’t easily read this on your device, then click here to download the document.
One benefit from having mood problems: I tolerate bad feelings less well, and that pushes me to look for ways to feel better that I might not otherwise have thought about. Perhaps you can benefit from this without having the same mood problems I do. I hope so. First, I give you the tweet that… Read more…
Whenever I find myself expressing “anti-” thoughts I think back to a wonderful trick that I learned from Arlo Belshee and James Shore. They ran a workshop about integrated tests where they asked what benefits they give us, rather than focusing on all the problems that they cause. When they did this, the discussions in… Read more…
In his recent article, “The NoEstimates Movement”, Ron Jeffries asked for concrete ways to help wean organisations off estimates. I have one to share. I have spoken about this but not really written it down, so let me do that here. In the early days of XP, I remember reading in Planning Extreme Programming that… Read more…