RSS feed [root] /team /weblog /software_engineering



title search:


Sun Oct 15 13:26:02 HKT 2017


(google search) (amazon search)
download zip of files only

Sun Feb 25 00:23:55 HKT 2018 From /weblog/software_engineering/team


No problem is a big problem, So we want to actually encourage conflict in the sense of encouraging openness about disagreement, which in turn suggests that it is essential that we are prepared to resolve conflict -[..]0/conflict-will-and-should-occur-be.html

Should DEV work in prod? -[..]developers-working-in-production-of.html

(google search) (amazon search)

Sun Feb 11 00:14:37 HKT 2018 From /weblog/software_engineering/team


Servant Leadership -[..]t-be-my-style-of-servant-leadership.html , similarly, what a leader should do is helping other to do better, not to be the best of the team -[..]/03/onthings-manga-taught-me-leadership/[..]what-do-you-look-for-in-a-servant-leader

Mentorship -[..]entorship-in-software-craftsmanship.html

Keep focus, or lose -[..]0/how-steve-jobs-influenced-googles.html

The anti-pattern and suggestion about new joiner -[..]-you-will-face-as-a-software-team-l.html

Believe me, the objective was not to make decisions, but to create the right environment so that the right decision would be made.

A nice set of questions to ask for a leader -[..]3/questions-on-influence-and-growth.html

In short, don't put your shoes on others' foot -[..]earned-in-the-army_Printer_Friendly.html

4 types of leadership style, well, I think he model leadership a little too simple -[..]s-the-best-leader-for-the-software-team/

Your experts are spending all their time mentoring novices. Therefore:

Put one expert in charge of all the novices, let the others develop the system. -[..]010/2/25/organizational-pattern-day-care

What is the key Characteristics of great team -

This is very insightful obversation, in many time we look into something work in short term but not really solve the problem, a discussion about why so many people like micromanagement even if they know it is bad -[..]m/2011/01/programmers-and-micromanaging/[..]best-thing-you-can-do-for-your-team.html <- is provide required information, probably more transparent.

Don't make me think... but you have no business not allowing me to think if I choose to. -[..]allow-me-to-think-just-dont-make-me.html

How To Lead Clever People, actually I am double about this, let's see -

How to grow the leadership -[..]og/mpd/2012/11/nurturing-leadership.html

他在公司的名言是「When you give, you get」。他在上海成立科研中心,大方讓上汽參與,他認為各懷鬼貽的氣氛不可能做出成績。合資公司理論上是獨立個體,合資公司員工應把合資公司利益放到最前,而不是自己原屬公司的利益,但很少人做得到。慢慢下來,上汽也逐漸對墨菲產生尊重。


10. 永遠記得,做出決定前要先綜觀全局。

9. 否定別人跟切換開關一樣容易。但你最好拼死抵抗這種衝動,因為你也曾經做過蠢事。你做過爛決定,然後學習、成長,別人也一樣。

8. 掃地、擦桌、關燈。哪裡有漏洞要補就去補——即便那很瑣碎、沒人會注意。你必須做這些事去造福你的產品、你的公司,以及所有你們團隊共同打造的,令眾人驚艷、神奇的事物。

7. 你無法做所有的事。閉上眼睛,向後仰倒,學會信任。

6. 顯然有某種更為有效的方法能處理你正在做的事。是什麼呢?在每天回家的路上反覆思考吧。

5. 找出總是在依賴你的人,想想要怎麼做才能協助他們,讓他們自力更生。或許你覺得當個壟斷市場的鮭魚供應商很重要,但如果小鎮的所有人都學會捕魚,便能將你解放出來去做別的事。像是學習種小麥,或是如何馴服那些可愛的小狼。

4. 別說任何對當下討論沒有貢獻的話。你的聲音並非悠揚到絕對必須被聽見。

3. 做得出最好的決定比不上處在得以確保做出更多最佳決定的流程。

2. 就像你經常發表意見那樣,多說感謝和鼓勵的話語。

1. 最重要的是:永遠要掃除障礙物。那怕只是玩玩手指、看看窗外的雲,也別讓你那愚蠢、幼稚的自我阻礙團隊前進的腳步。[..]oftware-leadership-6-read-every-checkin/[..][..]op-5-mistakes-for-first-time-tech-leads/

How to lead with diplomatic -[..]how-to-be-both-assertive-and-diplomatic/

