RSS feed [root] /software_engineering /weblog



title search:


Mon Sep 04 15:19:12 GMT 2023


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

Fri Sep 01 01:27:49 GMT 2023 From /weblog/software_engineering/testing

case study

How google doing test -[..]/how-google-tests-software-part-two.html

How facebook doing test? -[..]nd-of-automated-testing-does-Facebook-do

How to test map-reduce application -[..]ting-mapreduce-with-the-adapter-pattern/

The Knightmare Explained - ,

Example of using mocking tools -

How sqlite tested -[..]014/06/how-do-i-make-testing-faster.html[..]3/29/test-driven-thermostat-development/

Story of testing with in-memory DB -[..]ated-integration-tests-failure-scenarios[..]ase-do-we-have-to-do-regression-testing/

What is an A/B Test? -

The complexity behind eradicating test flakiness -[..]arks-chew-on-network-cables-c0cf8c8b015b

(google search) (amazon search)

Wed Aug 23 14:26:38 GMT 2023 From /weblog/software_engineering


Painless Functional Specifications -

How to write a project specification -

How to create great technical specifications -[..]to-create-great-technical-specifications

(google search) (amazon search)

Thu Jul 20 23:18:37 GMT 2023 From /weblog/software_engineering/team


What We Expect From Software Developers on Each Level -[..]re-developers-on-each-level-f7b44abb71da

How To Build the Culture of Delivering Clean Code -[..]ure-of-delivering-clean-code-182b6563b1f

(google search) (amazon search)

Mon Feb 20 12:56:19 GMT 2023 From /weblog/software_engineering


Why code review beats testing: evidence from decades of programming research -[..]the-best-ways-to-find-bugs-in-your-code/

1: Review often
2: Review informal and short
3: Review with difference people
4: Keep it positive
5: Enjoy it[..]/08/06/5-tips-to-make-good-code-reviews/

Why review on naming is important -[..]code-and-code-reviews-whats-in-name.html

Maybe useful... can take a look -[..]ary/11-proven-practices-for-peer-review/

checklist -[..]com/java/code-review-checklist-for-java/[..]-with-our-code-review-checklist-example/

another doc about review -[..]ode-reviews-before-you-even-run-the-code <- also a list

giving-better-code-reviews -[..]ter-code-reviews-16109e0fdd36#.hvku9f942

Measuring software engineering competency -[..]asuring-software-engineering-competency/

code review something you don't know -[..]w-to-review-code-you-dont-understand-pc7[..]ood-code-reviews-and-win-colleagues-2dc8[..]/code-review-best-practices-19e02780015f[..]-for-effective-code-reviews-e30b5c95204a[..]80%9C-4-questions%E2%80%9D-retrospective

How to Make Your Code Reviewer Fall in Love with You -

Stop Nitpicking in Code Reviews -[..]1/02/23/stop-nitpicking-in-code-reviews/

Guide to Conducting Test Automation Code Reviews -[..]g/guide-to-test-automation-code-reviews/

I’ve code reviewed over 750 pull requests at Amazon. Here’s my exact thought process. -[..]-s-my-exact-thought-process-cec7c942a3a4

How to do a code review -

(google search) (amazon search)

Sat Jan 21 12:08:40 GMT 2023 From /weblog/software_engineering/team


Split Your Overwhelmed Teams -

(google search) (amazon search)

Sat Jan 07 13:10:41 GMT 2023 From /weblog/software_engineering/SCM


Suggestful github project -

GIT to SVN command guide -[..]vs-svn-commandline-syntax-reference.html

pretty cool guide -[..]e-to-an-ioke-dev-env-from-source-part-1/[..]rticleId=240160261&siteSectionName=tools[..]&siteSectionName=architecture-and-design

Some comments about possible issues -[..]an-streamline-your-writing-projects.html

Several ppl blog about why GIT better than SVN -[..]tages-of-git-over-subversion-svn-a-brief[..]03/09/its-time-to-stop-using-subversion/

A suggested branching model -

Some advantage of GIT over Mercurial -[..]hy-i-switched-to-git-from-mercurial.html

#undo last commit
git reset HEAD^

