Saturday, March 26, 2011

John Maxwell in Romania


I had the great opportunity to participate together with some of my colleagues from Ubisoft (thank you, Ubi!) to the John Maxwell's conference, "How To Be A R.E.A.L Success". John, an amazing speaker, described in simple words powerful truths about what it means to be successful. The conference was hosted in the Romanian Palace of the Parliament and over 1000 people attended. 

Here are my notes from the conference:




- R.E.A.L stands for: Relations, Equip others, Attitude and Leadership.
- Recommended reading: How to Win Friends and Influence People (Dale Carnegie)
- A great free resource: A Minute With Maxwell - everyday a few words about leadership.

Relationships:

  • Treat other people the way you want to be treated (Golden Rule); always treat people fairly.
    • Winning with people: people can trace the failures or successes to the relationships in our lives.
    • Working with people - more challenging than working with equipment.
    • Who we are determine the way we see people - don't try to fix people, fix yourself. People see me the way I see myself and the way I see them.
  • The elevator principle: some people lift us up, some people leave us down. Am I taking people higher?
    • People that lift us up encourage us.
    • In the life of other people you are either a + or a -.
  • People practices:
    • Remember names! The sweetest sound for someone's ear.
    • The first 30 seconds rule: call by name and say something to connect with the other person (something positive).
    • People don't care about what you know, they care about what you care.
    • Law of buy-in: people buy in to the leader before they buy in to the vision. Sell yourself first.
  • Add value to people:

    • Add value -> influence -> leadership
    • If it's lonely at the top, nobody is following you - leaders take people with them because they value people.
    • Add value means: knowing and valuing what people value; walk slowly through the crowd.
    • Listen, learn then lead.
    • In the process of running a race, the leader never wins. He is where the people are.
  • Grow yourself!
    • What am I doing to develop myself? Am I growing?
    • Success is not automatic!
    • A successful life is an intentional life.
    • What am I doing to develop other people? Success = teach, train, mentor, coach.
    • Those who are closest to you will determine the level of your success.
    • In the history of mankind, nobody did it alone.
  • You have to like people and have the desire to help them.
  • Leaders discover their strengths first.

Equip people:



  • Work on their strengths.
  • I don't work on my weaknesses because I am weak at my weaknesses.
  • People don't pay for average. Successful means ABOVE average.
  • What are my strengths?
    • Help people find their strengths.
    • Help them understand success.
  • The secret of success: the daily agenda. What do I do daily? 
  • Everyday: preparing or repairing.
  • Discipline. Prioritize.
  • Take good decisions then Mange your decisions. Follow through daily.
  • Rule of 5:
    • Everyday (even on Christmas, even on my birthday) what are the 5 things I do everyday? What are MY 5 things? Discover my strengths!
    • John Maxwell's: Read, File, Write, Ask Questions, Think.
    • Secret of success: the daily agenda.
  • How to prioritize my life:
    • Requirements
    • Return of investment
    • Reward
  • How much time and money am I investing in my own development?

Attitude:



  • Successful people think differently; I have fallen much more then I've succeeded.
  • When I fail, how do I respond to the failure:
    • Learn?
    • Leave my failure?
  • Learn is the way.
  • It's easier to go from failure to success then it is to go from excuses to success.
  • Change before you have to! Fall forward!
  • Successful people don't stay down. Attitude is a choice. The attitude you have in your mind today you have chosen.
  • The only person in the world to make me happy is me.
  • Attitude is not enough. Competence is needed. If you don't have the competence but you have only a good attitude, you will only be happy when you're fired.
  • It is not true that if you believe it you achieved. If you believe in your strengths you will achieve it.

Leadership:



  • Successful people lead themselves and lead others.
  • You can grow and learn to lead.

Tools: leadership coaching, mentoring.

Sunday, March 20, 2011

AIESEC Bucharest Training

Yesterday, I had the unique pleasure to speak to the AIESEC students during a training on how to become a true leader. My topic was about how to employ coaching techniques when leading teams and I sustained it as complementary to my girlfriend's speech, Alina (she talked about one-on-one coaching fundamentals and practices, from the perspective of a professional coach (link in Romanian) ).



Here are my slides - thank you Google for the images!


















The main, undeclared, purpose of the presentation was to get the participants to understand the attitude that a coaching manager should have toward his team - that is to feel 100% that he/she is part of the whole and that there is a strong interdependence between him/her and each team member. 