Dr. Nico Rose cites research that finds that happy people tend to be more effective leaders. -[..]-your-money-managing-your-life-part-one/[..]ge-manager-vs-great-manager-cf8a2e30907d

(google search) (amazon search)

Wed Dec 06 14:39:32 HKT 2017 From /weblog/software_engineering/team


Nice story and nice photo, really a master skill to drive the team to have same vision -

Team Decisions: Consensus versus Consent, closely related to team vision establishing -

(google search) (amazon search)

Sun Oct 15 13:26:02 HKT 2017 From /weblog/software_engineering/team


Cool diagram showing what slow us down -[..]m/blog/2012/01/faster-faster-faster.html

Usually, not a good idea to grow a team too big too soon -

Taken from Interview of Charles Simonyi ( ) , both the interview and the discussion are nice to read: , However, I will think if team work effective, 1+1 > 2

What we should really care about is effectiveness and not efficiency. and effectiveness is often inefficient -[..]our-obsession-with-efficiency-dan-north/

Handling emergencies or crisis situations
Handling work stress
Solving problems creatively
Dealing with uncertain and unpredictable work situations
Learning work tasks, technologies, and procedures
Demonstrating interpersonal adaptability
Demonstrating cultural adaptability
Demonstrating physical-oriented adaptability
-[..]2010/12/8-behavioural-dimensions-of.html <- a simple way to check what make team move faster, and things that slow team down.[..]icles/speed-in-software-development.html

The emergency team, in our understanding, was supposed to work as a point of entry for new developers, so they could know the codebase better. However, we didn’t get into account that newcomers needed to check on some things with the “old” developers. That hindered the work, and we eventually switched back to ~1 month rotation principle. -[..]/how-we-handle-bug-fixes-and-rework.html

Your team’s strength is not a function of the talent of individual members. It’s a function of their collaboration, tenacity, and mutual respect. -[..]-best-decision-we-ever-made-4c0a99728fde

(google search) (amazon search)

Thu Oct 05 00:28:06 HKT 2017 From /weblog/software_engineering/team

program manager

Sharing from a PM -

It sound interesting but I don't exactly sure what is the difference with traditional approach -[..]on-agile-enterprise#.WdUFF3Lq9qE.twitter[..]omputest-transformation-agile-enterprise

(google search) (amazon search)

Tue Mar 21 14:31:55 HKT 2017 From /weblog/software_engineering/team


Recently I help the company offshore some work to CN developers, many difficulty I've encounter, most difficult one is it is hard to share the vision and big picture to CN developers.

This article mention a few good notes , the one I think I am lacking is having short meeting with them often. I will see if we can have video conferencing so that we are easier to meet.

The other tips here -[..]_id=45367&asrc=EM_NLN_1439070&uid=703565 but I think the tips list is too long and probably only apply to large enterprise

Tips of communication with offshore team -[..]on-in-software-development-projects.html

(google search) (amazon search)

Fri Jan 06 22:08:55 HKT 2017 From /weblog/software_engineering/team


Discussion toolkit -[..]YCOLUMN&ObjectId=12875&objecttype=ARTCOL

Other tips -

Appreciation inquiry, a communication tool helping adopting new thing -

A lot of engineer will silence when under stress, how do you communicate with them that time? Here are some suggestions -[..]048&elq=1C1DC5420DC8451CB08AEBA44D4F6BC7

There are five dangerous faults, which may effect to a software engineer:[..]/the-five-faults-of-a-software-engineer/

Benefit of whiteboard over software, communication! -

How to communicate with difference type of learners
Active versus reflective learners: "Active learners tend to retain and understand information best by doing something active with it--discussing or applying it or explaining it to others. Reflective learners prefer to think about it quietly first."
Sensing versus intuitive learners: "Sensors often like solving problems by well-established methods and dislike complications and surprises; intuitors like innovation and dislike repetition."
Visual versus verbal learners: "Visual learners remember best what they see--pictures, diagrams, flow charts, time lines, films, and demonstrations. Verbal learners get more out of words--written and spoken explanations. Everyone learns more when information is presented both visually and verbally."
Sequential versus global learners: "Sequential learners tend to gain understanding in linear steps, with each step following logically from the previous one. Global learners tend to learn in large jumps, absorbing material almost randomly without seeing connections, and then suddenly 'getting it.'"[..]/03/rich-communication-in-real-life.html