#show files in a given commit
git show --pretty="format:" --name-only rev_number

#remove untracked files and directories
git clean -f -d

#track remote branch
git branch --track branch_name origin/master

# given you created a new local branch 'branch_name'
# pushes 'branch_name' to 'origin/branch_name', creating the remote branch for you
git push origin branch_name

#delete remote branch
git push origin :remote_branch_name


Some more suggested workflow -

Move from SVN, experience of JIRA -[..]from-subversion-to-git-and-the/240009175

Merge or Rebase?[..]13/10/git-team-workflows-merge-or-rebase[..]ntial-tips-for-git-and-github-users.html

change-default-git-commit-message-template -[..]nge-default-git-commit-message-template/

Git cheat list -[..]re-development/git/git-commands-tutorial[..]nds-in-less-than-10-minutes-c53922625a73[..]ployment-for-non-developers-7811dcf508bb

gitkeep -[..]hat-is-gitkeep/?utm_source=pocket_mylist

How to Use Git and GitHub in a Team like a Pro – Featuring Harry and Hermione 🧙 -[..]use-git-and-github-in-a-team-like-a-pro/

Customize git diff -[..]/git-config-diff-colormoved-8e2f24af6645

Scaling Git’s garbage collection -

Git commands nobody has told you -[..]ommands-nobody-has-told-you-cd7025bea8db

Git Cheat Sheet with 40+ commands & concepts -[..]t-with-40-commands-concepts-ab1b9d973e96

(google search) (amazon search)

Thu Nov 03 23:55:18 GMT 2022 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

How To Update Your Status During Standup Like a Senior Engineer -[..]d-up-like-a-senior-engineer-f05f3c7f91e4

(google search) (amazon search)

Thu Nov 03 23:39:44 GMT 2022 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/[..]code-review-try-mob-instead-82149ef035df

(google search) (amazon search)

Fri Sep 16 12:46:34 GMT 2022 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/

Quiet Quitting & Strategy, The Humanity Imperative -[..]com/quiet-quitting-strategy-1fe6892c975b

(google search) (amazon search)

Sun May 01 13:32:30 GMT 2022 From /weblog/software_engineering


Summary: In this column, David Gelperin presents a problem familiar to many of us?what is the best way to record requirements? Given the limitations of static templates, how can we best manage high-volume, multidimentional requirements information? Read on and then share your experiences. -[..]bjectId=5936&tth=DYN&tt=siteemail&iDyn=2

Why specs matter - Most developers are morons, and the rest are assholes. I have at various times counted myself in both groups, so I can say this with the utmost confidence. -

Explain why we should share the vision with the team -[..]6/sell-your-requirements-to-development/

An OK article about scope changing management -

Using mind maps and story tree to manage requirement -[..]-user-stories-mind-maps-and-story-trees/

Interesting software for requirement management -[..]app/product/

Another angle to view requirement - not to blame, not to prevent responsible, just try to talk and solve problem is better than document -[..]com/blog/requirements_considered_harmful

Template and sample for spec. -[..]et109stru&asrc=EM_NLN_2350433&uid=703565

If you want to be a good product manager, understand unmet needs and use that insight to drive requirements. -[..]/2008/05/06/stop-gathering-requirements/

Compare user story and use case -[..]ser-stories-are-just-schedulable-change/

INVEST to user story -[..]24/distributed-agile-stories-negotiable/

What you want to do, and what other want you to do -[..]2/03/things-manga-taught-me-requirement/

1. How will this requirement or decision impact the user?
2. Are we overlooking any stakeholders?[..]asking-ourselves-and-others-abfa837db061

(google search) (amazon search)

Fri Apr 01 10:08:35 GMT 2022 From /weblog/software_engineering


> I followed this thread for a while and I've a question. What is an
> average number of "good" sloc a developer can produce daily?

> I know it depends on language, developer skill etc. but you, with your
> experience, how many good sloc will write today?

Today so far I deleted more than I wrote.[..]/group/extremeprogramming/message/140866

Why pushing unreasonable deadline is bad -

Software is about discovery -[..]covery-when-i-grow-up-i-want-to-be-jeff/

Improving Happiness at Work: Positive Practices and the Power of the Positive Question -[..]-the-power-of-the-positive-question.html

