Share it

Announcement: Improving Boot Camp!

Learn to program, to be a consultant, and join Improving Enterprises, while getting paid for your studies.

Friday, April 18, 2014

What does it mean to do a good job?


I am lucky to know many hard-working, dedicated, well-meaning people who like their jobs, greatly enjoy what they do, and care a great deal to do good work.  Yet, the idea of different people of what it means to do good work can vary tremendously.   

There is a career-driven definition of doing good work. Good work is work that gets the person to the next step of their desired career path. It usually translates into doing what the boss wants to get done, exactly the way the boss wants it done. Occasionally it means doing the things that get noticed by the decision makers, and little or nothing else.
Particular definition of ‘doing good work’ in this case can vary slowly over time, as bosses, their opinions, and the person’s understanding of bosses’ opinions change. 

Another approach to defining what it means to do a good job is a craftsman’s definition. Technical quality of individual’s work is measured against expectations set by an independently defined standard, unconnected to the organization. 
In this scenario, what it means to do good work can vary quickly or slowly, depending on the chosen base standard and its rate of change. Unfortunately, the changes in the standard can, and is likely to, inspire changes that are unconnected to the practical needs.

Finally, there is a value-driven definition to doing a good job. Is the work being done gets the organization the most benefit toward its vision and goals? Then it’s excellent work. The trouble with attempting to do good work by this definition is that organization's true vision and goals are often not known to many workers. Honest and comprehensive communication of the organization's vision and goals are very hard, and rare in large organizations.
Good job under value-driven definition can and does change, as goals change, or perhaps goal perception changes. It can be very frustrating, though, when goals, or available information about goals, change frequently and in contradicting ways.

What is your idea of what it means to be 'doing good work'?  Is it different from your bosses’, or your organizations? Have you changed your understanding of what it means to do a good job in your career? 

Sunday, April 6, 2014

No fighting in the war room


“I will stand up against development to fight for software quality!” – said a perspective QA manager. She was smiling, but in way that left no doubt – she meant every word, and she was good at fighting and winning against bad things and bad people.

As a developer, I liked the candidate’s strong stand on quality, but was not sure why we should be fighting. The QA was a part of Dev organization, and a new QA manager was going to report to Dev manager. After the interview, we discussed how our Dev team works with our QA organization, cooperating and helping each other. We all had a common goal of producing high-quality product, and fighting was nobody’s idea of fun, nor was it helpful in achieving this goal.  

As it turned out, our team was both lucky and smart, creating and maintaining a helping and cooperative spirit in the office. As we learnt through talking to this and other QA manager candidates, there were plenty of companies where testers fought against developers. QA groups won by finding enough quality issues with the product to prevent delivery.  Developers won by getting the product delivered, despite known problems.  A strong development group put a QA team at a disadvantage, while a thorough testing created problems for the developers. Which makes no sense, because having great people and organizations in both Dev and QA should make everyone's lives better, not worse.

As satisfying as winning is, it is important to keep in mind the overall goals of the organization. In IT and software development, it is usually creating and delivering a quality product for the customer.  Nobody wins if the product is not tested properly, is of poor quality, nor if the product is not released to the user. Everybody wins if QA and Development (and the rest of the organization) work together.


Friday, March 28, 2014

Introverts: finding comfort in Agile


Agile transformations seem to require everyone to be an extrovert: isolated cubicle dwellings are quickly converted into open spaces, there are so many meetings to attend, with many opportunities and plenty of encouragement to speak up. The introverts, a large share of professionals in IT and software development, become increasingly uncomfortable as we learn how much working together, sharing space, and group discussion appears to be required by the new system.

Introverts need not worry. Agile way of doing business brings many changes, but it is not about making everyone suddenly become extremely outgoing. The Agile transformation itself, a relatively short time period of intensive education, organizational restructuring, and, perhaps, moving furniture, can be stressful and tiring for all. It can be especially tough on introverts, who prefer stable environment and few interruptions. However, once the dust settles, and the organization is firmly on a path to agility, both introverts and extraverts are able to find a comfortable spot within new frameworks.

Agile frameworks are built around working in small teams toward a common goal, building trust over time, and developing skills to help each other. The team members are encouraged to get to know each other, and teams are expected to stay together for a long time. An agile team is a perfect environment for introverts – a small group of colleagues, with common interests and motivation, in a stable environment.

A big part of Agile philosophy is about having a lot of communication between all people involved in a project. Communication in the corporate environment is often understood as large, long-running and highly ceremonial meetings, delivering official reports, addressing large groups of people – all the activities that make introverts want to run and hide. But most communication required by an Agile framework happens in small groups (as small as 2-3 people), and is built of casual conversations. It is also concentrated within the small team working together for a significant amount of time, where people had had an ample chance to build relationships, get to know each other well, and build trust. This is the kind of communication that introverts handle well, and often enjoy.

The toughest part of Agile setup for introverts is the office environment. Open space destroys any chance of privacy and time alone, while encouraging social chatter and frequent interruptions. However, one of the more important tenets of Agile philosophy is the concept of self-organizing team, that is, a team that it is in charge of its work and environment. Teams are allowed and encouraged to take control of their office furniture, in addition to everything else. Mature Agile teams with introverts get to re-arrange the office environment the way it works best for all the people on the team, and create opportunities for working alone or in pairs. Quiet spaces, no-interruptions-allowed zones, those traditional introvert heavens, reduce stress and boost productivity for both introverts and extraverts, as long as there is also a space for collaboration and communication.