RSS feed [root] /software_engineering /weblog




login:

password:

title search:




 


Thu Jan 25 22:38:56 GMT 2024

software_engineering



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

Fri Mar 15 00:21:16 GMT 2024 From /weblog/software_engineering/team

Team work


Building trust for team - http://cocreatr.typepad.com[..]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")

http://www.cmcrossroads.com[..]bbthreads/showflat.php?Cat=&Number=64809

Is it a people problem or process problem - http://blog.nayima.be[..]01/21/people-problem-or-process-problem/

importance of teamwork - http://www.butunclebob.com[..]leS.MichaelFeathers.ProgrammingOnYourOwn

5 Dysfunctions of a Team - http://www.anticlue.net/archives/000279.htm

A Leaner Start: Reducing Team Setup Times - http://www.infoq.com/articles/pat-kua-onboarding-new , I think article "letting-go" is really insightful - http://www.thekua.com[..]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 - http://www.xprogramming.com/xpmag/NotXP.htm

A potential issue of focus too much on people, rely on few heros - http://jchyip.blogspot.com[..]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. http://jchyip.blogspot.com[..]12/extreme-programmings-fundamental.html

What important is team but not idea - http://www.codinghorror.com[..]g/2010/01/cultivate-teams-not-ideas.html

http://www.infoq.com/news/2011/11/enable-high-performance-teams

http://www.infoq.com/presentations/Co-Making-Great-Products


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

https://www.infoq.com/news/2018/05/culture-safety-ei-teams

How to Create a Great Team Culture (and Why It Matters) - https://queue.acm.org/detail.cfm?ref=rss&id=3323993

https://noidea.dog/glue

Psychological Safety - https://www.buildsoftwarebetter.org[..]tally-healthy-environment-for-developers https://hbr.org[..]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.’ - https://www.nytimes.com[..]its-quest-to-build-the-perfect-team.html

The secret ingredient to successful team building is not what you think - https://www.fastcompany.com[..]sful-team-building-is-not-what-you-think

(google search) (amazon search)


Tue Mar 12 12:59:34 GMT 2024 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

https://dev.to/hector6872/how-good-are-git-hooks-14ho

https://medium.freecodecamp.org[..]nds-in-less-than-10-minutes-c53922625a73

https://medium.com[..]ployment-for-non-developers-7811dcf508bb

gitkeep - https://www.freecodecamp.org[..]hat-is-gitkeep/?utm_source=pocket_mylist

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

https://www.freecodecamp.org/news/git-under-the-hood/

Customize git diff - https://medium.com[..]/git-config-diff-colormoved-8e2f24af6645

Scaling Git’s garbage collection - https://github.blog/2022-09-13-scaling-gits-garbage-collection/

Git commands nobody has told you - https://bootcamp.uxdesign.cc[..]ommands-nobody-has-told-you-cd7025bea8db

Git Cheat Sheet - https://tapajyoti-bose.medium.com[..]t-with-40-commands-concepts-ab1b9d973e96 https://www.javacodegeeks.com/git-cheatsheet.html

When to Avoid Git Rebase - https://www.javacodegeeks.com[..]om/2024/03/when-to-avoid-git-rebase.html

(google search) (amazon search)


Sat Mar 09 11:36:46 GMT 2024 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

https://medium.com[..]ge-manager-vs-great-manager-cf8a2e30907d

https://simpleprogrammer.com/coaching-programmers/

Don't pretend - https://medium.com[..]ad-my-five-biggest-mistakes-fd7f4a2f1808

https://medium.com[..]les-of-effective-leadership-d2f9d28a49fb

Being Glue - https://noidea.dog/glue

7 ways to delegate better and unleash your team’s full potential - https://www.fastcompany.com[..]er-and-unleash-your-teams-full-potential

(google search) (amazon search)


Sun Feb 25 12:35:18 GMT 2024 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/

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

Employees said they’d work harder if recognized. These are the types of recognition they want - https://www.fastcompany.com[..]loyees-work-harder-recognition-they-want

(google search) (amazon search)


Mon Jan 22 04:46:18 GMT 2024 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

Tips on How Staff Engineers Can Impact Incidents - https://www.infoq.com/articles/staff-engineers-impact-incidents/ https://www.infoq.cn/article/yfoKmyc45XAh0rjqBhrH


(google search) (amazon search)


Sun Nov 05 12:32:47 GMT 2023 From /weblog/software_engineering/testing