Some tip to improve productivity -[..]/10/boost-up-your-development-speed.html

20 Things Developers Should Stop Saying -[..]/20-things-developers-should-stop-saying

Why deadline is useful? It help focusing on a small target -[..]90%E7%9A%84%E5%8A%9B%E9%87%8F/index.html

The golden cycle of sustainable management, and why we doesn't able to achieve that -[..]m/the-golden-broken-management-approach/

Caffeine is a Zero-Sum Game -[..]need-to-stop-doing-to-be-more-productive

Individual productivity is about increasing focus, frequent feedback, and reducing friction -[..]dback-and-reducing-friction-61d7759b9139

In 1911, a genius revealed a forgotten science of how to be 50x more productive without working more hours -[..]w-to-be-50x-more-productive-8828f86eb1c9*Q0-6pgSzrDavekXnL-yHSg.png

(google search) (amazon search)

Wed Dec 22 13:25:19 GMT 2021 From /weblog/software_engineering/testing


There is a lot of discussion about this blog -

Which talk about classification of functional test and unit test. Nice to read. You can also refer to the following article:

Checking vs. testing -

Focusing on testing -[..]012/03/18/introducing-depth-of-test-dot/

Verification and Validation in Testing -[..]/verification-and-validation-in-testing/

(google search) (amazon search)

Thu Dec 09 23:31:12 GMT 2021 From /weblog/software_engineering/testing

best practices

Consider the risk of not being tested -[..]sting-on-toilet-risk-driven-testing.html

Fidelity, Resilience, Precision -[..]testing-on-toilet-effective-testing.html

Attributes that unit test should have: Functionality, Accuracy, Instant, Locator -

Isolation -[..]/2012/04/is-your-unit-test-isolated.html

Tips of keeping unit tests running fast -

Testing Patterns -

Continuously to break thing so that we know our system is solid -[..]11/04/working-with-the-chaos-monkey.html

First rule -[..]08/10/01/nothing_is_too_trivial_to_test/

Test first/last is not important? Unit test either? What do you think?

* The name of the test should describe the requirement of the code
* There should be at least one test for each requirement of the code. Each possible path through of the code is a different requirement#
* Test the goal of the code, not the implementation[..]AppQuality&asrc=EM_NLN_761453&uid=703565[..]og/2007/08/how-not-to-run-beta-test.html

The teaser: Fast, Isolated, Repeatable, Self-validating, and Timely. -[..]es/2007/08/02/not-a-task-but-an-approach

Corner cases -[..]s/2007/02/testheuristicscheatsheetv1.pdf

One of the targets of TDD coding -[..]e-code-is-about-managing-complexity.aspx

Design for unit test -[..]es/content/DesigntoUnitTest/article.html

Push and Pull approach -

When not to test -

Test the story, rather than the implementation -[..]ving-to-scenario-based-unit-testing.html

Test the configuration -[..]TSS10ctqa&asrc=EM_NLN_8746433&uid=703565

Feel the deep synergy of design and test constraint -[..]athers_blog/2007/09/the-deep-synerg.html

Another set of principles for automated testing -[..]of-principles-for-automated-testing.html

Priority for tester -[..]

A lot of links -[..]-links-biased-toward-exploratory-testing[..]nit-tests-5-principles-for-unit-testing/

Some information and suggestion about setting up a local integrated testing environment -[..]

Virtual Panel: Code-to-Test Ratios, TDD and BDD -

A test is complete when its body contains all of the information you need to understand it, and concise when it doesn't contain any other distracting information. -[..]ting-on-toilet-what-makes-good-test.html

Discussion about naming the tests -[..]14/03/17/getting-junit-test-names-right/[..]ting/writing-clean-tests-naming-matters/[..]esting-on-toilet-test-behaviors-not.html <- Test behaviour, not method. This will make your tests more resilient since adding new behaviors is unlikely to break the existing tests, and clearer since each test contains code to exercise only one behavior.

Tips on having better assertion or cleaner test -[..]ur-test-code-with-custom-assertions.html[..]-friday-most-internal-dsls-are-outdated/[..]ertions-with-a-domain-specific-language/

