The concept of Shuhari was mentioned on more than one occasion while I was at Agile 2009 in Chicago this past summer. Alistair Cockburn was the first to mention it in his keynote speech I Come to Bury Agile, Not to Praise It. It then surfaced again when Declan Whelan spoke about Learning is the Key to Agile Success: Building a Learning Culture on Your Agile Team. Shuhari originated in Japan as a martial arts concept describing the stages of learning to mastery. The word is actually three words combined.
Shu – protect or obey. It is based on traditional wisdom where the student learns all they can from their master, and accepts any instruction and criticism they are offered. The master acts as a protector, steering the student and watching out for their best interests.
Ha – detach or digress. Up until this point the student did everything based on fundamental teachings. At this point the student will start to break with tradition and apply more imaginative techniques, building on what they have learned. They will also start to question and start to evolve based on their own personal experience.
Ri – leave or separate. At this point the learner transcends to a point where there are no longer specific techniques that are being followed since everything now come naturally. The student has learned everything they can from their master and leaves. The student bases their learning almost completely through self-discovery with no actual instruction. Ideally the student should have surpassed the master, allowing for the art to progress.
I found this concept to be very intriguing and it got me thinking about how it applies closer to home. The development team at Point2 is always in a state of learning. In many instances the student and the teacher roles are obvious. A new college graduate will likely be paired with a veteran developer in a mentoring role, while more experienced developers will pair with each other, hopefully learning from one another. I really believe that the last point in the Ri description is key. In order for the art to evolve and progress, the student must surpass their teacher.
A dilemma arises when everyone reaches that Ri stage and no one is able to get back into the Shu mindset. If everyone believes there is nothing new to learn, an obvious problem is created – your team will likely fail because they will lose their ability to compete. This is where having a culture of learning is paramount. People have to think of ShuHaRi as a circular idea that has no beginning and no end. If an entire team is dedicated making their colleagues the best that they can be, and are willing to learn from each other, the possibility of stagnating as a team fades away.
How is Point2 attempting to keep Shuhari a cyclical pattern? We mentor our new recruits, putting trust in our veteran developers to lead them down the correct paths. We pair program nearly 100% of the time, ensuring that developers are always teaching each other new techniques and skills. We dedicate Friday afternoons to personal professional development. People can choose to present or lead a workshop for a group, get together to develop a small application, or just spend some me time reading a book or watching a webcast. The point being is that our development team understands the value in learning and can see the relationship between the development of their careers and the success of the business. Shuhari may not be a well known concept in the halls of Point2, but that doesn’t mean it’s not alive and well.
In August I was fortunate enough to attend the Agile 2009 conference. I saw two excellent sessions presented by Pollyanna Pixton. I later found out that four other sessions (attended by Tefon) included recommendations of the book Stand Back and Deliver, authored by Pollyanna and 3 of her colleagues. These presenters were so convincing Tefon even purchased the book while still at the conference. It was a good read, but the chapter on the “Purpose Alignment Model” was by far my favorite.
The Purpose Alignment Model is a simple tool designed to do exactly that – facilitate an alignment of purposes. The underlying premise is all product features or development that a company performs can be placed on two scales: how critical and how differentiating they are to the operation or success of the company. With everything placed on these scales, they can then be combined into a graph.
This simple graph can make discussion about any number of product features or work processes significantly easier and more effective. When discussion about a feature starts by first placing it on the graph above, it is placed sharply into perspective.
What constitutes a mission critical differentiating feature? One simple method for determining this is to ask ‘Could this feature be the center of an advertising campaign for the product?’ These features are the driving force to a product’s adoption and define the identity of the company. If every feature gets a ‘yes’ answer to this question the model is being used wrong. Trying to differentiate with every feature will result in little more than a mediocre product. A select few features should be placed in the ‘Invest’ quadrant and these are the features that, naturally, should receive heavy investment. If these features aren’t the most polished and solid in the product, get to work.
If an honest assessment of everything about a product is completed with this model, the majority of what might initially have been placed in the investment quadrant will end up falling into the parity quadrant. The parity quadrant is interesting. Most of a product’s features will invariably not be differentiating, so why waste resources trying to develop them? These features are mission critical, make no mistake about it, they have to work and they have to work well. Parity features will drive the sticking power of an application, thus it is still critical to get them right. The key point, however, is that parity features only need to reach parity. No wheel reinventing required. Parity features aren’t innovative. Look at what the market is doing. What is the accepted best practice? Do that and nothing more.
If a feature is differentiating but not critical to the success of the business, find a partner. Don’t waste resources that could be spent getting parity features to parity and investing in mission critical differentiating features. Find a partner who is investing in the feature and use them.
If a feature is not mission critical and not differentiating, who cares? If a feature in this quadrant is being worked on, ask why.
If every feature to be worked on is placed properly relative to each other on this graph the result is an amazingly powerful communication tool. Suddenly everyone from the CEO to the developer implementing the feature can easily be on the exact same page. With an aligned purpose across the whole team, from executive to business to development to IT, more time is spent making a profit and less time debating about how to make a profit.
By: Dustin Bartlett
Last night I had the pleasure of seeing Sir Ken Robinson speak at the University of Saskatchewan as part of the Gail Appel Lectureship in Literature and Fine Arts series. His talk was titled Out of Our Minds: Learning to be Creative which focused on how our educational system and businesses are structured in ways that suppress creativity and imagination. He is convinced that we are at the start of a revolution as we are starting to recognize these limitations we have placed on ourselves.
Robinson presented an interesting study that showed how 98% of 1,500 children between the ages of three and five scored at a genius level in regards creativity. With those same children that number dropped to around 40% only five years later. By the time they were over the age of fifteen, the number was a measly 2%. The reason for this as Robinson posed, was that the children had been educated in our system. They had been conditioned to believe that there is ever only one answer, or one way to solve a problem.
If children are being taught to solve problems this way then they are obviously taking this with them to the workplace. What we end up with is people who feel they have a job and not a career. They feel that they are limited in what they can do, and are expected to work a certain way – the normal way. That natural sense of creativity has been suppressed for so long that the idea of trying to readopt it is not even on the radar.
What we have to do as educators and business leaders is create an environment that fosters creativity and imagination. The good news is that this is starting to get recognized in many organizations, and is being addressed. I’m happy to say that Point2 has been taking on this battle for the last year or so. We understand that creative minds will not only make our company a leader in the industry, but will also grow our team professionally and personally.
Like I said above, this is a battle. You don’t just say you are going to do it and it will magically happen. What we have found in our quest to create a culture of learning is that we have to come up with creative ideas to get the ball rolling. It’s kind of a catch 22 – we have to be creative in our ideas to develop a creative work environment.
We have implemented a weekly professional development program for our team and are constantly trying to make it more useful. We encourage trying to solve problems in a variety of ways and failing fast is always an option. And I love Marcos Tarruella’s idea in his most recent post, Six Impossible Things Before Breakfast. And keep in mind that it is not just the leaders driving this, but the entire group as a collective. As always I am interested in hearing from others on how they get their teams’ creative juices flowing.
Sir Ken Robinson spoke about the myth that a human’s number of brain cells is finite, and as we get older we kill more and more of them off in a variety of ways. As it turns out humans can stimulate the growth of brain cells by exercising their mind through creative thought and imagination. I’m not sure how many brain cells actually exist at Point2 at the moment, but I’m pretty confident that it is rising.
Key ingredients to success and career growth, at least the two on my mind right now, are focus and determination. Why are these things important? I’ll tell you why, because when most people are asked how to be successful, focus and determination will probably slip off their tongue, however if you were to actually observe them at work and in their personal life, you would most likely see a lack of one or both of these.
Lets start with determination as it seems more obvious. Determination isn’t really something in and of itself, it’s more of a measurement of what lengths you are willing to go to in order to achieve your goals. So being very determined to accomplish something really just means you are willing to do certain things to get there, which usually will consist of things like:
- Looking for teaching/coaching
- Anything else that makes sense.
Many people may say they are determined to accomplish something, but what they really mean is they really wish they could just wake up tomorrow and be at their destination. That’s an exaggeration for most people, but for many it’s somewhere between that and what’s actually required to reach their goals.
Focus on the other hand is something that most people probably don’t think about enough. Determination by itself is not good enough. The problem is that when your goals are to become an expert at anything, no matter how determined you are you won’t be able to accomplish that goal without focusing on it. You’ll need to cut out distractions, and stop trying to focus on improving skills that are not related to the skill you wish to be an expert at. There is an old saying you’ve probably heard before “Jack of all trades, master of none”. It’s relevant in all industries, and IT trades are definitely no exception. I’d say it may be worse in IT but that wouldn’t really be an informed opinion so i won’t make any bets on it.
So, if you take my word for it, lack of focus will result in a jack of all trades. To be more specific, a lack of refocusing will result in a jack of all trades. The reason for that is because at the beginning of your career you won’t know what you want to focus on besides becoming a better developer, business analyst, sys admin etc. Sticking to the development track because it’s what I’m most familiar with, you’ll initially need to focus on how programming works, basic skills related to the industry, and probably try to get a basic level of knowledge on as many things as possible.
So now you’re done school and ready for your first job. You start out by soaking up as much information as possible, learning everything you can. You learn about things like object oriented design, service oriented architecture, domain driven design, database design and performance tuning etc.
Skip forward 3 or 4 years, you’re quite competent in every aspect of your job, you’re a go to guy for your team, you can become competent at a new skill in short order at the drop of a dime. You have basically reached the epitome of most peoples career – broad competence with the ability to pick up new basic skills quickly.
Now you’re faced with the decision everybody in the industry runs up against, and most people don’t even realize it. Do I want to keep getting better, and if so, how? The answer to the first question is a factor of determination. How much are you willing to do in order to keep getting better? The answer to the second question is focus. Up until now in your career you’ve enjoyed getting better at everything, making constant improvement in everything. Bad news – that’s not going to last forever. You’re going to have to pick a skill, or subset of skills and focus on improving those skills. The side effect of this is that you’re going to have to “defocus” on all skills not related to the ones you’ve chosen to focus on. It’s a large hurdle for most people to jump because it’s easy to understand but hard to accept and work with.
This will be a turning point in your career. You’ll either accept the hurdle and jump over it, taking a turn down the road to becoming highly skilled in narrowly focused areas, or else you can understand the hurdle but not choose to jump it (lack of determination) and decide to take the easy path which unfortunately leads to the dead end of being average, the jack of all trades trap.
So to sum up the thought, you’re going to continue to refocus your skills throughout your career. Every so often you will zoom in on a new area that you’ll specialize in. Once you have reached a certain level in those skills you’ll zoom in your focus again on yet another area to become more specialized in. Only you can decide when you’ve focused enough. The less focused you are the more skills you’ll be able to maintain a specific skill level at, at the expense of increasing that skill level. At some point the only way to increase skill in some area you’re interested in will be to defocus on another skill and allow your ability in that area to lapse.
Focus and determination. How determined are you to reach your goals? Determined enough to allow your skills in something you used to be good at to lapse? Willing to not be the go to guy for a laundry list of skills? How many are you willing to drop, how much are you willing to work at the ones you’re going to focus on? Keep asking yourself this question, it will play a key role in your career development.
By: Chris Dagenais
Our company is currently ‘diving into Python‘ which as a developer makes me extremely happy. I can see diversity is emerging in our development arena.
But this post is not so much about Python as it is about disseminating knowledge across our company, i.e. how do we make sure that our organization learns technology X or methodology Y ? If you have been in this industry for a while you must have heard this sort of answer from your boss quite often: “Make them learn that stuff at home!” or “Buy them a few books so that they can read about it at their own pace!” or the classic: “Let’s get a Knowledge Base” or “Let’s get an expert on the topic”.
Although these approaches may work for you, they have never worked for me as well as what my new company has in place. At Point2, one way to disseminate knowledge and make sure that everyone is on the same boat, is using a workshop schema whereby every Friday we run two or three workshops in parallel that last for 1 or 2 hours depending on presenter and topic. Most of them are so good that presenters have to repeat them the following week for the audience who could not attend some workshops. To give you a taste of what these are, this month we are running the Python series. The following four workshops are aligned:
- Python 101
- Django 101
- Django to interface REST services
Hopefully out of this series we’ll get some more Pythonistas in our company
It would be interesting to know what other things worked for our readers, besides workshops.
By: Marcos Tarruella