Here is my presentation about Responsive Web Design from Dataföreningens & Sigmas inspirations day about mobility the 11 of may 2011!
According to Wikipedia, an expert, more generally, is a person with extensive knowledge or ability based on research, experience, or occupation and in a particular area of study. For me an expert is someone that intuitively knows the right answers and is able to draw conclusions about future events and to predict their outcome. Experts have gained intense experience through prolonged practice and education in a particular field. Let’s analyze how one becomes an expert.
In Japan, there is a concept that describes the stages of learning to gain mastery in a domain. It is called shuhari. Shuhari is roughly translated is to Learn, Detach, and Transcend. Shuhari describes how skill is acquired.
- In the “Shu” stage you learn the fundamental techniques – the traditional wisdom.
- In the “Ha” stage you start looking into similar areas and techniques, and collect new methodologies and tools.
- And in the “Ri” stage (mastery) you mix techniques to do or make the best solution.

To develop personal competence and gain wisdom, you will need to learn many techniques. You will have to leave your comfort zone and take risks to gain new personal experience. At the same time, you need to ensure quality, which means not just getting things done but also getting it right, even if it is more painful. When you combine this with analytical reflection about what works in a situation and what might work better next time, you gain more insight.
Becoming an Expert
| Level 1 | Shu | Follow and learn | Learn a technique |
| Level 2 | Ha | Break away | Collect related techniques |
| Level 3 | Ri | Transcend | Bland techniques |
With the concept of Shuhari in mind, you can reflect on the best technology, process or methodology. How many times have people debated about which of these solutions is the best?
- .Net, or Java?
- iOS, or Android?
- Windows, or Linux?
- Scrum, or RUP?
People who just learned a tool and are trying to master that tool are often quite loyal; they try to solve everything with that tool. If you have only a hammer, your perception will be limited to everything being a nail. To become an expert, you need some time to leave the comfort zone and use a tool like you have not been used. Therefore expertise begins with curiosity, humility and willingness to learn something new.
In my latest blog post for Sigma I explain my view on “What is Enterprise Mobility?”.
The most intresting about this is how google translate “svenskar” to “Americans”!!! Very strange!
Have a nice weekend!
/Patrik
Development is mentally difficult because that’s what we need to reconsider ourselves. Many of us have learned through years of socialization and school systems that being right is good. If you are right you are rewarded, and if you are wrong you are punished.
As a result, many people become obsessed with being “right”. But what does this lead to? It convinces us that one way is more “right” than others and that which is different is wrong. To develop, you have to realize that the way things were done before was not necessarily optimal for its outcome, therefore you were wrong. If prestige was involved in the “right” way, it is difficult to re-evaluate the situation and develop. So the feeling of being right can be dangerous because it doesn’t help us develop.
Up until the nineteenth century, most people were engaged in agriculture; others learned a craft like carpentry. They were organized in small communities and worked together from sowing seeds to harvesting, milling, and baking. To be successful they needed to learn and master a specific craft that was passed from person to person, often within the same family. The real master of the community then decided to leave the comfort zone to explore things that no one dared to explore. Most of the time, these exploratory ventures ended in failure. But sometimes, the adventurer would stumble upon something that opened new doors for them and eventually for future generations as well.
As late as 1870, 80% of Europe’s population worked in agriculture. In 2010, less than 0.8% of Europeans worked in farming. This demonstrates an enormous productivity gain for farming. And then in the 18th and 19th centuries, a major change happened: manufacturing shifted from manual labor toward machine-based manufacturing. It started with the mechanization of the textile industries and the introduction of steam power. This also changed the organization of work, where people specialized in a particular phase of the work instead of getting involved in the whole process. By specializing in a specific time/phase-based work, Henry Ford was the first to increase productivity in car manufacturing by using assembly lines for mass production.
To make manufacturing as efficient as possible, managers were needed to oversee the whole process. It was during this era that the first management theories and business schools began teaching what Mary Parker Follett (1868-1993) termed the “art of getting things done through people”.
Lesson Learned from Craftmanship & Industrialization
Craftsmanship is building on experience and can lead us in the right direction, but experience will only take us so far into uncharted territory. In these instances, we must take what we started with and rely on controlled methodologies and engineering tools. Engineering is the application of tools and methodologies to handle the unexplored.
Craftsmanship is critical to knowledge based work in terms of providing quality, whereas in industrialization, quantity was the primary measurement. Allan Cooper, author of “Running with the Inmates” and inventor of Visual Basic, said the following about craftsmanship:
“Craftsmanship is all about quality – it’s all about getting it right, not to get it fast. It’s measured by quality, not speed. It’s a pure measurement, and a delightful one.”
“Craftsmen do it over and over again until they get it right. In their training, they build things over and over so they get the experience they need to get it right.”, more info see.
I do not fully agree with Allan Cooper because good craftsmanship must strike a balance between quality and time/cost. This demonstrates the concept of personal competence but this also has a disadvantage. I’d like to quote one of my favorite bloggers – Joel Spolsky – on his view on craftsmanship. “Craftsmanship is, of course, incredibly expensive. The only way you can afford it is when you are developing software for a mass audience. Sorry, but internal HR applications developed at insurance companies are never going to reach this level of craftsmanship because there simply aren’t enough users to spread the extra cost out.”
A craftsman takes pride in his profession, his experience, and his tools. Because his performance is based on his personal competence, he prioritizes the mastery of his tools, upgrading them and improving his work methods in an evolutionary way. Craftsmen prioritize their continuous improvement and appreciate quality because they know that their product becomes more valuable when done the right way. They know that quick-fixes will rarely be successful in the long run, because that can require more work (and less profit to them) to remedy.
The most important lesson learned from industrialization was that deterministic goals and processes are better achieved by investing in structure capital (developing process / routines and establishing them). This especially applies to a process that is 10% design/analysis and 90% production. A changed requirement after the production phase has begun can be very expensive. Software developments of product and unique system aren’t like this design isn’t just a one thing you do before production is started.
For example, when building a bridge, you can’t consider adding a few new highway lanes when the bridge construction has started. Complex software development isn’t a deterministic process and is therefore more of 50% design (where you figure out what to do and where to go) and 50% production. Following a plan is therefore not the ultimate solution it’s to be prepared and know you domain and tools so that new knowledge present itself you can take the opportunity.
Conclusions
Throughout history, success factors for work have changed and gone from individually mastered methods of efficiency and quality to a world where craftsmanship was learned and handed down from generation to generation. During the 18th and 19th centuries, the industrial revolution changed the key success factors into pre-defined processes that were mechanized, automated and as efficient as possible.
In a world that changes every day, differentiation and uniqueness come from transforming information into a product through creativity and knowledge. The most important considerations for knowledge-based companies are how good they are in getting the best information and then transforming that information into products or services, through their creativity and knowledge. But in a complex world where goals are uncertain and there is more of a need to explore possibilities, success is increasingly dependent on collaboration, creativity, and knowledge.
In my new role as Enterprise Mobility Manager for Sigma I have work with marketing of Enterprise Mobility solutions. In this role I do a lot of public speaking which is a new thing for me, both terrifying and fun. I have done 5 public speaks on different conferences so far this year and I will do some more this spring. It’s about Sigma’s products and solutions, and the demand of a strategy for companies in times of change. Mobility affects everyone and companies has a lot to gain from mobility, business change and so do behavior and the need of a different kind of leadership. If you like to hear me speak this spring you can hear me on some of the following conferences:
- 11 of May at Mobility inspiration day – Enterprise Mobility threats and opportunities
- 11 of May at Mobility inspiration day – Responsive Design
- 29 of May at Projektverktygsdagen – Enterprise mobility (Keynote speaker) - For more information read this PDF!.
- 12 of June at Devmobile – Mobile website vs. Mobile app
When you are working with complex project it can be hard to make decisions because you have to consider so many different variables at the same time and when you later realize you were right or wrong you wonder what I thought.
On tool in order to help you make complex decisions and at the same time document your decision making so you can reflect on the decision is the decision matrix. A decision matrix is a list of values in rows and columns that helps you to identify and analyze the performance and relationships between a set of values and information. Elements of a decision matrix show decisions based on certain decision criteria. On the rows you put the different alternative and on the columns different criteria’s. Then you weight how well each criteria feels on each alternative. After that is done you weight each criterion to see how heavy they shall be.
| Cost | Flexibility | Guaranties | Supported by 3-part products | ||
| Alternative 1 | 0 (expensive) | 3 | 3 | 2 | 0*3+3*3+3*1+2*3 = 18 |
| Alternative 2 | 3 (free) | 1 | 1 | 3 | 3*3+1*3+1*1+3*3 = 22 |
| Alternative 3 | 2 | 1 | 1 | 1 | 2*3 + 1*3 + 1*1 + 1* 3 = 13 |
| Value / weight | 3 (important) | 3 (important) | 1 (good to have) | 3 important |
Alternative 2 is what we know right now and value in this situation the best choice. If you later learn that you over estimated the value of some criteria you can go back and see how that changes you outcome.
Milestones are like progress bar indicators for internal stakeholders’ use. They provide feedback on progress to everyone involved. In different software programs, I have come across at least three different progress bars: the first easily reaches 90% then stalls, making you wonder if it has stopped.
The second one just shows that it’s working and does not stall but you don’t know how much work remains to be done. The third one gives you the impression of accuracy because it provides a realistic estimate. Even if the progress bar indicates there is still a lot of time left, you tend to prefer it over other time bars because you know you have time to do something else. Let’s look on some aspects of tracing progress.
Your project is getting closer to a release deadline and you ask the lead developer, “How’s is it going? Are we going to ship on time?”
“Hmm, something has come up!”, she tells you, “I have done really great for the last 4 weeks, but today I found something no one thought about and the timetable slipped 3 months.”
What’s the chance of that happening? I’d say it’s a small chance. The reason is timetable slip-ups don’t happen at the end of the milestone or project. Slip-ups show up at the end. Yet they happen every day and every hour. As soon as someone answers an unexpected e-mail, rushes home because of a sick child, or tracks down an intermittent but catastrophic bug, slip-ups happen. The sooner you can identify how much time is left and prevent slip-ups, the better you can estimate time periods, assuring team members and stakeholders that the timetable is still reliable.
Collective ownership encourages everyone to contribute new ideas to all segments of the project. Any developer can change any line of code to add functionality, fix bugs, improve designs or re-factor. No one person becomes a bottle neck for changes. People what are running their own raise becomes dangerous for the rest of the team. If you hear someone says “That module I dare not touch its Lotta’s code, it’s to complex. Only Lotta can do that!” you got a problem. Your “bus-factor” (How many people that need to be run over by the bus in order to need to redo that knowledge) is 1, if Lotta is run over by the buss all knowledge of that is gone. Collective ownership is quite closed linked to the practice of unit testing and continuous integration. In order for people to dare do change and not have 100% overview of how other modules might be affected on an accidental way a lot of automated unit test helps the developer to handle parameters that he don’t know by heart. And in order for everyone to be able to work and overview the project frequent check-ins shall be done. If mastodon check-ins is done, people don’t learn as much from each other’s code and it’s has a tendency of develop into that one single person is responsible for a specific class.
Identifying key positions
Within any group there are things to be done. The outcome of some challenging activities is more important than others for your unique project/system/organization. For your project to be successful, identify the key factors/positions for success. I recommend starting with identifying the different roles and responsibilities.
When you have identified key positions to be filled, investigate what abilities and experiences will make success possible. How can you minimize risk by recruiting people who have worked on similar projects or systems? Who has the ability to fill the position either now or later because they have the potential to become great at that role and position?
Many projects start in the reverse order. I have the following persons and resources, what can I do with them and who fits in what role? Person X is best suited as IT Quality manager looking after the process, documents and so on. You don’t start with roles have to fill. Person X might not be an asset at all for this project. It might work out, but when filling key positions, it might be wiser to cross your fingers and wish for luck.
What Might the Key Positions Be?
It is difficult to come up with a general answer. I’m mainly looking for two different factors – managers and very specialized roles. There will probably be fewer of them than the rest of the team so it is more important that you get the right person. It might also vary over time, when a project is small and the key positions are mainly developers. However, later in the technology life cycle, it might be the product owner or project portfolio manager/assistant.
Hiring for Key Positions
There are a few general recommendations for hiring for key positions. If you can match people, roles and projects perfectly, I’m confident you will have a much better chance for success.
- Values - Does the person share the core values of the organization/project/company? You cannot teach key values to people just to make them fit in. As Harry Truman once said, if people don’t know right from wrong when they are aged 30 they probably never will. You cannot teach people the right attitude, you can only teach them the right skills.
- High standards - Look for people who you don’t need to manage. If they tend to have high standards from previous work they tend to exhibit the same high standards. People with low standards look for the easiest way out, they’re into short cuts. The quality of their work shows these low standards. You will have to define what’s expected from them and they need constant supervision and control. Your job is easier if you work with team members who maintain their high standards.
- Ability - Does the person have the ability to become the most suitable person for this key position? He doesn’t have to be the best suitable right now, but does he have the potential to become the best suitable person in the future?
- Neurotic responsible – don’t hire someone for a key position, hire for a key position responsibility. It’s important that a person doesn’t think of the work as just another job. He must think of it as a sacred responsibility. You want a person who wants to fix a hole – even be neurotic about it – as soon as he spots a hole. They won’t rest until it is fixed. This is an ability that you can’t detect immediately, but over time, you will be able to identify these neurotics who take their tasks very seriously. They’re the ones you want in your team because you know they won’t let problems fester and leave them unsolved.
How to Manage Key Positions
When you recruit people for key positions, invest the time to know them right from the beginning. Getting to know people and their abilities is a challenge so make the effort to know them, their work habits, their values and their strengths and weaknesses.
People are different so it’s good practice to be 100% familiar with these differences and how to handle them. A key position person is like a captain or helmsman on a boot. They give clear orders and steer the ship away from dangerous rocks. Each person on that ship may be following orders, and meeting targets, standards, and plan. But what happens if these targets, standards and plans are wrong?
Ask yourself: do I have the right seat or do I have the right person in the wrong seat? Maybe another position would be better? However, if you had the good fortune of hiring the right person for the right task, so whatever it takes to motivate, coach and develop them.
(About my talk on the Strategy Day 2011 about Agile and Fixed Price with my college Niklas Florén, it’s in Swedish).
På Sigmas strategidag höll jag i ett föredrag om ”Agila projekt till fastpris” här ser du min presentation.
My second post for Sigma is about the three largest trends right now – Mobility, Social Media and Clouds. Read the article here Three trends that gets your business: Mobility, Social Media and clouds.
Up until the industrial revolution, success came from personal competence. You were judged on how well you mastered your craft. When industrialization took over, mechanization became the winning process.
Both craftsmanship and manufacturing have well-understood and static problems – demand is predictable.
Software development, however, is not a product of a well understood and static problem. It is more about exploring unknowns and adapting to reality. It is about collaboration and social learning based on knowledge and creativity. It is therefore a more demanding process combining methodology, process, and leadership.