Good to prevent setup and tearDown?

#1 Treat Test Code as Production Code
#2 Use Test Patterns to achieve great readability
#3 Avoid Unreliable Tests
#4 Test at The Appropriate Level
#5 Do Use Test Doubles[..]insights/blog/write-better-tests-5-steps[..]om/core-java/junit/junit-best-practices/

Document ‘Why’, specify ‘What’, automate ‘How’ -[..]/agile/2016/05/24/large-test-suites.html

Good typing to prevent un-necessary test -[..]com/2014/12/09/typed-language-tdd-part1/

Unit Tests Are FIRST: Fast, Isolated, Repeatable, Self-Verifying, and Timely -[..]e-self-verifying-and-timely-a83e8070698e

(google search) (amazon search)

Fri Jul 09 06:03:29 GMT 2021 From /weblog/software_engineering/testing


If you write the test after you've written the code, it's much more likely that you'll write the tests that will pass what you've written.

That's just how our brains work.

If you determine the criteria for whether a decision is good after you've already made the decision, it's much more likely that you'll create criteria that justifies the decision that was just made.

That's just how our brains work.

Determine how to assess whether something is good before you implement it and/or before you make a decision. Otherwise, you will tend to be emotionally attached to what you just did, what you just decided.

My Top 5 ways to reproduce a "Hard to Reproduce" Bug! -[..]/my-top-5-ways-to-reproduce-hard-to.html

Common TDD issue and suggested solution -[..]utomated-test-problems-address-root.html[..]om/biblio/StudiesOfTestDrivenDevelopment[..]ptions-with-test-driven-development.html[..]014/05/told-you-that-testing-is-a-waste/[..]-best-thing-has-happened-software-design[..]evelopment-is-dumb-fight-me-a38b3033280c

Does this mean I think you should skip TDD for programs you’re going to run once and then throw them away?

Well, I’m closer to OK with that than I am to the other cases here, but I often spend enough time editing and rerunning to make me think there was probably a central bit of the program that would have benefited from some TDD.

What TDD is -- and isn't -- like. -

(google search) (amazon search)

Sun Jun 20 13:03:57 GMT 2021 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

I’ve Worked From Home for 22 Years. Here’s What I’ve Learned. -[..]years-heres-what-ive-learned-11585354640

Stanford researchers identify four causes for ‘Zoom fatigue’ and their simple fixes -[..]2/23/four-causes-zoom-fatigue-solutions/

(google search) (amazon search)

Sun Jun 20 13:01:15 GMT 2021 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

Don't pretend -[..]ad-my-five-biggest-mistakes-fd7f4a2f1808[..]les-of-effective-leadership-d2f9d28a49fb

Being Glue -

(google search) (amazon search)

Sat Jun 19 06:23:19 GMT 2021 From /weblog/software_engineering


Measurable Value with Agile -

Why you should (and shouldn’t) track time -

Discussion of LOC measurement -

Three signs your team needs Engineering Metrics ASAP -[..]ds-engineering-metrics-asap-387270db00cc

(google search) (amazon search)

Mon Feb 15 13:23:37 GMT 2021 From /weblog/software_engineering/SCM