How to handle tough discussion -[..]iscussing-the-undiscussable-book-review/

Good message structure underlies all forms of effective workplace communication -[..]ood-message-structure-underlies-all.html

A methodology to test the feeling of the team -[..]2/12/web-discussions-flat-by-design.html

It is the most important skill for programmer -[..]/the-most-important-skill-of-programmer/ and also there are pointer of how to improve your communication skill

Slack is good? -[..]per-day-on-slack-29f8b08c0d82#.l27wrcft0

(google search) (amazon search)

Sun Sep 27 17:24:51 HKT 2015 From /weblog/software_engineering/team


Stop Demotivating Me! -

The key takeaways are a number of tools that you can use to try to help yourself or help others follow through on their goals. One key takeaway is that whenever you want to help somebody follow through on a goal, one thing you should do is actually prompt them to think about exactly when and where and how they will accomplish that goal. -[..]at-make-a-big-impact-on-achieving-goals/

(google search) (amazon search)

Sun Sep 21 15:00:54 HKT 2014 From /weblog/software_engineering/team

work from home

work from home guideline from sun -[..]y=designing_from_anywhere_best_practices

Comment about working as independence consultant, a good reading that discuss some issue at HK or China limited this area of jobs -

10+ productivity tips when working from home, in summary, treat is as office -[..]productivity-tips-when-working-from-home[..]work-from-home-do-it-better-f33dd0e150d1

(google search) (amazon search)

Sun Jul 20 20:05:36 HKT 2014 From /weblog/software_engineering/team

Team work

Building trust for team -[..]nity-of-practice-and-trust-building.html

One nice article about teamwork:

Directing (hi directive + lo supportive, for "enthusiastic beginners")
Supporting (hi directive + hi supportive, for "disillusioned learners")
Coaching (lo directive + hi supportive, for "reluctant contributors")
Delegating (lo directive + lo supportive, for "peak performers")[..]bbthreads/showflat.php?Cat=&Number=64809

Is it a people problem or process problem -[..]01/21/people-problem-or-process-problem/

importance of teamwork -[..]leS.MichaelFeathers.ProgrammingOnYourOwn

5 Dysfunctions of a Team -

A Leaner Start: Reducing Team Setup Times - , I think article "letting-go" is really insightful -[..]007/09/24/onboarding-strategy-letting-go

A good explanation of what is courage, and the result of didn't have courage. It also mention a bit of how to bulit courage within the team, but not much about it -

A potential issue of focus too much on people, rely on few heros -[..]12/people-over-process-misses-point.html

Our agile process requires people to spend the effort to listen and talk to each other, working closely. You have to be a people person to like it. It doesn't suit sociopaths. Accidently hiring a sociopath is going to make XP impossible. Trust me, I know. To me this is XP's fundamental weakness.[..]12/extreme-programmings-fundamental.html

What important is team but not idea -[..]g/2010/01/cultivate-teams-not-ideas.html

A Measure of Your Team’s Health: How You Treat Your “Idiot” -[..]r-teams-health-how-you-treat-your-idiot/[..]ur-teams-health-how-you-treat-your-idiot

(google search) (amazon search)

Tue Jan 07 09:10:42 HKT 2014 From /weblog/software_engineering/team


Organize software delivery around outcomes, not roles: continuous delivery and cross-functional teams -[..]ware-delivery-around-outcomes-not-roles/

(google search) (amazon search)

Fri Oct 25 16:46:57 HKT 2013 From /weblog/software_engineering/team


(google search) (amazon search)

Wed Aug 21 22:13:49 HKT 2013 From /weblog/software_engineering/team

pair programming

How work alone might be better than pairing -[..]/03/pair-programming-considered-harmful/

When to pair, when not to -[..]ramming-the-disadvantages-of-100-pairing

This is an excellent arguement -

It's only worth pairing on complex code, rote code yields no advantage.

I think there is a point to this - pairing is about improving design and minimizing mistakes. Rote code that's simple to write yields little opportunities for pairing to make a difference.

Except this: writing boring rote code is a smell. If I'm writing boring repetitive code it's usually a sign that I've missed an important abstraction, one that will drastically reduce the amount of rote code to write. Pairing will help you find that abstraction.

Common pitfall of pairing

Look like a good way to start pair programming[..]02/13/pairing-pattern-ping-pong-pairing/