coverage


Getting The Most Test Coverage With The Least Test Code - http://parlezuml.com/blog/?postid=482 , Interesting question to ask, but I don't buy the arguement personally, because Most Test Coverage is not related to Most Effective Test in most case

mutation-testing, injecting wrong code to provide unit test is working - http://blog.jdriven.com/2014/03/joy-coding-mutation-testing-java/

The Great Code Coverage Holy Wars of the 21st Century - https://medium.com[..]ly-wars-of-the-21st-century-6fb11e7acce4

(google search) (amazon search)


Wed Nov 01 11:41:32 GMT 2023 From /weblog/software_engineering

technical debt


Don't think too much of it - http://swreflections.blogspot.com.au[..]nt-take-technical-debt-metaphor-too.html

Some common behavior show we need code refactoring - http://agiledevtest.blogspot.hk[..]/14-code-refactoring-smells-you-can.html

If technical debt behaves like a financial debt, logical debt behaves like a learning debt, which is much more impactful. - https://betterprogramming.pub[..]stating-than-technical-debt-79e4d4773744

(google search) (amazon search)


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

case study


How google doing test - http://googletesting.blogspot.com[..]/how-google-tests-software-part-two.html http://www.infoq.com/news/2011/03/Ensuring-Product-Quality-Google http://googletesting.blogspot.com/2
011/03/how-google-tests-software-part-five.html

How facebook doing test? - http://www.quora.com[..]nd-of-automated-testing-does-Facebook-do

How to test map-reduce application - http://cornercases.wordpress.com[..]ting-mapreduce-with-the-adapter-pattern/

The Knightmare Explained - http://www.advancedtrading.com/algorithms/240005027 , http://www.nanex.net/aqck2/3525.html

Example of using mocking tools - http://martinfowler.com/articles/modernMockingTools.html

How sqlite tested - http://www.sqlite.org/testing.html

http://allankelly.blogspot.com.au[..]014/06/how-do-i-make-testing-faster.html http://rkennke.wordpress.com[..]3/29/test-driven-thermostat-development/

Story of testing with in-memory DB - https://keyholesoftware.com[..]ated-integration-tests-failure-scenarios

http://www.developsense.com[..]ase-do-we-have-to-do-regression-testing/

What is an A/B Test? - https://netflixtechblog.com/what-is-an-a-b-test-b08cc1b57962

The complexity behind eradicating test flakiness - https://carloarg02.medium.com[..]arks-chew-on-network-cables-c0cf8c8b015b

(google search) (amazon search)


Wed Aug 23 14:26:38 GMT 2023 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

How to create great technical specifications - https://newsletter.eng-leadership.com[..]to-create-great-technical-specifications

(google search) (amazon search)


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

developer


What We Expect From Software Developers on Each Level - https://dafir.medium.com[..]re-developers-on-each-level-f7b44abb71da

How To Build the Culture of Delivering Clean Code - https://betterprogramming.pub[..]ure-of-delivering-clean-code-182b6563b1f

(google search) (amazon search)


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

review


Why code review beats testing: evidence from decades of programming research - http://kev.inburke.com[..]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

http://www.makinggoodsoftware.com[..]/08/06/5-tips-to-make-good-code-reviews/

Why review on naming is important - http://swreflections.blogspot.com.au[..]code-and-code-reviews-whats-in-name.html

Maybe useful... can take a look - https://www.ibm.com[..]ary/11-proven-practices-for-peer-review/ http://spin.atomicobject.com/2013/10/18/code-review/ http://www.yegor256.com/2015/02/09/serious-code-reviewer.html

checklist - http://technotes.towardsjob.com[..]com/java/code-review-checklist-for-java/ http://blog.fogcreek.com[..]-with-our-code-review-checklist-example/

another doc about review - http://www.lornajane.net[..]ode-reviews-before-you-even-run-the-code

https://www.infoq.com/articles/effective-code-reviews <- also a list

giving-better-code-reviews - https://medium.com[..]ter-code-reviews-16109e0fdd36#.hvku9f942

Measuring software engineering competency - http://www.savvyclutch.com[..]asuring-software-engineering-competency/

http://www.funretrospectives.com/

code review something you don't know - https://maxbittker.com/code-review/ https://dev.to[..]w-to-review-code-you-dont-understand-pc7

https://dev.to[..]ood-code-reviews-and-win-colleagues-2dc8