Yesterday I wrote my first blog post for Sigma. My new position as Enterprise Mobility Manager for Sigma includes some promotion and marketing. It’s in Swedish but here is an English google translated version.
Best Regards
Patrik Malmquist
Understanding what to do, where to go and what the end result will become like is important for planning, understanding and motivation of all teams. This is sometimes called establishing a vision, but the word vision is too grand for me; it sounds like a prophet, Martin Luther King or Gandhi mixed together. Especially when undertaking greater challenges where the destination is beyond the horizon it’s important to discuss the direction. It’s about start giving people an idea of the end result. If people do not know where they are going or how they are going to get there, they are soon going to become very frustrated.
In order to set a destination you need to look beyond the horizon that promote change and improvement but at the same time says something of what we can do to reach it. The destination can consist of many goals but often not focusing on the measurement of the goals. For example “Our new product shall help knowledge based workers to collaborate over long distance. It focuses on collaboration and simplicity and enables high-quality teams to brainstorm, prioritize and reflect. It is not a project management tool or a tracking tool; it’s more of a sandbox that can help knowledge based workers to reach their goals.”
What is so great about a common, accepted and understood direction is that different stakeholders and team members can start working and at the same time has some idea what it will result in so that the can take micro-decisions that is based on that direction.
Don’t forget to document the “destination” with what success is, why it’s important and how you know you’ve achieved it. Post it prominently and involve you visionary destinations in you planning and demos. But remember you will not reach the destination because it’s just an imaginary goal, when you traveled beyond the horizon the world will not be as you imagined it; it will be less colorful but more real. Then you need to adapt to reality make the best of it. The best and most valuable ideas will probably present them on the journey. If you plan everything from a total imaginary map your journey will become lined with failures! So setting a visionary imaginary destination isn’t about defining goals and planning the trip, it’s about setting a direction so you can look on the compass when you wandering in the dark.
Related article: Creating a Push from the Past or a Pull from the Future!”
One management practice in is that you might estimate everything you do in ideal time. Ideal time is how long a task takes if there were no interruptions. And when you plan you don’t plan that all work is 100% focused and non-interrupted. Instead you can calculate with a velocity. Velocity is the number of user stories (or user story points) you can do in one iteration (or sprint) in Scrum this is known as the focus-factor. If your team (4 persons) under a 3 weeks sprint working 40 hours a week completes user-stories that where estimated to be 360 hours of ideal time your focus factor / velocity would be 66%.

