RSS feed [root] /weblog /software_engineering




login:

password:

title search:




 


Tue Nov 29 00:10:37 HKT 2016

software_engineering



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

Fri Oct 20 16:18:26 HKT 2017 From /weblog/software_engineering/testing

junit


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

redirect junit output to a file - http://www.diotalevi.com/weblog/?p=43

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

Use theories to execute test with a lot difference input, probably possible for all cases - http://blog.schauderhaft.de[..]010/01/31/new-feature-of-junit-theories/ http://bloritsch.d-haven.net[..]using-junit-4-theories-to-test-contracts http://blog.schauderhaft.de/2010/02/07/junit-theories/

The other features, rule, perform some rule on test cases - http://blog.schauderhaft.de/2009/10/04/junit-rules/

Adding timeout - http://www.javaexperience.com/add-timeout-to-junit-test-cases/

Testing exceptions at Junit - http://fahdshariff.blogspot.gr[..]ting-expected-exceptions-with-junit.html http://blog.codeleak.pl[..]ays-of-handling-exceptions-in-junit.html

http://www.ssiddique.info[..]-java-unit-testing-frameworks-tools.html

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

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

(google search) (amazon search)


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

efficiency


Cool diagram showing what slow us down - http://www.targetprocess.com[..]m/blog/2012/01/faster-faster-faster.html

Usually, not a good idea to grow a team too big too soon - http://martinfowler.com/bliki/PrematureRampUp.html

