junit.txt 2020-09-04T05:26:55Z 2020-09-04T05:26:55Z <br/>A nice example of convert dbunit from using junit to testng - <a href="">[..]h/blog.php?name=philzoio&mydate=20050826</a> <br/><br/>redirect junit output to a file - <a href=""></a> <br/><br/>invokeNCopiesWithTimeout, run a test ( in runnable() ) for n times and see if it ok for multi-thread likely or not - <a href="">[..]/running-n-foreground-tasks-in-java.html</a> <br/><br/>Use theories to execute test with a lot difference input, probably possible for all cases - <a href="">[..]010/01/31/new-feature-of-junit-theories/</a> <a href="">[..]using-junit-4-theories-to-test-contracts</a> <a href=""></a> <br/><br/>The other features, rule, perform some rule on test cases - <a href=""></a> <br/><br/>Adding timeout - <a href=""></a> <br/><br/>Testing exceptions at Junit - <a href="">[..]ting-expected-exceptions-with-junit.html</a> <a href="">[..]ays-of-handling-exceptions-in-junit.html</a> <br/><br/><a href="">[..]-java-unit-testing-frameworks-tools.html</a> <br/><br/>Skip test for some cases, or create test only for some cases - <a href="">[..]unit-rule-to-conditionally-ignore-tests/</a> <br/><br/>What new in junit5 - <a href="">[..]it-5-next-generation-testing-on-the-jvm/</a> <a href=""></a> <br/><br/>Compare with jupiter - <a href="">[..]8-09-13-junit-4-core-vs-jupiter-api.html</a> <br/><br/>Beyond the simple: An in-depth look at JUnit 5’s nested tests, dynamic tests, parameterized tests, and extensions - <a href="">[..]tests-parameterized-tests-and-extensions</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-09-04T05:26:55Z capacity.txt 2020-07-14T14:54:48Z 2020-07-14T14:54:48Z <br/><a href="">[..]h-can-you-carry-study-capacity-modelling</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-07-14T14:54:48Z program manager.txt 2020-07-14T02:48:53Z 2020-07-14T02:48:53Z <br/><a href=""></a> <br/><br/>Sharing from a PM - <a href=""></a> <br/><br/>It sound interesting but I don't exactly sure what is the difference with traditional approach - <a href="">[..]omputest-transformation-agile-enterprise</a> <br/><br/><a href="">[..]/18/build-engineering-culture-tech-team/</a> <br/><br/><a href="">[..]rom-dev-to-team-lead-8-things-they-didnt</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-07-14T02:48:53Z Team work.txt 2020-06-02T04:39:22Z 2020-06-02T04:39:22Z <br/>Building trust for team - <a href="">[..]nity-of-practice-and-trust-building.html</a> <br/><br/>One nice article about teamwork: <br/><br/>Directing (hi directive + lo supportive, for "enthusiastic beginners") <br/>Supporting (hi directive + hi supportive, for "disillusioned learners") <br/>Coaching (lo directive + hi supportive, for "reluctant contributors") <br/>Delegating (lo directive + lo supportive, for "peak performers") <br/><br/><a href="">[..]bbthreads/showflat.php?Cat=&Number=64809</a> <br/><br/>Is it a people problem or process problem - <a href="">[..]01/21/people-problem-or-process-problem/</a> <br/><br/>importance of teamwork - <a href="">[..]leS.MichaelFeathers.ProgrammingOnYourOwn</a> <br/><br/>5 Dysfunctions of a Team - <a href=""></a> <br/><br/>A Leaner Start: Reducing Team Setup Times - <a href=""></a> , I think article "letting-go" is really insightful - <a href="">[..]007/09/24/onboarding-strategy-letting-go</a> <br/><br/>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 href=""></a> <br/><br/>A potential issue of focus too much on people, rely on few heros - <a href="">[..]12/people-over-process-misses-point.html</a> <br/><br/>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. <a href="">[..]12/extreme-programmings-fundamental.html</a> <br/><br/>What important is team but not idea - <a href="">[..]g/2010/01/cultivate-teams-not-ideas.html</a> <br/><br/><a href=""></a> <br/><br/><a href=""></a> <br/><br/><br/>A Measure of Your Team’s Health: How You Treat Your “Idiot” - <a href="">[..]r-teams-health-how-you-treat-your-idiot/</a> <a href="">[..]ur-teams-health-how-you-treat-your-idiot</a> <br/><br/><a href=""></a> <br/><br/>How to Create a Great Team Culture (and Why It Matters) - <a href=""></a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-06-02T04:39:22Z efficiency.txt 2020-06-02T00:58:22Z 2020-06-02T00:58:22Z <br/>Cool diagram showing what slow us down - <a href="">[..]m/blog/2012/01/faster-faster-faster.html</a> <br/><br/>Usually, not a good idea to grow a team too big too soon - <a href=""></a> <br/><br/>Taken from Interview of Charles Simonyi ( <a href=""></a> ) , both the interview and the discussion are nice to read: <a href=""></a> , However, I will think if team work effective, 1+1 > 2 <br/><br/>What we should really care about is effectiveness and not efficiency. and effectiveness is often inefficient - <a href="">[..]our-obsession-with-efficiency-dan-north/</a> <br/><br/>Handling emergencies or crisis situations<br/>Handling work stress<br/>Solving problems creatively<br/>Dealing with uncertain and unpredictable work situations<br/>Learning work tasks, technologies, and procedures<br/>Demonstrating interpersonal adaptability<br/>Demonstrating cultural adaptability<br/>Demonstrating physical-oriented adaptability<br/>- <a href="">[..]2010/12/8-behavioural-dimensions-of.html</a> <br/><br/><a href=""></a> <- a simple way to check what make team move faster, and things that slow team down. <br/><br/><a href="">[..]icles/speed-in-software-development.html</a> <br/><br/>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. - <a href="">[..]/how-we-handle-bug-fixes-and-rework.html</a> <br/><br/>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. - <a href="">[..]-best-decision-we-ever-made-4c0a99728fde</a> <br/><br/><a href=""></a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-06-02T00:58:22Z work from home.txt 2020-05-16T15:34:15Z 2020-05-16T15:34:15Z <br/>work from home guideline from sun - <a href="">[..]y=designing_from_anywhere_best_practices</a> <br/><br/>Comment about working as independence consultant, a good reading that discuss some issue at HK or China limited this area of jobs - <a href=""></a> <br/><br/>10+ productivity tips when working from home, in summary, treat is as office - <a href="">[..]productivity-tips-when-working-from-home</a> <a href="">[..]work-from-home-do-it-better-f33dd0e150d1</a> <a href=""></a> <br/><br/><a href=""></a> <br/><br/>I’ve Worked From Home for 22 Years. Here’s What I’ve Learned. - <a href="">[..]years-heres-what-ive-learned-11585354640</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-05-16T15:34:15Z branch.txt 2020-04-21T10:27:57Z 2020-04-21T10:27:57Z <br/>Why merge often - <a href=""></a> <br/><br/><a href="">[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo</a> <br/><br/><a href=""></a> <br/><br/>A lot of resource here - <a href="">[..]i-bin/cmwiki/view/CM/BranchingAndMerging</a> <br/><br/>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.<br/><br/>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.<br/><br/>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.<br/><br/><a href="">[..]arent=16312&ixDiscussGroup=3&cReplies=11</a> <br/><br/>Subversion branching technique and tips - <a href="">[..]version-best-practices-branching_01.html</a> <a href="">[..]version_tips_dealing_with_branches.html/</a> <br/><br/>Another discussion - <a href=""></a> <br/><br/>Branch visualization - <a href="">[..]07/05/linus-torvalds-on-git-and-scm.html</a> <a href=""></a> <br/><br/>One way of manage branching and merging, the summary is, frequency create new branch for pre-merge instead of one time big merge - <a href="">[..]old-you-about-svn-branching-and-merging/</a> My colleagues suggest subversion merge tracking can solve the problem without that pre-merge, but I am not sure how that can work... <a href=""></a> <br/><br/>No branch? <a href="">[..]-of-code-in-a-single-repository/fulltext</a> <a href="">[..]s/2017/08/How-Google-build-Web-framework</a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-04-21T10:27:57Z release.txt 2020-02-29T12:50:29Z 2020-02-29T12:50:29Z <br/>Release at fix time or release at fix features? <a href=""></a> <br/><br/>Launch early and learn from it, but will we lose customer because of it?? - <a href=""></a> <br/><br/>A method to determine which label to deploy, look a bit obvious - <a href="">[..]so-er-which-build-label-do-i-deploy.html</a> <br/><br/>A sample procedure of zero downtime deployment - <a href="">[..]</a> <br/><br/>Knightmare: A DevOps Cautionary Tale - <a href=""></a> <a href="">[..]/17/knightmare-a-devops-cautionary-tale/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-02-29T12:50:29Z TDD.txt 2020-01-21T00:00:48Z 2020-01-21T00:00:48Z <br/>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.<br/><br/>That's just how our brains work.<br/><br/>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.<br/><br/>That's just how our brains work.<br/><br/>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.<br/><br/><a href=""></a> <br/><br/>My Top 5 ways to reproduce a "Hard to Reproduce" Bug! - <a href="">[..]/my-top-5-ways-to-reproduce-hard-to.html</a> <br/><br/>Common TDD issue and suggested solution - <a href="">[..]utomated-test-problems-address-root.html</a> <br/><br/><a href="">[..]om/biblio/StudiesOfTestDrivenDevelopment</a> <br/><br/><a href="">[..]ptions-with-test-driven-development.html</a> <br/><br/><a href=""></a> <br/><br/><a href="">[..]014/05/told-you-that-testing-is-a-waste/</a> <br/><br/><a href="">[..]-best-thing-has-happened-software-design</a> <br/><br/><a href="">[..]evelopment-is-dumb-fight-me-a38b3033280c</a> <br/><br/>Does this mean I think you should skip TDD for programs you’re going to run once and then throw them away?<br/><br/>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.<br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-01-21T00:00:48Z pair programming.txt 2020-01-16T00:13:43Z 2020-01-16T00:13:43Z <br/><a href=""></a> <br/><br/>How work alone might be better than pairing - <a href="">[..]/03/pair-programming-considered-harmful/</a> <br/><br/>When to pair, when not to - <a href="">[..]ramming-the-disadvantages-of-100-pairing</a> <br/><br/>This is an excellent arguement - <br/><BLOCKQUOTE><br/>It's only worth pairing on complex code, rote code yields no advantage.<br/><br/>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.<br/><br/>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.<br/></BLOCKQUOTE><br/><br/><a href=""></a> <br/><br/>Common pitfall of pairing<br/><a href=""></a> <br/><a href=""></a> <br/><a href=""></a> <br/><br/>Look like a good way to start pair programming<br/><a href="">[..]02/13/pairing-pattern-ping-pong-pairing/</a> <br/><a href=""></a> <br/><br/>Discussing pair programming - <a href=""></a> <br/><br/>Experience sharing of working with expert - <a href=""></a> here is the disclaimer of the blog <a href=""></a> <br/><br/>Why pairing - <a href="">[..]n/opinion-on-the-technion/#why_pair_wise</a> <br/><br/>Pair Programming smells<br/> - Unequal access<br/> - Keyboard domination<br/> - Pair marriage<br/> - Worker/Rester<br/> - Second Computer <br/> - "Everyone does their own work"<br/> - 90% of work 90% done<br/> - People who can't stand to program together<br/> - Debates lasting more than 10 minutes without producing new code<br/> - <br/>Pair-programming smalls - <a href="">[..]com/2009/02/pair-programming-smells.html</a> <a href="">[..]ir-programming-disadvantages-of-100.html</a> <br/><br/><a href=""></a> <br/><br/><a href="">[..]012/08/08/in-praise-of-pair-programming/</a> <br/><br/><a href=""></a> <br/><br/>Programmer Pairing with a Tester - <a href=""></a> <br/><br/>Showing how pair programming is better than traditional code review - <a href="">[..]ment/design/code-reviews-with-five-whys/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-01-16T00:13:43Z functional.txt 2020-01-05T12:05:34Z 2020-01-05T12:05:34Z <br/>WatiN, alternative of selenium - <a href="">[..]2/how-to-unit-test-watin-mbunit-and.html</a> another person saying this is better - <a href=""></a> <br/><br/>And someone work hard on make FITness and Selenium work together, more information can be found at <a href="">[..]m/2006/09/fitnesse-selenium-wrapper.html</a> <a href="">[..]ng-web-tests-with-fitnesse-and-selenium/</a> <br/><br/>A story of how to overcome various issues of applying selenium in acceptance testing <a href="-">-[..]07/08/selenium_is_the_pain_worth_it.html</a> <br/><br/><a href="">[..]9/webtest-vs-selenium-webtest-wins-13-5/</a> <br/><br/><a href=""></a> Why the functional test is important <br/><br/>How many resources should put in a functional test? <a href=""></a> <br/><br/>Kent discuss about how to balance low level unit test and high-level functional test - <a href=""></a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2020-01-05T12:05:34Z offshore.txt 2019-11-12T12:09:43Z 2019-11-12T12:09:43Z <br/>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. <br/><br/>This article mention a few good notes <a href=""></a> , 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. <br/><br/>The other tips here - <a href="">[..]_id=45367&asrc=EM_NLN_1439070&uid=703565</a> but I think the tips list is too long and probably only apply to large enterprise <br/><br/>Tips of communication with offshore team - <a href="">[..]on-in-software-development-projects.html</a> <br/><br/><a href=""></a> <br/><br/><a href=""></a> <br/><br/><a href=""></a> <a href=""></a> <br/><br/><a href="">[..]ur-remote-team-and-then-getting-it-right</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-11-12T12:09:43Z review.txt 2019-10-14T13:44:12Z 2019-10-14T13:44:12Z <br/>Why code review beats testing: evidence from decades of programming research - <a href="">[..]the-best-ways-to-find-bugs-in-your-code/</a> <br/><br/>1: Review often<br/>2: Review informal and short<br/>3: Review with difference people<br/>4: Keep it positive<br/>5: Enjoy it<br/><br/><a href="">[..]/08/06/5-tips-to-make-good-code-reviews/</a> <br/><br/>Why review on naming is important - <a href="">[..]code-and-code-reviews-whats-in-name.html</a> <br/><br/>Maybe useful... can take a look - <a href="">[..]ary/11-proven-practices-for-peer-review/</a> <a href=""></a> <a href=""></a> <br/><br/>checklist - <a href="">[..]com/java/code-review-checklist-for-java/</a> <a href="">[..]-with-our-code-review-checklist-example/</a> <br/><br/>another doc about review - <a href="">[..]ode-reviews-before-you-even-run-the-code</a> <br/><br/><a href=""></a> <- also a list <br/><br/>giving-better-code-reviews - <a href="">[..]ter-code-reviews-16109e0fdd36#.hvku9f942</a> <br/><br/>Measuring software engineering competency - <a href="">[..]asuring-software-engineering-competency/</a> <br/><br/><a href=""></a> <br/><br/>code review something you don't know - <a href=""></a> <a href="">[..]w-to-review-code-you-dont-understand-pc7</a> <br/><br/><a href="">[..]ood-code-reviews-and-win-colleagues-2dc8</a> <br/><br/><a href="">[..]/code-review-best-practices-19e02780015f</a> <br/><br/><a href="">[..]-for-effective-code-reviews-e30b5c95204a</a> <br/><br/><a href=""></a> <br/><br/><a href="">[..]80%9C-4-questions%E2%80%9D-retrospective</a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-10-14T13:44:12Z antipattern.txt 2019-08-22T00:00:00Z 2019-08-22T00:00:00Z <br/>The evil test:<br/><br/>1. Evil tests create a lock on how the code is implemented.<br/>2. Cause duplication.<br/>3. Builds uncertainty on the tests (red is meaningless).<br/>4. Decrease productivity.<br/>5. Discourage change.<br/><br/><a href=""></a> <br/><br/>use thread in junit - <a href="">[..]blog/2007/11/05/false-positives-in-junit</a> <br/><br/>Don't try to test everything - <a href="">[..]ay?entry=unit_testing_avoiding_extremism</a> <br/><br/>Why TDD fail? Because test is too complicate to write - <a href=""></a> ( I agree it a lot ) <br/><br/>Hard to test something? Unreadable tests? Slow running tests? It takes too long to write a test? Some solution suggested - <a href="">[..]/last-d-in-tdd-means-more-than-just.html</a> <br/><br/>Comment out test so that the code compile - <a href=""></a> <br/><br/>A list of TDD antipattern - <a href=""></a> <a href=""></a> <br/><br/>And the long discussion using random in unittest - <a href="">[..]rivendevelopment/message/20458?var=1&l=1</a> <br/>Here is an example of using random in unittest, it actually same for every new instance! - <a href=""></a> <br/><br/>Test abstraction smells - <a href="">[..]com/2011/11/test-abstraction-smells.html</a> <br/><br/>Basically, we should keep it simple, and driven the development rather than post test - <a href="">[..]stteam/Posts/13-01-24/top-5-tdd-mistakes</a> <br/><br/>A good list of anti-pattern - <a href="">[..]2014/05/06/getting-unit-testing-to-fail/</a> <br/>Test rely on shell script return is difficult to maintain, say the script running at background can cause problem - <a href="">[..]m/2014/01/10/another-shell-test-pitfall/</a> <br/><br/>Six Things That Go Wrong With Discussions About Testing - <a href=""></a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-08-22T00:00:00Z leadership.txt 2019-05-26T15:56:41Z 2019-05-26T15:56:41Z <br/>Servant Leadership - <a href="">[..]t-be-my-style-of-servant-leadership.html</a> , similarly, what a leader should do is helping other to do better, not to be the best of the team - <a href="">[..]/03/onthings-manga-taught-me-leadership/</a> <a href="">[..]what-do-you-look-for-in-a-servant-leader</a> <br/><br/>Mentorship - <a href="">[..]entorship-in-software-craftsmanship.html</a> <br/><br/>Keep focus, or lose - <a href="">[..]0/how-steve-jobs-influenced-googles.html</a> <br/><br/>The anti-pattern and suggestion about new joiner - <a href="">[..]-you-will-face-as-a-software-team-l.html</a> <br/><br/>Believe me, the objective was not to make decisions, but to create the right environment so that the right decision would be made. <a href=""></a> <br/><br/>A nice set of questions to ask for a leader - <a href="">[..]3/questions-on-influence-and-growth.html</a> <br/><br/>In short, don't put your shoes on others' foot - <a href="">[..]earned-in-the-army_Printer_Friendly.html</a> <br/><br/>4 types of leadership style, well, I think he model leadership a little too simple - <a href="">[..]s-the-best-leader-for-the-software-team/</a> <br/><br/>Your experts are spending all their time mentoring novices. Therefore:<br/><br/>Put one expert in charge of all the novices, let the others develop the system. - <a href="">[..]010/2/25/organizational-pattern-day-care</a> <br/><br/>What is the key Characteristics of great team - <a href=""></a> <br/><br/>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 - <a href="">[..]m/2011/01/programmers-and-micromanaging/</a> <br/><br/><a href="">[..]best-thing-you-can-do-for-your-team.html</a> <- is provide required information, probably more transparent. <br/><br/>Don't make me think... but you have no business not allowing me to think if I choose to. - <a href="">[..]allow-me-to-think-just-dont-make-me.html</a> <br/><br/>How To Lead Clever People, actually I am double about this, let's see - <a href=""></a> <a href=""></a> <br/><br/>How to grow the leadership - <a href="">[..]og/mpd/2012/11/nurturing-leadership.html</a> <br/><br/>他在公司的名言是「When you give, you get」。他在上海成立科研中心,大方讓上汽參與,他認為各懷鬼貽的氣氛不可能做出成績。合資公司理論上是獨立個體,合資公司員工應把合資公司利益放到最前,而不是自己原屬公司的利益,但很少人做得到。慢慢下來,上汽也逐漸對墨菲產生尊重。<br/><br/>在美國和上海工作過的GM員工,指上海GM的工作氣氛跟美國截然不同,甚至認為上海GM形成一套自己的文化,這套文化建基於信任。墨菲跟員工打成一片,工餘在家中安排活動,中美關係罕有地融洽。 <a href="由傲慢製造的優秀企業/">由傲慢製造的優秀企業/</a> <br/><br/><br/><br/>10. 永遠記得,做出決定前要先綜觀全局。<br/><br/>9. 否定別人跟切換開關一樣容易。但你最好拼死抵抗這種衝動,因為你也曾經做過蠢事。你做過爛決定,然後學習、成長,別人也一樣。<br/><br/>8. 掃地、擦桌、關燈。哪裡有漏洞要補就去補——即便那很瑣碎、沒人會注意。你必須做這些事去造福你的產品、你的公司,以及所有你們團隊共同打造的,令眾人驚艷、神奇的事物。<br/><br/>7. 你無法做所有的事。閉上眼睛,向後仰倒,學會信任。<br/><br/>6. 顯然有某種更為有效的方法能處理你正在做的事。是什麼呢?在每天回家的路上反覆思考吧。<br/><br/>5. 找出總是在依賴你的人,想想要怎麼做才能協助他們,讓他們自力更生。或許你覺得當個壟斷市場的鮭魚供應商很重要,但如果小鎮的所有人都學會捕魚,便能將你解放出來去做別的事。像是學習種小麥,或是如何馴服那些可愛的小狼。<br/><br/>4. 別說任何對當下討論沒有貢獻的話。你的聲音並非悠揚到絕對必須被聽見。<br/><br/>3. 做得出最好的決定比不上處在得以確保做出更多最佳決定的流程。<br/><br/>2. 就像你經常發表意見那樣,多說感謝和鼓勵的話語。<br/><br/>1. 最重要的是:永遠要掃除障礙物。那怕只是玩玩手指、看看窗外的雲,也別讓你那愚蠢、幼稚的自我阻礙團隊前進的腳步。<br/><br/><a href=""></a> <br/><br/><a href="">[..]oftware-leadership-6-read-every-checkin/</a> <br/><br/><a href="">[..]</a> <br/><br/><a href="">[..]op-5-mistakes-for-first-time-tech-leads/</a> <br/><br/><a href=""></a> <br/><br/>How to lead with diplomatic - <a href="">[..]how-to-be-both-assertive-and-diplomatic/</a> <br/><br/>Dr. Nico Rose cites research that finds that happy people tend to be more effective leaders. - <a href="">[..]-your-money-managing-your-life-part-one/</a> <br/><br/><a href=""></a> <br/><br/><a href="">[..]ge-manager-vs-great-manager-cf8a2e30907d</a> <br/><br/><a href=""></a> <br/><br/>Don't pretend - <a href="">[..]ad-my-five-biggest-mistakes-fd7f4a2f1808</a> <br/><br/><a href="">[..]les-of-effective-leadership-d2f9d28a49fb</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-05-26T15:56:41Z git.txt 2019-05-13T09:33:43Z 2019-05-13T09:33:43Z <br/>Suggestful github project - <a href=""></a> <br/><br/>GIT to SVN command guide - <a href="">[..]vs-svn-commandline-syntax-reference.html</a> <br/><br/>pretty cool guide - <a href="">[..]e-to-an-ioke-dev-env-from-source-part-1/</a> <a href=""></a> <a href="">[..]rticleId=240160261&siteSectionName=tools</a> <a href="">[..]&siteSectionName=architecture-and-design</a> <br/><br/>Some comments about possible issues - <a href=""></a> <br/><br/><a href="">[..]an-streamline-your-writing-projects.html</a> <br/><br/>Several ppl blog about why GIT better than SVN - <a href="">[..]tages-of-git-over-subversion-svn-a-brief</a> <a href="">[..]03/09/its-time-to-stop-using-subversion/</a> <a href=""></a> <br/><br/>A suggested branching model - <a href=""></a> <br/><br/>Some advantage of GIT over Mercurial - <a href="">[..]hy-i-switched-to-git-from-mercurial.html</a> <br/><br/>#undo last commit<br/>git reset HEAD^<br/><br/>#show files in a given commit<br/>git show --pretty="format:" --name-only rev_number<br/><br/>#remove untracked files and directories<br/>git clean -f -d<br/><br/>#track remote branch<br/>git branch --track branch_name origin/master<br/><br/># given you created a new local branch 'branch_name'<br/># pushes 'branch_name' to 'origin/branch_name', creating the remote branch for you<br/>git push origin branch_name<br/><br/>#delete remote branch<br/>git push origin :remote_branch_name<br/><br/>From <a href="">[..]ngs/2011/05/29/a-few-useful-git-commands</a> <br/><br/>Some more suggested workflow - <a href=""></a> <a href=""></a> <br/><br/>Move from SVN, experience of JIRA - <a href="">[..]from-subversion-to-git-and-the/240009175</a> <a href=""></a> <br/><br/>Merge or Rebase? <a href="">[..]13/10/git-team-workflows-merge-or-rebase</a> <br/><br/><a href="">[..]ntial-tips-for-git-and-github-users.html</a> <br/><br/>change-default-git-commit-message-template - <a href="">[..]nge-default-git-commit-message-template/</a> <br/><br/><a href=""></a> <br/><br/>Git cheat list - <a href=""></a> <br/><br/><a href="">[..]re-development/git/git-commands-tutorial</a> <br/><br/><a href=""></a> <br/><br/><a href="">[..]nds-in-less-than-10-minutes-c53922625a73</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-05-13T09:33:43Z attitude.txt 2019-04-29T02:54:01Z 2019-04-29T02:54:01Z <br/>Customer attitude will affect how the software engineering workflow a lot: <a href="">[..]gprog/message/7420?threaded=1&var=1&p=24</a> <br/><br/>Do you think this piece of code are too simple to have test case to cover? read this - <a href="">[..]t-the-software-craftsmanship-conference/</a> <br/><br/>Related blog, finding the common between taking photo and software testing - <a href="">[..]hotographic-testing-lessons-learned.html</a> . However, there is one big difference, it is harder to define a good photo than bug feel software <br/><br/>If it is good to put developer as tester? - <a href="">[..].com/2011/03/programmers-as-testers.html</a> <br/><br/>In fact I am kind of agree about this article, but maybe I just not TDD hard enough - <a href="">[..]ectural-meltdown-around-iteration-three/</a> <br/><br/>Tooling, Insight and Humility - <a href="">[..]reasons-for-testers-to-learn-to-program/</a> <br/><br/>Insufficient Requirements is not an excuse - <a href="">[..]-blog-posts-9-insufficient-requirements/</a> <br/><br/>What is the meaning of working - <a href="">[..]14/03/very-short-blog-posts-14-it-works/</a> <br/><br/>How Much is Enough? Testing as Story-Telling - <a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-04-29T02:54:01Z mock.txt 2019-04-09T10:38:55Z 2019-04-09T10:38:55Z <br/>Yet other discussion of Stubs, Fakes, and Mock Objects - <a href=""></a> <a href=""></a> <br/><br/>While reviewing this article, Marty Andrews pointed out an important insight: there are two ways to use a mock object, either as a testing technique or as a design technique, and the intended use helps shape the available choices.<br/><br/><a href=""></a> <br/><br/>Someone post some arguement that using mock probably a bad idea , which look like a endless arguement... - <a href="">[..]xRuiz?entry=mocks_for_concrete_class_can</a> <br/><br/>Alberto Savoia on Testing the Untestable, raise a point that mocking make testing more portable, it probably true, but database setup may be not that difficult to port. - <a href=""></a> <br/><br/><a href="">[..]ut-isolation-but-about-responsibilities/</a> <br/><br/><a href="">[..]ing-the-invasion-of-dots-and-parentheses</a> <br/><br/>Fakes should have their own tests - <a href="">[..]/testing-on-toilet-fake-your-way-to.html</a> <br/><br/><a href=""></a> <br/><br/>Again, other post on pros and cons for difference approach - <a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2019-04-09T10:38:55Z case study.txt 2018-12-04T04:22:34Z 2018-12-04T04:22:34Z <br/>How google doing test - <a href="">[..]/how-google-tests-software-part-two.html</a> <a href=""></a> <a href=""></a> <br/>011/03/how-google-tests-software-part-five.html<br/><br/>How facebook doing test? - <a href="">[..]nd-of-automated-testing-does-Facebook-do</a> <br/><br/>How to test map-reduce application - <a href="">[..]ting-mapreduce-with-the-adapter-pattern/</a> <br/><br/>The Knightmare Explained - <a href=""></a> , <a href=""></a> <br/><br/>Example of using mocking tools - <a href=""></a> <br/><br/>How sqlite tested - <a href=""></a> <br/><br/><a href="">[..]014/06/how-do-i-make-testing-faster.html</a> <a href="">[..]3/29/test-driven-thermostat-development/</a> <br/><br/>Story of testing with in-memory DB - <a href="">[..]ated-integration-tests-failure-scenarios</a> <br/><br/><a href="">[..]ase-do-we-have-to-do-regression-testing/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2018-12-04T04:22:34Z estimate.txt 2018-07-26T15:47:33Z 2018-07-26T15:47:33Z <br/>Here is one way of how people estimate percent of completion - <a href=""></a> <br/><br/>I believe the general practice in my company is to take your estimate and triple it. Noone EVER complains that a project was completed too quickly. - <a href="">[..]iscussTopicParent=15151&ixDiscussGroup=3</a> <br/><br/>McConnell: 25% isn't necessarily a bad number. What's bad about it is that the average project is something like 100% late and 100% over budget at the time it's shut down. With better development approaches, a lot of those projects would get shut down when they've used 20% of their budgets rather than 200% of their budgets.<br/><a href=""></a> <br/><br/>Schedule chicken , someone leave the responsiblity to other sliencely - <a href="">[..]ion=edetail&ObjectType=COL&ObjectId=7923</a> <br/><br/>If you need to deliver software in 9 months, you could make a plan to deliver software in 9 months and hope it works. Or you could start delivering software every week. Maybe in the first week you aren't so good at it but after four weeks you and the rest of your team will be better. I call it the reduce risk by practicing technique. I can't believe how many people line up against me on this, even quality experts. - Ward Cunningham <br/><br/>Estimate via experience - <a href="">[..]mating-software-feature-development.html</a> <br/><br/>Explain what is Velocity in scrum - <a href="">[..]2008/01/understanding-your-velocity.html</a> <br/><br/>Concern about estimation - <a href=""></a> <a href=""></a> <br/><br/>Test Effort Estimation - <a href="">[..]mation_approch-bid-00oQI1TW93593159.html</a> <br/><br/>Reducing focus on estimation, I think it is good move, as estimate always inaccurate - <a href="">[..]se-for-reducing-focus-on-estimation.html</a> <br/><br/><a href="">[..]ng-budget-instead-of-estimates-in-agile/</a> <br/><br/>Discussion about noestimates-software-contractors - <a href="">[..]2016/01/noestimates-software-contractors</a> <a href="">[..]2015/12/noestimates-software-contractors</a> <br/><br/><a href=""></a> <a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2018-07-26T15:47:33Z project management.txt 2018-06-06T03:59:50Z 2018-06-06T03:59:50Z <br/>Linus share about project management, most importance is people, and also discuss about tools, how to collabrate people and how to delegate - <a href="">[..]Software-Development-Management/ba-p/440</a> <br/><br/>Only the programmer who is going to write the code can schedule it. Any system where management writes a schedule and hands it off to programmers is doomed to fail. Only the programmer who is going to do the work can figure out what steps they will need to take to implement that feature. - <a href=""></a> <br/><br/>Never, ever let managers tell programmers to reduce an estimate. Many rookie software managers think that they can "motivate" their programmers to work faster by giving them nice, "tight" (unrealistically short) schedules. I think this kind of motivation is brain-dead. - <a href=""></a> <br/><br/>Micromanagement or Macromanagement? <a href=""></a> <br/><br/>But, unfortunately, as a general rule, Project Managers have no training. Even if they do have training in the form of an MBA, MBA education is impractical and useless; the academic community has completely failed us in this respect. Furthermore, Project Managers are more often based on personal friendships and company politics; they are rarely based on management skill.<br/>And, finally, most managers do not acknowledge that management is a skill that they must study and learn so they don't study or learn it.<br/><br/><a href="">[..]DiscussTopicParent=8469&ixDiscussGroup=5</a> <br/><br/>An explanation of agile, I think it is more about project management - <a href=""></a> <br/><br/>Some common problem of software project management - <a href="">[..]thomas/</a> <br/><a href="">[..]ou-know-your-project-is-in-trouble-when/</a> <br/><br/><a href="">[..]roduct-management-vs-project-management/</a> <br/><br/>Brief description of thoughtworks codejam - <a href=""></a> <br/><br/>Listen first. Measure later. <a href="">[..]</a> <br/><br/>Paper of burn up and burn down - <a href=""></a> Per my understanding, we can say burn down is push by management where DEV work as task consumer and completing per define tasks within limited time; where burn up work in the other way round. <br/><br/>Why rewrite usually bad - <a href="">[..]astianKuebeck/entry/why_version_2_0_will</a> <br/><br/>Why need to manage user/client - <a href=""></a> <br/><br/>The blog list several software projects fail case study - <a href=""></a> <br/><br/>The law of late project - <a href="">[..]et/2009/11/the-law-of-late-projects.html</a> <br/><br/>Friendship, what make one big team working - <a href=""></a> <br/><br/>On an Agile Team, a person is removed from the team by assigning them work. - <a href="">[..]e-between-agile-teams-and-project-teamd/</a> <br/><br/>Some say an method "Impact Mapping" is very useful - <a href="">[..]com/2014/07/15/complexity-is-the-excuse/</a> <br/><br/>Transfer project to products - <a href=""></a> <br/><br/>Frequent planning - <a href="">[..]can-lead-to-short-and-frequent-planning/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2018-06-06T03:59:50Z best practices.txt 2018-02-25T15:42:16Z 2018-02-25T15:42:16Z <br/>Consider the risk of not being tested - <a href="">[..]sting-on-toilet-risk-driven-testing.html</a> <br/><br/>Fidelity, Resilience, Precision - <a href="">[..]testing-on-toilet-effective-testing.html</a> <br/><br/>Attributes that unit test should have: Functionality, Accuracy, Instant, Locator - <a href=""></a> <br/><br/>Isolation - <a href="">[..]/2012/04/is-your-unit-test-isolated.html</a> <br/><br/>Tips of keeping unit tests running fast - <a href=""></a> <br/><br/>Testing Patterns - <a href=""></a> <br/><br/>Continuously to break thing so that we know our system is solid - <a href="">[..]11/04/working-with-the-chaos-monkey.html</a> <br/><br/>First rule - <a href="">[..]08/10/01/nothing_is_too_trivial_to_test/</a> <br/><br/>Test first/last is not important? Unit test either? What do you think? <a href=""></a> <br/><br/>* The name of the test should describe the requirement of the code<br/>* There should be at least one test for each requirement of the code. Each possible path through of the code is a different requirement#<br/>* Test the goal of the code, not the implementation<br/><br/><a href=""></a> <a href="">[..]AppQuality&asrc=EM_NLN_761453&uid=703565</a> <a href="">[..]og/2007/08/how-not-to-run-beta-test.html</a> <br/><br/>The teaser: Fast, Isolated, Repeatable, Self-validating, and Timely. - <a href="">[..]es/2007/08/02/not-a-task-but-an-approach</a> <a href=""></a> <br/><br/>Corner cases - <a href="">[..]s/2007/02/testheuristicscheatsheetv1.pdf</a> <br/><br/>One of the targets of TDD coding - <a href="">[..]e-code-is-about-managing-complexity.aspx</a> <br/><br/>Design for unit test - <a href="">[..]es/content/DesigntoUnitTest/article.html</a> <a href=""></a> <br/><br/>Push and Pull approach - <br/><a href=""></a> <br/><a href=""></a> <br/><a href=""></a> <br/><br/>When not to test - <a href=""></a> <br/><br/><a href=""></a> <br/><br/>Test the story, rather than the implementation - <a href="">[..]ving-to-scenario-based-unit-testing.html</a> <br/><br/>Test the configuration - <a href=",289142,sid92_gci1361051,00.html?track=NL-461&ad=715598&Offer=mn_eh072009SFTQRETN_xTSS10ctqa&asrc=EM_NLN_8746433&uid=703565">[..]TSS10ctqa&asrc=EM_NLN_8746433&uid=703565</a> <br/><br/>Feel the deep synergy of design and test constraint - <a href="">[..]athers_blog/2007/09/the-deep-synerg.html</a> <br/><br/>Another set of principles for automated testing - <a href="">[..]of-principles-for-automated-testing.html</a> <br/><br/>Priority for tester - <a href="">[..]</a> <br/><br/>A lot of links - <a href=""></a> <a href=""></a> <a href="">[..]-links-biased-toward-exploratory-testing</a> <br/><br/><a href="">[..]nit-tests-5-principles-for-unit-testing/</a> <br/><br/>Some information and suggestion about setting up a local integrated testing environment - <a href="">[..]</a> <br/><br/>Virtual Panel: Code-to-Test Ratios, TDD and BDD - <a href=""></a> <br/><br/>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. - <a href="">[..]ting-on-toilet-what-makes-good-test.html</a> <br/><br/>Discussion about naming the tests - <a href="">[..]14/03/17/getting-junit-test-names-right/</a> <a href="">[..]ting/writing-clean-tests-naming-matters/</a> <br/><br/><a href="">[..]esting-on-toilet-test-behaviors-not.html</a> <- 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. <br/><br/>Tips on having better assertion or cleaner test - <a href="">[..]ur-test-code-with-custom-assertions.html</a> <a href="">[..]-friday-most-internal-dsls-are-outdated/</a> <a href="">[..]ertions-with-a-domain-specific-language/</a> <br/><br/>Good to prevent setup and tearDown? <a href=""></a> <br/><br/>#1 Treat Test Code as Production Code<br/>#2 Use Test Patterns to achieve great readability<br/>#3 Avoid Unreliable Tests<br/>#4 Test at The Appropriate Level<br/>#5 Do Use Test Doubles<br/><a href="">[..]insights/blog/write-better-tests-5-steps</a> <br/><br/><a href="">[..]om/core-java/junit/junit-best-practices/</a> <br/><br/>Document ‘Why’, specify ‘What’, automate ‘How’ - <a href="">[..]/agile/2016/05/24/large-test-suites.html</a> <br/><br/>Good typing to prevent un-necessary test - <a href="">[..]com/2014/12/09/typed-language-tdd-part1/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2018-02-25T15:42:16Z confilct.txt 2018-02-24T16:23:55Z 2018-02-24T16:23:55Z <br/>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 - <a href="">[..]0/conflict-will-and-should-occur-be.html</a> <br/><br/>Should DEV work in prod? - <a href="">[..]developers-working-in-production-of.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2018-02-24T16:23:55Z Vision.txt 2017-12-06T06:39:32Z 2017-12-06T06:39:32Z <br/>Nice story and nice photo, really a master skill to drive the team to have same vision - <a href=""></a> <br/><br/>Team Decisions: Consensus versus Consent, closely related to team vision establishing - <a href=""></a> <br/><br/><a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2017-12-06T06:39:32Z specification.txt 2017-07-02T17:03:21Z 2017-07-02T17:03:21Z <br/>Painless Functional Specifications - <a href=""></a> <br/><br/>How to write a project specification - <a href=""></a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src=""></script> 2017-07-02T17:03:21Z