Friday, March 18, 2011

Empowering Organization





On an additional note, the longer the command chain from the upper management to the people, the more managers will try to find a way to justify their power positions and the more the people from the lower levels will be demotivated and will take less risks. The organization becomes stiff, focused on processes and conformance.

In an empowering organization, the command chain is short, people from the lower levels of the hierarchy come with suggestions, ideas, improvements that are passed upwards to higher management which acts upon them. After all, engineers know best what is capable from the technology they have at hand, have ideas on what should or can be improved, designers and marketers know more about the latest trends on the market and thus know how to innovate in their areas, and so on. Competitive edge lies in the hands of people who are passionate, eager to perform and have the power to act upon their knowledge. From this comes motivation, trust, commitment, involvement, attachment, and self fulfilment. 

How does an organization become empowering? 

First of all, it all starts with a company culture that has trust in their own strength and is willing to trust its workforce. From such a culture emerges a trend to focus more on strategy and future and let go the control on people. Management then focuses on improving the processes and removing the impediments from the face of their men and women, so that everyone can concentrate on what they know and love to do. Instead of giving directions, managers will ask their people how they can help them achieve higher performance. People will feel that they have the power to control the outcome of their work and will want to prove that they are up to the trust they are given. The more they have control on their own work, the more they will get aware of what their impediments and limitations are and they will want to improve on that. A creativity and learning loop is then created that propagates throughout the organization - better products, happier workforce, more innovation, better processes, better strategies, more awareness and more involvement. 

Instead of having one brain working for the entire team to define what each one does, you have the benefit of having 10-15 brains working all together and cooperating. This comes from trust and it is all ignited by a culture in which people have faith in each other, have the power to define choices and choose for themselves, a culture in which manager's role is to propagate awareness and communication throughout the organization. Unfortunately, it  takes a lot of courage for an organization to change as the process of changing a culture is painful and will trigger a defence reaction in most of its employees who may feel that their security and privileges may be compromised.

Building High Performance Teams

Building a high performance team: (quick ideas)

a) Create a safe environment where people can express themselves. Empower engineers as the main driving force of the project.
  • Define expectations and roles. Management is a role and not a power position. Respect.
  • Management manages processes, not people. Create the true sense of interdependence.
  • Involve everyone in decisions that affects them and the project. Let the team define its goals and objectives.
ACB Bucharest core team in Kyiv to help move ACR there

b) Make sure that commitments are respected. No matter how small they are. Agile planning is a great tool for this.
  • Plan in iterations. Adapt. Communicate. Make sure that, in the end, no debt is left for the following iteration.
  • Honest failure is OK and safety is restored through re-planning.
  • Visibility and clarity on common goals. 
  • Celebrate successes.
  • Management is fully involved in respecting the commitments it makes.

c) Build a learning environment. Learning is rewarding and involving. It increases cohesion, communication, commitment, involvement.
  • Encourage learning. Learn from everything. 
  • Promote initiative.
  • Safe, enjoyable environment. Management is part of the team. Always. Common goals.
  • Increase knowledge sharing, encourage diversity of thought and know-how.
  • Increase productivity through new, innovative ways of doing things. Challenge the way things are done. Agree with the team on common variables to measure improvement. Celebrate improvement.
  • Discourage repetitiveness. Encourage lateral thought.

Always respect a) if in b), a) and b) if in c).

Tuesday, March 15, 2011

Agile Planning

Getting more agile:

In a word, agile methodologies are about acknowledging at the most inner level that change happens: http://agilemanifesto.org/ and http://www.AgileManifesto.org/principles.html

Agile methodologies still need planning. After all, I doubt that many commercial software projects are started without at least a partial visibility on the budget and the scope involved. They need a vision, a goal to reach for and the steps to get there in order to convince.

These methodologies welcome and favor change and their practitioners are not afraid to modify plans if needed. The tendency is to keep things simple and manageable, keep the team happy and focused for undetermined periods of time and minimize risk on quality through constant releases. Stakeholders are informed about what happens in the project by directly experiencing the results, rather than getting through tons of reports. Yet still reports and accompanying documentation may be needed for proper understanding, but the focus is on the product.