https://medium.com[..]/code-review-best-practices-19e02780015f

https://medium.freecodecamp.org[..]-for-effective-code-reviews-e30b5c95204a

https://www.fogbugz.com/blog/code-review-best-practices

https://dzone.com[..]80%9C-4-questions%E2%80%9D-retrospective

https://google.github.io/eng-practices/review/reviewer/

How to Make Your Code Reviewer Fall in Love with You - https://mtlynch.io/code-review-love/

Stop Nitpicking in Code Reviews - https://blog.danlew.net[..]1/02/23/stop-nitpicking-in-code-reviews/

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

I’ve code reviewed over 750 pull requests at Amazon. Here’s my exact thought process. - https://curtiseinsmann.medium.com[..]-s-my-exact-thought-process-cec7c942a3a4

How to do a code review - https://google.github.io/eng-practices/review/reviewer/

(google search) (amazon search)


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

capacity


https://www.thoughtworks.com[..]h-can-you-carry-study-capacity-modelling

Split Your Overwhelmed Teams - https://queue.acm.org/detail.cfm?id=3570920 https://www.infoq.cn/article/58jKuW7dDZ0K7qt9hpL7

(google search) (amazon search)


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

https://ronjeffries.com/articles/019-01ff/kate-red-threads/

http://testobsessed.com/2020/02/momentum-urgency

How To Update Your Status During Standup Like a Senior Engineer - https://betterprogramming.pub[..]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


https://martinfowler.com/articles/on-pair-programming.html

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

When to pair, when not to - http://www.markhneedham.com[..]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.


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

Common pitfall of pairing
http://blog.jayfields.com/2007/09/distracted-pair.html
http://blog.jayfields.com/2007/09/uninterested-pair.html
http://blog.jayfields.com/2007/08/spellchecking-pair.html

Look like a good way to start pair programming
http://magpiebrain.com[..]02/13/pairing-pattern-ping-pong-pairing/
http://c2.com/cgi/wiki?PairProgrammingPingPongPattern

Discussing pair programming - http://www.codinghorror.com/blog/archives/000999.html

Experience sharing of working with expert - http://dreamhead.blogbus.com/logs/13258146.html here is the disclaimer of the blog http://dreamhead.blogbus.com/logs/13258146.html

Why pairing - http://www.shlomifish.org[..]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 - http://agileinaflash.blogspot.com[..]com/2009/02/pair-programming-smells.html http://www.javacodegeeks.com[..]ir-programming-disadvantages-of-100.html

http://kfzhang.thoughtworkers.org/2011/04/open-mind-in-pair/

http://spin.atomicobject.com[..]012/08/08/in-praise-of-pair-programming/

http://pragprog.com/magazines/2011-07/pair-programming-benefits

Programmer Pairing with a Tester - http://www.satisfice.com/blog/archives/852

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

https://medium.com[..]code-review-try-mob-instead-82149ef035df

(google search) (amazon search)


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

requirement


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. - http://www.stickyminds.com[..]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. - http://diveintomark.org/archives/2004/08/16/specs

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

An OK article about scope changing management - http://www.projectperfect.com.au/info_scope_creep_mgmt.php

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

Interesting software for requirement management - http://www.technobuff.net[..]app/product/showProduct.do?name=jfeature

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

Template and sample for spec. - http://searchsoftwarequality.techtarget.com[..]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. - http://www.goodproductmanager.com[..]/2008/05/06/stop-gathering-requirements/

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

INVEST to user story - http://www.markhneedham.com[..]24/distributed-agile-stories-negotiable/

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

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

(google search) (amazon search)


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

productivity


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

http://tech.groups.yahoo.com[..]/group/extremeprogramming/message/140866

Why pushing unreasonable deadline is bad - http://butunclebob.com/ArticleS.TimOttinger.SoonerNotFaster

Software is about discovery - http://jasonfurnell.wordpress.com[..]covery-when-i-grow-up-i-want-to-be-jeff/

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

Some tip to improve productivity - http://www.beabetterdeveloper.com[..]/10/boost-up-your-development-speed.html

20 Things Developers Should Stop Saying - https://medium.com/i-m-h-o/905ad07ef7fd http://www.inside.com.tw[..]/20-things-developers-should-stop-saying

Why deadline is useful? It help focusing on a small target - http://wired.tw[..]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 - http://www.refactoringideas.com[..]m/the-golden-broken-management-approach/