Why merge often -[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo

A lot of resource here -[..]i-bin/cmwiki/view/CM/BranchingAndMerging

At my company, we tag each CVS module and we use those tags to build releases. That way, we know exactly which code versions each deployment has. Also, developers can check in code at any point while controlling when they release it.

Branches are a major headache, which I avoid whenever possible. You have to worry about maintaining and testing each branch, along with merging changes. I prefer to release the latest and greatest code to each customer. If different customers require different behavior, if statements and configuration files are a lot better than CVS branches.

Branches do make sense if you want to release a minor change to an old release, but upgrading the entire code base is risky. However, high-quality code and testing should reduce that risk.[..]arent=16312&ixDiscussGroup=3&cReplies=11

Subversion branching technique and tips -[..]version-best-practices-branching_01.html[..]version_tips_dealing_with_branches.html/

Another discussion -

Branch visualization -[..]07/05/linus-torvalds-on-git-and-scm.html

One way of manage branching and merging, the summary is, frequency create new branch for pre-merge instead of one time big merge -[..]old-you-about-svn-branching-and-merging/ My colleagues suggest subversion merge tracking can solve the problem without that pre-merge, but I am not sure how that can work...

No branch?[..]-of-code-in-a-single-repository/fulltext[..]s/2017/08/How-Google-build-Web-framework[..]

(google search) (amazon search)

Fri Jan 01 00:12:37 GMT 2021 From /weblog/software_engineering/SCM

Best Practice

Article for SCM -

In my opinions, everything except machine generated should be in SCM... How about you? -[..]d.tss?thread_id=41260&ASRC=EM_NNL_347801

Check In Early, Check In Often -

Comparison of difference SCM, a bit subjective, still good as basic overview of feature and comparison -[..]urity-model-for-source-control-scmm.html

(google search) (amazon search)

Sat Dec 19 13:29:27 GMT 2020 From /weblog/software_engineering


(google search) (amazon search)

Wed Dec 02 13:08:20 GMT 2020 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

How to Create a Great Team Culture (and Why It Matters) -

Psychological Safety -[..]tally-healthy-environment-for-developers[..]chological-safety-heres-how-to-create-it

‘As long as everyone got a chance to talk, the team did well. But if only one person or a small group spoke all the time, the collective intelligence declined.’ -[..]its-quest-to-build-the-perfect-team.html

(google search) (amazon search)

Fri Sep 04 05:26:55 GMT 2020 From /weblog/software_engineering/testing


A nice example of convert dbunit from using junit to testng -[..]h/blog.php?name=philzoio&mydate=20050826

redirect junit output to a file -

invokeNCopiesWithTimeout, run a test ( in runnable() ) for n times and see if it ok for multi-thread likely or not -[..]/running-n-foreground-tasks-in-java.html

Use theories to execute test with a lot difference input, probably possible for all cases -[..]010/01/31/new-feature-of-junit-theories/[..]using-junit-4-theories-to-test-contracts

The other features, rule, perform some rule on test cases -

Adding timeout -

Testing exceptions at Junit -[..]ting-expected-exceptions-with-junit.html[..]ays-of-handling-exceptions-in-junit.html[..]-java-unit-testing-frameworks-tools.html

Skip test for some cases, or create test only for some cases -[..]unit-rule-to-conditionally-ignore-tests/

What new in junit5 -[..]it-5-next-generation-testing-on-the-jvm/

Compare with jupiter -[..]8-09-13-junit-4-core-vs-jupiter-api.html

Beyond the simple: An in-depth look at JUnit 5’s nested tests, dynamic tests, parameterized tests, and extensions -[..]tests-parameterized-tests-and-extensions

(google search) (amazon search)

Tue Jul 14 02:48:53 GMT 2020 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 -[..]omputest-transformation-agile-enterprise[..]/18/build-engineering-culture-tech-team/[..]rom-dev-to-team-lead-8-things-they-didnt

(google search) (amazon search)

Sat Feb 29 12:50:29 GMT 2020 From /weblog/software_engineering


Release at fix time or release at fix features?

Launch early and learn from it, but will we lose customer because of it?? -

A method to determine which label to deploy, look a bit obvious -[..]so-er-which-build-label-do-i-deploy.html

A sample procedure of zero downtime deployment -[..]

Knightmare: A DevOps Cautionary Tale -[..]/17/knightmare-a-devops-cautionary-tale/

(google search) (amazon search)

Sun Jan 05 12:05:34 GMT 2020 From /weblog/software_engineering/testing


WatiN, alternative of selenium -[..]2/how-to-unit-test-watin-mbunit-and.html another person saying this is better -

And someone work hard on make FITness and Selenium work together, more information can be found at[..]m/2006/09/fitnesse-selenium-wrapper.html[..]ng-web-tests-with-fitnesse-and-selenium/

A story of how to overcome various issues of applying selenium in acceptance testing -[..]07/08/selenium_is_the_pain_worth_it.html[..]9/webtest-vs-selenium-webtest-wins-13-5/ Why the functional test is important

How many resources should put in a functional test?

Kent discuss about how to balance low level unit test and high-level functional test -

(google search) (amazon search)