In a sense, the planning methodology described in a previous post has agile traits. Early planning is kept to a minimum, refinement is achieved throughout the course of the project, flexibility in terms of vision and features exist. It's just that we need to go beyond that and add new elements to get where we want: high quality within budget and a happy, proud team.

Improving processes and optimizing workspace:

First of all, let's start by ripping off the authoritative aura of the traditional manager, making him part of the team and adding him a new role: that of the facilitator. His/her goal when acting in this role is to find creative ways to improve team performance by removing obstacles and clearing the path ahead. Let's quote from the agile manifesto:

"At regular intervals, the team reflects on how 
to become more effective, then tunes and adjusts 
its behaviour accordingly"

Then, let's add some means to find out what the blockers are: the best I could find (yes, it was not my idea;) ) is to have a daily 10-15 minutes meeting to find out what the current problems are and have people discover if the problem is local to them or more common. The purpose of this meeting is to create an urgencies agenda for the day:

Action plan for the manager
Find out who has encountered the problem before, if any, and gather some quick suggestions
Schedule more detailed meetings with people that manifest interest in the problem, after this meeting completes
Celebrate success when the project advances
Update the plan - where we are, where we are going

Software development and management are continuous, iterative processes of self improvement. While the goal for the agenda is noble and visibly useful (and fun), the actual meeting may not succeed from the first. It is important to keep the goals in mind, have patience and iterate. At first, it may become boring or too long but, as experience grows, it should get more and more successful and to the point. Just like anything else, the process is under continuous scrutiny by the team and suggestions for improvement should be made and always taken into consideration.

A second meeting should be considered; a longer meeting this time, one hour for instance, scheduled once a week or two, to discuss how we can improve and streamline our activity on a more macro level. While the daily meeting usually touches hot subjects, blockers that have just appeared, the longer meeting should take the form of a coaching or a brainstorming session, where more subtle issues can be discovered and action plans are laid to overcome them. Ideally, this meeting should be lead by a more experienced person or set up at first under less stressful periods so the people will be more eager to iterate.

Quality enforcement:

The second level of transition from the normal waterfall method to agile should be the quality enforcement. We need this because, in order to gain approval, we need success stories fast. We need a build that gets visibly better. People should feel first hand that something has changed such that, instead of focusing on putting features in as fast as possible, we now shift our attention to details, quality and, thus, self-esteem:

Bugs have a higher priority than features.
Quality is enforced early through smoke testing (daily builds) and code review. Additionally, the dev tester should be called in to verify the feature before check-in as, if the daily build fails, this is a dramatic event - part of the team may not work!

To have this, we need two prerequisites:
A working pipeline and a daily build process that is checked continuously.
Visibility, like play the version once a week, an hour, in an organized manner, with an emphasis on new developments.

The most important aspect of development is to keep the version clean and working smooth. This has higher priority than anything else and all the team should focus on this and find ways to improve and secure the daily build.

Planning in a more agile way:

Planning is a little bit more tricky because it has to deal with uncertainty. I think it should have three levels:

1. Macro level should contain top level components, with allocated times and budgets. Unlike imperative planning, where tasks are assigned and fixed, this level is maintained as a general baseline, a guideline for communication and for risk estimation.

2. Second level is created by adding user stories. User stories are the requirements. Their scope ranges from "the game should have a crew management system with an interface" (along with a rough estimation) to "when the player clicks on the crew icon, it should change colors". These user stories should have a time estimate (given by team) and value (given by the requirement owner) and they become more and more detailed over time, as implementation moves forward. They can be changed or deleted easily.

3. Refinement is done by the team, in a planning meeting, before the iteration begins. The team chooses what to do in the iteration based on the value and the dependencies of each user story. Then, each story is split into tasks.

Agile planning should be an on-going, forward looking process. User stories should be detailed ahead of the iteration so that, when iteration begins, the team knows exactly what they can commit to. Important: 1st step to develop a team: make everyone stick to their commitments fully, no matter how small they are. This increases self-awareness and self-pride.

Saturday, March 12, 2011

Hosting the Public Speaking Support Group Meeting

Today I had the pleasure to host the Public Speaking Support Group meeting held at the Orange Concept Store, in Bucharest (thank you Razvan Daba!). It was an incredible experience to be among friends and listen to their presentations about what they love to do.



Here are the slides I used to support my intro to the meeting. I hope they will give you a hint about how cool this project is (Romanian).
















BTW, the project is open to anyone! Looking forward to meeting you!