Discussing pair programming -

Experience sharing of working with expert - here is the disclaimer of the blog

Why pairing -[..]n/opinion-on-the-technion/#why_pair_wise

Pair Programming smells
- Unequal access
- Keyboard domination
- Pair marriage
- Worker/Rester
- Second Computer
- "Everyone does their own work"
- 90% of work 90% done
- People who can't stand to program together
- Debates lasting more than 10 minutes without producing new code
Pair-programming smalls -[..]com/2009/02/pair-programming-smells.html[..]ir-programming-disadvantages-of-100.html[..]012/08/08/in-praise-of-pair-programming/

Programmer Pairing with a Tester -

Showing how pair programming is better than traditional code review -[..]ment/design/code-reviews-with-five-whys/

(google search) (amazon search)

Thu Jan 31 23:27:02 HKT 2013 From /weblog/software_engineering/team


I have been blogged by coworker about my mistake on team work with him, which is a wonderful lesson for me to learn.[..]asp?authorcode=D435984&entry=20223&mode=

Since then I collect information about due with change and resistance.[..]remeprogramming/message/123257?var=1&l=1[..]cles/article/the-satir-change-model.html

Ignore human factor causing team broken -

We agree... but ...

(google search) (amazon search)

Sat Aug 18 09:07:12 HKT 2012 From /weblog/software_engineering/team

develop environment

A sample of DE in python -

Here is a thread at pragprog discuss similar topic -

(google search) (amazon search)

Mon Jul 30 22:25:23 HKT 2012 From /weblog/software_engineering/team


XP style office setup[..]%84%E5%8A%9E%E5%85%AC%E7%8E%AF%E5%A2%83/

Programmers who have good working conditions and a personal investment in the end result will often volunteer overtime at crunch periods, or just when they have a particularly thorny problem to overcome and don’t want to go home
until it’s done.[..]ings_will_continue_until_morale_improves

Use of kanban -

Benefit of sharing office

Analysis about home office -

(google search) (amazon search)

Fri Jul 01 00:36:22 HKT 2011 From /weblog/software_engineering/team


How to face failure?

(google search) (amazon search)

Sat May 14 01:15:13 HKT 2011 From /weblog/software_engineering/team


Suggestion of how to due with deny -[..]to-do-when-projects-are-behind-schedule/

Common patterns of various issues and the recommended solution -

Blame base management -[..]/poor-requirements-poor-coding-poor.html

Discipline always not focus at the issue, instead it often bring more other problems -[..]en-directed-at-the-symptom-not-the-cause

Common anti-pattern of forming a good team, and the corresponding solution -

(google search) (amazon search)

Tue Mar 18 01:25:31 HKT 2008 From /weblog/software_engineering/team

Gopal Shenoy’s experience

1. Hiring is the most important thing you do at work and always hire people smarter than you
2. A manager’s success is all about making his/her reports successful in what they do
3. You cannot move up in the company unless you train your replacement
4. It is all about “relationships” and not “products”
5. Only viewpoint that matters is that of the customer
6. There is a big difference between products that customers will “buy” vs. products customers “like”
7. Be “market driven” and not be “marketing driven”. There is a big difference
8. Have technical and business arguments with colleagues as long as none of it turns personal
9. Have meetings before the meeting
10. Trying and failing is a lot better than failing to try
11. Execution is the key to being successful[..]arnt-at-solidworks-in-the-last-11-years/

(google search) (amazon search)

Mon Jan 28 14:34:36 HKT 2008 From /weblog/software_engineering/team


What worst than often OT? Having metrics to show OT help the project -

Some arguement against work more than 8 hours a day -[..]8/01/40-hour-week-is-not-just-about.html

(google search) (amazon search)

Sat Nov 17 10:03:59 HKT 2007 From /weblog/software_engineering/team

user group

Have the idea of starting minor interest group / user group of various technology inside a company. Hope someday it happened and these information help[..]ow-to-make-a-successful-java-user-group/

Fishbowl (conversation), setup a small group from large group for team discussion -

(google search) (amazon search)

Sat Mar 03 12:43:34 HKT 2007 From /weblog/software_engineering/team

knowledge management

Various tools and approach to Preserving Knowledge, I think the best is to
build custom webpage like what I does :-)[..]iscussGroup=3&cReplies=#discussBody12480

(google search) (amazon search)