Advantages of the velocity term is that it is much easier to estimate in ideal time, it’s what comes natural when you think of how long something will take to do. You get a focus on prioritizing to work with only planed work tasks. People avoid interruptions. You don’t need to plan to do more work than time available × the focus factor per iterations so you don’t get false expectations. You are able to trace the velocity over time, velocity has ability to peek in the middle of a project and become lower in the beginning and in the end of a project. In the beginning it can have with that people are stumbling on how they will work and they might not have all infrastructure and roles on place. In the end of a project new unplanned work have a certain ability to appear. It often takes between 3 to 6 iterations for velocity to stop fluctuate and become more stable.
This doesn’t mean that 34% of the time was wasted it, is not just spend on things that where planed and prioritized from start.
There is a different level of engagement among stakeholders. Some are really involved because their stakes are high and their risks are greater, while some are more interested in being informed. Scrum has a small story to show the difference between a stakeholder you really need to focus on and one who is not as involved.
A pig and a chicken walk down the road. The chicken says to the pig, “should we start a restaurant together?”
The pig answers, “What a great idea! What should we call it?”
“We can call it Egg and Bacon”, says the chicken.
“Hmm, I will be really involved putting my ass in the pan, but you will not be as committed when you are just laying eggs!”, answers the pig.
This is the difference between stakeholders with stakes and stakeholders who don’t.
When starting a new project invent everyone that might have expectations on the project. Then you can organize them after their interest and power over the project. This gives you a clue of you will need to manage that specific stakeholder so that you put your energy on the right ones. This helps you see identify key people not just the one that sounds much.
Everyone who is affected by the project will have an opinion on how the project will affect them personally and their organization. Users want the best software and customers want it for free. Sales people want a unique product that creates a great business value for as many potential customers as possible. Suppliers want a larger share and your development team wants to use only state of the art tools and technologies.
Your responsibility as a software development manager is to make sure that the right thing gets done, in the right time and in the right way. To make this happen, understand the needs and strategies of the different stakeholders. The responsibility of the software development manager, therefore, is to make sure that everyone gets what they want. This makes him the middle man negotiating with all stakeholders. Your aim is to give everyone something – so they feel like a winner. I want to point out that making everyone happy to a certain extent is a key role of the software development manager.
The Process of Managing Stakeholders
If a project manager’s main concern is to get all stakeholders satisfied lets analyze the flow of the work. Stakeholders have interests in the project and communicate their expectations, when all expectations are recorded a prioritization can be made based on strategy and stakeholders power. Because you got limited resources you will not be able to do everything that everyone wants so you will need to make a lot of trade-offs in order to get everyone committed and satisfied. The worst thing you can do is not to be clear that all expectations will not be fulfilled
Many companies just record expectations and write down requirement but never sit down and really prioritize what is important and really drives business value; therefore, it is common for developers working on features that are more of a decorative art and good to have stuff than real business value. This is not the developers mistake is the business and project managers’ mistake, programmers might implement a function perfect. It’s quite common to make the wrong thing in the right way.
.
Real glad to hear that IDG/Internetworld has appointed www.minpension.se to on of Sweden’s top 100 sites in 2011. Anders Lundströms the CEO of Min Pension i Sverige AB comments the appointment at Min Pensions blogg. For more information about the nominations and the top 100 sites look at Internetworld.
For me enterprise mobility is about enabling companies to get their strategic information at point of action and point of decision. People have become used with specialized context application in their personal life from there smart handheld devices. Now almost every knowledge based worker has a device that enables them to have internet wherever they are. People will expect to have the same important information about their work life as accessible as personal life information. This is of course a big challenge, there is many aspects like; Security, Integration, Infrastructure, Governance, Deployment, Maintainability and so on. Over the next years we will see allot of change within the enterprise mobility area. Now the infrastructure and the devices have developed so that this is possible to do for the ordinary company. This will result in many intreresting solutions.

Today my guest blog post on http://blogg.minpension.se/2011/11/08/vardet-av-valfrihet/ was published. I’m wrote about the value of freedom of choice is only valuable if you are competent to handle the choices. If you have more choices than you can handle you only becomes stressed out.