Caffeine is a Zero-Sum Game - https://alexsexton.com/blog/2014/1/the-productivity-cycle/

http://www.inside.com.tw[..]need-to-stop-doing-to-be-more-productive

Individual productivity is about increasing focus, frequent feedback, and reducing friction - https://jchyip.medium.com[..]dback-and-reducing-friction-61d7759b9139

In 1911, a genius revealed a forgotten science of how to be 50x more productive without working more hours - https://medium.com[..]w-to-be-50x-more-productive-8828f86eb1c9 https://miro.medium.com/max/1400/1*Q0-6pgSzrDavekXnL-yHSg.png

(google search) (amazon search)


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

classification


There is a lot of discussion about this blog - http://www.artima.com/weblogs/viewpost.jsp?thread=126923

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

http://beust.com/weblog/archives/000319.html
http://www.magpiebrain.com/archives/2005/09/18/unit_tests

Checking vs. testing - http://www.developsense.com/2009/08/testing-vs-checking.html

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

Verification and Validation in Testing - https://www.pcloudy.com[..]/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 - 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

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

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

(google search) (amazon search)


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

TDD


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.

http://jchyip.blogspot.com/2011/09/criteria-first.html

My Top 5 ways to reproduce a "Hard to Reproduce" Bug! - http://software-testing-zone.blogspot.com[..]/my-top-5-ways-to-reproduce-hard-to.html

Common TDD issue and suggested solution - http://www.agileadvisor.com[..]utomated-test-problems-address-root.html

http://biblio.gdinwiddie.com[..]om/biblio/StudiesOfTestDrivenDevelopment

http://www.notesfromatooluser.com[..]ptions-with-test-driven-development.html

http://blog.goyello.com/2011/08/29/what-does-tdd-mean/

https://juristr.com[..]014/05/told-you-that-testing-is-a-waste/

https://www.thoughtworks.com[..]-best-thing-has-happened-software-design

https://itnext.io[..]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.
https://ronjeffries.com/articles/020-01ff/when-not-to-tdd/

What TDD is -- and isn't -- like. - https://ronjeffries.com/articles/020-01ff/what-tdd-is-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 - http://blogs.sun.com[..]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 - http://blog.nona.name/200801251.html

10+ productivity tips when working from home, in summary, treat is as office - http://www.codeforest.net[..]productivity-tips-when-working-from-home https://medium.com[..]work-from-home-do-it-better-f33dd0e150d1 http://www.inside.com.tw/2014/01/20/10-tips-for-working-from-home

https://blog.trello.com/remote-work-guide-for-parents

I’ve Worked From Home for 22 Years. Here’s What I’ve Learned. - https://www.wsj.com[..]years-heres-what-ive-learned-11585354640

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

(google search) (amazon search)


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

measurement


Measurable Value with Agile - http://accu.org/index.php/journals/1534

Why you should (and shouldn’t) track time - http://blog.wearemammoth.com/2011/03/ways.html

Discussion of LOC measurement - http://www.codinghorror.com/blog/archives/000637.html

Three signs your team needs Engineering Metrics ASAP - https://medium.com[..]ds-engineering-metrics-asap-387270db00cc

(google search) (amazon search)


Mon Feb 15 13:23:37 GMT 2021 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

https://martinfowler.com/articles/branching-patterns.html

https://codingcraftsman.wordpress.com[..]s.com/2021/01/11/the-linear-git-history/

(google search) (amazon search)


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

Best Practice


Article for SCM - http://www.infoq.com/articles/agile-version-control#q13

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

Check In Early, Check In Often - http://www.codinghorror.com/blog/archives/001165.html

Comparison of difference SCM, a bit subjective, still good as basic overview of feature and comparison - http://lucas-ward.blogspot.com[..]urity-model-for-source-control-scmm.html

https://copyconstruct.medium.com/post-commit-reviews-b4cc2163ac7a

(google search) (amazon search)


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

schedule


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

https://www.jrothman.com/mpd/2020/12/failure-is-always-an-option/

(google search) (amazon search)


Fri Sep 04 05:26:55 GMT 2020 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/ https://98elements.com/blog/improve-your-tests-with-junit-5/

Compare with jupiter - https://sormuras.github.io[..]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 - https://blogs.oracle.com[..]tests-parameterized-tests-and-extensions

(google search) (amazon search)