Taken from Interview of Charles Simonyi ( http://www.shamit.org/charles_simonyi.htm ) , both the interview and the discussion are nice to read: http://discuss.joelonsoftware.com/default.asp?joel.3.341396 , 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 - http://www.markhneedham.com[..]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
- http://jchyip.blogspot.com[..]2010/12/8-behavioural-dimensions-of.html

http://www.funretrospectives.com/anchors-and-engine/ <- a simple way to check what make team move faster, and things that slow team down.

http://www.targetprocess.com[..]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. - http://www.targetprocess.com[..]/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. - https://medium.freecodecamp.org[..]-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


http://www.joelonsoftware.com/items/2009/03/09.html

Sharing from a PM - http://www.infoq.com/presentations/Ideal-Programmer

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

(google search) (amazon search)


Mon Aug 28 19:17:18 HKT 2017 From /weblog/software_engineering/testing

antipattern


The evil test:

1. Evil tests create a lock on how the code is implemented.
2. Cause duplication.
3. Builds uncertainty on the tests (red is meaningless).
4. Decrease productivity.
5. Discourage change.

http://www.makinggoodsoftware.com/2012/01/27/the-evil-unit-test

use thread in junit - http://softwareintegrityblog.com[..]blog/2007/11/05/false-positives-in-junit

Don't try to test everything - http://www.nearinfinity.com[..]ay?entry=unit_testing_avoiding_extremism

Why TDD fail? Because test is too complicate to write - http://agile.dzone.com/news/why-you-fail-tdd ( I agree it a lot )

Hard to test something? Unreadable tests? Slow running tests? It takes too long to write a test? Some solution suggested - http://www.stephenchu.com[..]/last-d-in-tdd-means-more-than-just.html

Comment out test so that the code compile - http://martinfowler.com/bliki/TestCancer.html

A list of TDD antipattern - http://blog.james-carr.org/?p=44 http://www.exubero.com/junit/antipatterns.html

And the long discussion using random in unittest - http://tech.groups.yahoo.com[..]rivendevelopment/message/20458?var=1&l=1
Here is an example of using random in unittest, it actually same for every new instance! - http://www.skizz.biz/archives/000568.html

Test abstraction smells - http://agileinaflash.blogspot.com[..]com/2011/11/test-abstraction-smells.html

Basically, we should keep it simple, and driven the development rather than post test - http://blogs.telerik.com[..]stteam/Posts/13-01-24/top-5-tdd-mistakes

A good list of anti-pattern - https://techblog.betclicgroup.com[..]2014/05/06/getting-unit-testing-to-fail/
Test rely on shell script return is difficult to maintain, say the script running at background can cause problem - http://stuartmarks.wordpress.com[..]m/2014/01/10/another-shell-test-pitfall/

Six Things That Go Wrong With Discussions About Testing - http://www.satisfice.com/blog/archives/1728

(google search) (amazon search)



Tue Aug 08 22:57:56 HKT 2017 From /weblog/software_engineering/SCM

branch


Why merge often - http://queue.acm.org/detail.cfm?id=1643030

http://www.cmcrossroads.com[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo

http://paulhammant.com/2013/12/04/what_is_your_branching_model

A lot of resource here - http://www.cmcrossroads.com[..]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.

http://discuss.joelonsoftware.com[..]arent=16312&ixDiscussGroup=3&cReplies=11

Subversion branching technique and tips - http://binkley.blogspot.com[..]version-best-practices-branching_01.html http://www.dehora.net[..]version_tips_dealing_with_branches.html/

Another discussion - http://www.codinghorror.com/blog/archives/000968.html

Branch visualization - http://codicesoftware.blogspot.com[..]07/05/linus-torvalds-on-git-and-scm.html http://www.youtube.com/watch?v=CABIi-Eu2zA

One way of manage branching and merging, the summary is, frequency create new branch for pre-merge instead of one time big merge - http://designbygravity.wordpress.com[..]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... http://blogs.open.collab.net/svn/2007/09/what-subversion.html

No branch? https://cacm.acm.org[..]-of-code-in-a-single-repository/fulltext http://www.infoq.com[..]s/2017/08/How-Google-build-Web-framework

(google search) (amazon search)


Mon Jul 03 01:03:21 HKT 2017 From /weblog/software_engineering

specification


Painless Functional Specifications - http://www.joelonsoftware.com/articles/fog0000000036.html

How to write a project specification - https://jaxenter.com/write-project-specification-135067.html

(google search) (amazon search)


Sun Jun 11 19:36:25 HKT 2017 From /weblog/software_engineering/SCM

git


Suggestful github project - http://rdegges.com/successful-github-development

GIT to SVN command guide - http://www.javacodegeeks.com[..]vs-svn-commandline-syntax-reference.html

pretty cool guide - http://martin.elwin.com[..]e-to-an-ioke-dev-env-from-source-part-1/ http://www.ralfebert.de/tutorials/git/ http://www.drdobbs.com[..]rticleId=240160261&siteSectionName=tools http://www.drdobbs.com[..]&siteSectionName=architecture-and-design

Some comments about possible issues - http://www.ericsink.com/entries/git_index.html

http://www.developer.com[..]an-streamline-your-writing-projects.html

Several ppl blog about why GIT better than SVN - http://inancgumus.com[..]tages-of-git-over-subversion-svn-a-brief http://altdevblogaday.org[..]03/09/its-time-to-stop-using-subversion/ http://blog.ashodnakashian.com/2011/06/git-for-personal-projects/

A suggested branching model - http://nvie.com/posts/a-successful-git-branching-model/

Some advantage of GIT over Mercurial - http://blog.extracheese.org[..]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

From http://leonardoborges.com[..]ngs/2011/05/29/a-few-useful-git-commands

Some more suggested workflow - http://eclipsesource.com/blogs/2011/06/09/git-lessons-learned/ http://sandofsky.com/blog/git-workflow.html

Move from SVN, experience of JIRA - http://www.drdobbs.com[..]from-subversion-to-git-and-the/240009175 http://blogs.atlassian.com/2013/10/git-workflows-webinar-qa

Merge or Rebase? http://blogs.atlassian.com[..]13/10/git-team-workflows-merge-or-rebase

http://www.javaworld.com[..]ntial-tips-for-git-and-github-users.html

change-default-git-commit-message-template - http://blog.ajduke.in[..]nge-default-git-commit-message-template/

https://codewords.recurse.com/issues/two/git-from-the-inside-out

Git cheat list - https://gist.github.com/aleksey-bykov/1273f4982c317c92d532

https://examples.javacodegeeks.com[..]re-development/git/git-commands-tutorial

(google search) (amazon search)


Thu Mar 30 14:47:41 HKT 2017 From /weblog/software_engineering/testing

test data


Suggestion of how to manage the test datas - http://jchyip.blogspot.com[..]citcon-melbourne-2008-managing-test.html

Difference Pattern of managing test datas - http://adrianmowat.blogspot.com[..]damentals-of-data-testing-setup-and.html

How to get the data feed and design automated test trading system - http://howtohft.wordpress.com[..]m/2011/02/16/trading-system-testability/

False assumption about time - http://infiniteundo.com[..]alsehoods-programmers-believe-about-time

Create your own clock - http://ducktypo.blogspot.hk[..]3/12/the-virtual-clock-test-pattern.html

Just change the return of Calendar - http://octodecillion.com/blog/mock-date-time-using-jmockit/

Discussion about creating test data - http://blog.codeleak.pl[..]est-data-builders-and-object-mother.html

http://www.petrikainulainen.net[..]r-data-access-code-unit-tests-are-waste/

Dummy, fake, stub, spy and mock - http://letstalkaboutjava.blogspot.hk[..]pot.hk/2015/09/test-double-patterns.html http://www.shaunabram.com/test-doubles/

Generation of test data - http://filldb.info/ http://www.softwaretestingmagazine.com[..]/tools/open-source-test-data-generators/

Using test container, and compare it with other test data solution - http://www.objectify.be[..]28/database-testing-with-testcontainers/ https://www.testcontainers.org/

(google search) (amazon search)


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

offshore


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 http://martinfowler.com/articles/agileOffshore.html , 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 - http://www.theserverside.com[..]_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 - http://www.acceptic.com[..]on-in-software-development-projects.html

http://martinfowler.com/articles/remote-or-co-located.html

https://www.infoq.com/articles/top5-problems-distributed

https://www.infoq.com/articles/be-agile-distributed-teams http://www.infoq.com/cn/articles/be-agile-distributed-teams

(google search) (amazon search)


Sat Feb 25 18:26:46 HKT 2017 From /weblog/software_engineering/testing

best practices


Consider the risk of not being tested - http://googletesting.blogspot.com.au[..]sting-on-toilet-risk-driven-testing.html

Fidelity, Resilience, Precision - http://googletesting.blogspot.com.au[..]testing-on-toilet-effective-testing.html

Attributes that unit test should have: Functionality, Accuracy, Instant, Locator - http://www.gilzilberfeld.com/2014/04/what-is-unit-test.html

Isolation - http://agileinaflash.blogspot.com[..]/2012/04/is-your-unit-test-isolated.html

Tips of keeping unit tests running fast - http://www.java-tv.com/2012/03/06/speeding-up-java-test-code/

Testing Patterns - http://c2.com/cgi/wiki?TestingPatterns

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

First rule - http://fishbowl.pastiche.org[..]08/10/01/nothing_is_too_trivial_to_test/

Test first/last is not important? Unit test either? What do you think? http://beust.com/weblog/archives/000477.html

* 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

http://xprogramming.com/xpmag/testFirstGuidelines.htm http://www.theserverside.com[..]AppQuality&asrc=EM_NLN_761453&uid=703565 http://www.coopercode.net[..]og/2007/08/how-not-to-run-beta-test.html

The teaser: Fast, Isolated, Repeatable, Self-validating, and Timely. - http://blog.objectmentor.com[..]es/2007/08/02/not-a-task-but-an-approach http://blog.objectmentor.com/articles/2007/08/02/which-came-first

Corner cases - http://testobsessed.com[..]s/2007/02/testheuristicscheatsheetv1.pdf

One of the targets of TDD coding - http://haacked.com[..]e-code-is-about-managing-complexity.aspx

Design for unit test - http://www.theserverside.com[..]es/content/DesigntoUnitTest/article.html http://openmymind.net/A-Decade-Of-Unit-Testing/

Push and Pull approach -
http://www.richarddurnall.com/?p=10
http://www.richarddurnall.com/?p=15
http://www.richarddurnall.com/?p=31

When not to test - http://www.junitmax.com/blog/?p=187

http://www.infoq.com/news/2009/06/love_agile_testing

Test the story, rather than the implementation - http://www.davesquared.net[..]ving-to-scenario-based-unit-testing.html

Test the configuration - http://searchsoftwarequality.techtarget.com[..]TSS10ctqa&asrc=EM_NLN_8746433&uid=703565

Feel the deep synergy of design and test constraint - http://michaelfeathers.typepad.com[..]athers_blog/2007/09/the-deep-synerg.html

Another set of principles for automated testing - http://a-sisyphean-task.blogspot.com[..]of-principles-for-automated-testing.html

Priority for tester - http://googletesting.blogspot.com[..]t.com/2011/01/new-years-resolutions.html

A lot of links - http://it-techexperts.com/tutorials/tutorials.asp http://testingspot.net/ http://www.exampler.com[..]-links-biased-toward-exploratory-testing

http://www.makinggoodsoftware.com[..]nit-tests-5-principles-for-unit-testing/

Some information and suggestion about setting up a local integrated testing environment - http://googletesting.blogspot.com.au[..]pot.com.au/2012/10/hermetic-servers.html

Virtual Panel: Code-to-Test Ratios, TDD and BDD - http://www.infoq.com/articles/virtual-panel-tdd-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. - http://googletesting.blogspot.com.au[..]ting-on-toilet-what-makes-good-test.html

Discussion about naming the tests - http://www.codeaffine.com[..]14/03/17/getting-junit-test-names-right/ http://www.petrikainulainen.net[..]ting/writing-clean-tests-naming-matters/

http://googletesting.blogspot.com.au[..]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 - http://blog.codeleak.pl[..]ur-test-code-with-custom-assertions.html http://blog.jooq.org[..]-friday-most-internal-dsls-are-outdated/ http://www.petrikainulainen.net[..]ertions-with-a-domain-specific-language/

Good to prevent setup and tearDown? http://www.yegor256.com/2015/05/25/unit-test-scaffolding.html

#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
http://www.thoughtworks.com[..]insights/blog/write-better-tests-5-steps

http://examples.javacodegeeks.com[..]om/core-java/junit/junit-best-practices/

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

(google search) (amazon search)


Tue Feb 21 17:42:46 HKT 2017 From /weblog/software_engineering/team

leadership


Servant Leadership - http://www.inc.com[..]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 - http://blog.vincentx.info[..]/03/onthings-manga-taught-me-leadership/ http://www.infoq.com[..]what-do-you-look-for-in-a-servant-leader

Mentorship - http://www.javacodegeeks.com[..]entorship-in-software-craftsmanship.html

Keep focus, or lose - http://googlesystem.blogspot.com[..]0/how-steve-jobs-influenced-googles.html

The anti-pattern and suggestion about new joiner - http://5whys.com[..]-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. http://tech.groups.yahoo.com/group/leandevelopment/message/1952

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

In short, don't put your shoes on others' foot - http://www.inc.com[..]earned-in-the-army_Printer_Friendly.html

4 types of leadership style, well, I think he model leadership a little too simple - http://softwarecreation.org[..]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. - http://gigix.agilechina.net[..]010/2/25/organizational-pattern-day-care

What is the key Characteristics of great team - http://www.infoq.com/news/2011/01/characteristics-agile-org

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 - http://www.thoughtclusters.com[..]m/2011/01/programmers-and-micromanaging/

http://www.adoptionofagile.com[..]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. - http://jchyip.blogspot.com[..]allow-me-to-think-just-dont-make-me.html

How To Lead Clever People, actually I am double about this, let's see - http://business.in.com/printcontent/28632 http://business.in.com/media/images/2011/Sep/img_56852_wise.jpg

How to grow the leadership - http://www.jrothman.com[..]og/mpd/2012/11/nurturing-leadership.html

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

在美國和上海工作過的GM員工,指上海GM的工作氣氛跟美國截然不同,甚至認為上海GM形成一套自己的文化,這套文化建基於信任。墨菲跟員工打成一片,工餘在家中安排活動,中美關係罕有地融洽。 http://www.thehousenews.com/finance/由傲慢製造的優秀企業/



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

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

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

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

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

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

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

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

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

1. 最重要的是:永遠要掃除障礙物。那怕只是玩玩手指、看看窗外的雲,也別讓你那愚蠢、幼稚的自我阻礙團隊前進的腳步。

http://www.inside.com.tw/2013/02/04/a-manager-s-maifesto

http://joeduffyblog.com[..]oftware-leadership-6-read-every-checkin/

http://www.engineeringandcareering.co.uk[..]o.uk/2014/10/leading-and-delegating.html

https://www.thekua.com[..]op-5-mistakes-for-first-time-tech-leads/

http://www.yegor256.com/2015/01/08/morning-standup-meetings.html

How to lead with diplomatic - http://www.crucialskills.com[..]how-to-be-both-assertive-and-diplomatic/

Dr. Nico Rose cites research that finds that happy people tend to be more effective leaders. - http://www.forbes.com[..]-your-money-managing-your-life-part-one/

https://www.infoq.com/news/2017/02/humility-positive-trait

(google search) (amazon search)


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

communication


Discussion toolkit - http://www.stickyminds.com[..]YCOLUMN&ObjectId=12875&objecttype=ARTCOL

Other tips - http://www.infoq.com/articles/satir-communication-model-teams

Appreciation inquiry, a communication tool helping adopting new thing - http://www.threeriversinstitute.org/AppreciatingYourWayToXP.htm

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

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

Benefit of whiteboard over software, communication! - http://www.iamhukai.com/?p=422

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.'"

http://pagilista.blogspot.com[..]/03/rich-communication-in-real-life.html

How to handle tough discussion - http://www.markhneedham.com[..]iscussing-the-undiscussable-book-review/

Good message structure underlies all forms of effective workplace communication - http://jchyip.blogspot.com[..]ood-message-structure-underlies-all.html

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

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

Slack is good? - https://engineering.policygenius.com[..]per-day-on-slack-29f8b08c0d82#.l27wrcft0

(google search) (amazon search)


Tue Nov 29 00:10:37 HKT 2016 From /weblog/software_engineering

lean


“Introduction of Lean Project Management” - http://blog.aaladdin.com/?p=29

Applying Kanban - http://blogs.lessthandot.com[..]s/applying-kanban-to-it-processes-part-2 http://jchyip.blogspot.com[..]-and-kanban-for-it-operation-kanban.html

Deming’s 14 Points, obvious and theoric, but still a good reading - http://leanandkanban.wordpress.com/2011/07/15/demings-14-points/

http://www.infoq.com[..]ng-lean-thinking-to-software-development

Free Online Kanban Tools - http://www.scrumexpert.com/tools/free-online-kanban-tools/

(google search) (amazon search)


Tue Nov 15 16:56:18 HKT 2016 From /weblog/software_engineering/testing

tester


Being proactive! - http://xndev.blogspot.com[..]to-be-first-class-citizen-as-tester.html

http://blog.codinghorror.com/doing-terrible-things-to-your-code/

Well, of course it say yes...... - http://testinggeek.com[..]6/27/software-testers-need-learn-coding/

(google search) (amazon search)


Mon Oct 10 00:25:13 HKT 2016 From /weblog/software_engineering

schedule


https://www.infoq.com/articles/volcano-prioritize-work

(google search) (amazon search)



Tue May 10 23:07:56 HKT 2016 From /weblog/software_engineering

development


How to produce damn good software - http://www.manageability.org/blog/stuff/how-to-build-damn-good-sw

Recommendation of managing bugs - http://www.onlamp.com/lpt/a/6096 http://www.onlamp.com/lpt/a/6097

Collecion of link about software engineering - http://codebalance.blogspot.com[..]01/selection-of-successful-software.html

The Big Ball of Mud and Other Architectural Disasters - http://www.codinghorror.com/blog/archives/001003.html

1. – Have a clear development process.
2. – Understand the vision and goals of the project.
3. – Use iterations.
4. – Transparency.
5. – Commitment.
6. – Leadership
7. – Customer focus.

http://www.makinggoodsoftware.com[..]echnical-tips-to-deliver-great-software/

If it aint broke, don't fix it; vs continue improvement - http://agile.dzone.com/news/if-it-aint-broke-dont-fix-it , one good question asked is, what mean broken? Bug? or Quality? What is Quality?

The Mythical Man-Month Revisited - http://onlamp.com/lpt/a/4900

Story from QuickBooks - http://www.drdobbs.com[..]rticleId=240003694&siteSectionName=tools

How long did the source code live? - http://blog.activelylazy.co.uk[..].uk/2016/02/24/longevity-of-source-code/

http://kukuruku.co[..]arn-from-real-examples-how-to-avoid-bugs

(google search) (amazon search)


Thu Feb 18 11:12:52 HKT 2016 From /weblog/software_engineering

story


Examples of stories - http://www.captaindebug.com/2013/06/so-whats-in-story.html

Introduction to story point - http://blog.anandvishwanath.in[..]in/2011/03/questioning-story-points.html

Imperative vs Declarative Scenarios in User Stories - http://benmabey.com[..]clarative-scenarios-in-user-stories.html

Turn good story to great
1. Get your story right
2. The unwritten rule of what goes inside
3. Choose your words carefully
4. Use acronyms sparingly
5. Convention over OVER-complication

- http://jcwong.wordpress.com[..]8/08/turning-stories-from-good-to-great/

Checklist for user story - http://marjoriepries.blogspot.com.au[..]hecklist-for-effective-user-stories.html

See the picture in your backlog. - http://winnipegagilist.blogspot.ca[..]012/03/how-to-create-user-story-map.html

INVEST mnemonic to describe the characteristics of good stories:

Independent: the stories can be delivered in any order
Negotiable: the details of what's in the story are co-created by the programmers and customer during development.
Valuable: the functionality is seen as valuable by the customers or users of the software.
Estimable: the programmers can come up with a reasonable estimate for building the story
Small: stories should be built in a small amount of time, usually a matter of person-days. Certainly you should be able to build several stories within one iteration.
Testable: you should be able to write tests to verify the software for this story works correctly.

http://martinfowler.com/bliki/UserStory.html

Story Mania, User Incognito, Disastrous Details, Story Handoff, Criteria Crisis - http://www.romanpichler.com[..]er-stories/5-common-user-story-mistakes/

Define Motivations, Don't Define Implementation - http://alanklement.blogspot.de[..]replacing-user-story-with-job-story.html

Why large team is not suitable to use user story to collect requirement - http://accelerateddevelopment.blogspot.hk[..]/07/user-stories-dont-work-for-most.html

How to split stories - http://gojko.net[..]tting-user-stories-the-hamburger-method/

Visually mapping story to backlog - https://www.thoughtworks.com[..]ping-visual-way-building-product-backlog

(google search) (amazon search)


Thu Feb 18 11:12:10 HKT 2016 From /weblog/software_engineering/testing

integrate


UnitTest DB, check if proper index applied - http://myronmars.to[..]og/2012/09/test-driving-database-indexes

http://www.codeaffine.com[..]an-integration-testing-with-junit-rules/

http://googletesting.blogspot.ch[..]ust-say-no-to-more-end-to-end-tests.html

(google search) (amazon search)


Wed Jan 13 18:42:54 HKT 2016 From /weblog/software_engineering

estimate


Here is one way of how people estimate percent of completion - http://geekswithblogs.net/optikal/archive/2006/12/31/102381.aspx

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. - http://discuss.joelonsoftware.com[..]iscussTopicParent=15151&ixDiscussGroup=3

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.
http://blogs.cio.com/node/600

Schedule chicken , someone leave the responsiblity to other sliencely - http://www.stickyminds.com[..]ion=edetail&ObjectType=COL&ObjectId=7923

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

Estimate via experience - http://digerati-illuminatus.blogspot.com[..]mating-software-feature-development.html

Explain what is Velocity in scrum - http://kw-agiledevelopment.blogspot.com[..]2008/01/understanding-your-velocity.html

Concern about estimation - http://agile.dzone.com/news/humans-cant-estimate-tasks http://jimhighsmith.com/2011/11/02/velocity-is-killing-agility/

Test Effort Estimation - http://blogs.siliconindia.com[..]mation_approch-bid-00oQI1TW93593159.html

Reducing focus on estimation, I think it is good move, as estimate always inaccurate - http://blog.anandvishwanath.in[..]se-for-reducing-focus-on-estimation.html

http://www.scrumexpert.com[..]ng-budget-instead-of-estimates-in-agile/

Discussion about noestimates-software-contractors - http://www.infoq.com[..]2016/01/noestimates-software-contractors http://www.infoq.com[..]2015/12/noestimates-software-contractors

(google search) (amazon search)


Thu Dec 03 23:56:46 HKT 2015 From /weblog/software_engineering

support


Developers working in Production. Of course! Maybe, sometimes. What, are you nuts? - http://swreflections.blogspot.com.au[..]developers-working-in-production-of.html

(google search) (amazon search)


Thu Oct 15 15:28:11 HKT 2015 From /weblog/software_engineering/project

version


Semantic Versioning 2.0.0 - http://semver.org/

(google search) (amazon search)


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

motivation


Stop Demotivating Me! - http://www.cio.com/article/print/123406

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. - http://knowledge.wharton.upenn.edu[..]at-make-a-big-impact-on-achieving-goals/

(google search) (amazon search)


Thu Jun 11 11:41:22 HKT 2015 From /weblog/software_engineering

practice


The crucial bridge between theory and practice is called execution - http://abdullin.com[..]l/2012/2/22/importance-of-execution.html

Analysis for Continuous Delivery: Five Core Practices

1. Start with a minimum viable product (MVP).
2. Measure the value of your features.
3. Perform just enough analysis up front.
4. Do less.
5. Include feature toggles in your stories.

http://www.informit.com/articles/article.aspx?p=1829417

Discussion about various issue when thing change - http://swreflections.blogspot.com.au[..]ankensystems-half-strangled-zombies.html

http://www.opsbs.com[..]-patterns-in-development-and-operations/

http://www.yegor256.com[..]/06/08/deadly-sins-software-project.html

(google search) (amazon search)