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.
From time to time I notice people saying this like “TDD can’t lead to good design”, and, like a dope, I can’t ignore them. Quite ironically, they make these statements because of the very act that practising TDD helped me understand how to do well: abstraction. I’m getting ahead of myself. When this happened recently,… Read more…
@jbrains important thing is to not treat the estimates as promises. People recalibrate their estimates as they learn more. They like it.— clarke ching »» (@clarkeching) April 18, 2015 @jbrains back when I did real work, I promised every team I'd buy them ALL an expensive lunch if I EVER reacted badly when a task… Read more…
Confusion abounds about what constitutes a Minimum, Viable Product, or "MVP". This seems natural: as the term gained popularity, a larger group of people struggled to understand it, use it, and its meaning shifted. In many circles, "MVP" has become a kind of idiom: it has a meaning that no longer relates to its constituent… Read more…
På svenska An assortment of principles and guidelines. Accept that you have lost the ability to control your mood. Accept that you have to accommodate your mood’s whims. You need energy to work and energy flows from your mood. When in a dark mood and working, attempt tasks that require the least creativity and imagination,… Read more…
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…