Bug Bash的執行經驗談

How to run a bug bash
http://www.scottberkun.com/blog/2008/how-to-run-a-bug-bash/

作者認為bug bash, 是軟體開發產業中不能說的秘密. 在正式的軟體工程課程上, 你從來沒有看過它.

如果有專門的QA, 或是你能夠把TDD執行的很好, 或許你會使用到bug bash的機率會比較小. 但是大部分的組織, 不會有這樣的事發生. 所以作者認為bug bash是經常被使用的技巧, 來維持產品的品質.

雖然bug bash有許多好處, 但是若是你執行方法不正確, 那並不會產生好的結果, 會變成只是一個多餘的工作. 所以作者將會告訴我們, 要如何進行才會讓bug bash的效果發揮到最好.

以下是作者在執行bug bash的致勝秘訣
1. 不要造成大家恐慌
- If you say “Tomorrow! Everyone find bugs! Aaaah!” You are creating a panic and look like an idiot.
- You should know a week or more in advance that the bug counts are soft, or the database needs scrubbing, and line up leads and key players to support the effort.

2. 凍結目前的source codes
- You can not do a bug bash on a moving target: you invalidate repro cases and bug findings.
- Pick a build, freeze it, and make sure no one, NO ONE touches the live codebase during the bugbash.
- This should go without saying, but you never know.
- If it’s your first team wide bugbash make sure the entire programming team understands this basic rule.

3. 告訴大家怎樣才是好的bug reports
- Remind everyone crappy bug reports create extra work.
- Provide two bug report examples: one good, one bad.
    In the good example show well written description, clear repro steps, and a search for duplicate bugs.
    In the bad, show incomprehensible descriptions, impossible repro steps, etc.
- If you don’t provide examples, don’t expect people to magically know what you’re looking for.
- Finding 1000 crappy bugs that need to be heavily cleaned up is a waste of everyone’s time.
    
4. 告訴大家要測試哪些地方或是要找出哪類型的bug
- Saying “find bugs” is a shot in the dark.
- It shows you have no clue what’s going on in your project.
- Think through what the weakest areas are, or what types of bugs you are most afraid of, and designate them the primary goals of the bug bash.
- Or offer bonus points (e.g. bugs in area 6 are worth x2) for people who find the specific type of bug most valuable to you.

5. 要確認大家在這段時間能配合作bug bash
- A bug bash should be an entire team activity and a half-day is the perfect amount of time.
- Everyone should be working on the same goal: getting good data into the bug database, and getting that database in shape.
- If it’s voluntary, or only half the team is asked to do it, the bash will fail.
- People will smell you’re not serious about the effort, and will contribute accordingly.
- Get permission to reschedule all team meetings for that afternoon to later in the week, and send out a new meeting invite to the team for the entire bug bash time slot.
- Include details (see below) on where bug bash HQ is, what the prizes are, etc.
 
6. 需要取得大頭們的支持
- With the support of leaders it sets the tone of how important the activity is, and eliminates the BS excuses people find not to participate (”If Fred, our best programmer is doing it, I should be doing it too”).
- Find the key players on your team, either key leaders or the star programmers, and get them to help promote and contribute.

7. 找一個地方大家可以集中進行bug bash
- Finding bugs can be a social activity: have a bug bash headquarters.
- Grab a conference room, order pizza and beer, and invite people with laptops to hang out and find bugs together.
- This invites people to help each other find repro-cases, share knowledge and bug database tricks, makes keeping a scoreboard easy, and makes the bug bash a proper morale event.
- A case of beer and few pizzas costs $60. Well worth it.

8. 記錄執行成績並提供獎賞
- Geeks are competitive. Use this to your advantage.
- Any bug database allows queries for open bugs by date: Get this up on a website or hallway monitor and show it in real time.
- Buy some nerf weapons, dinner gift certificates, or even some X-box video games, and have them visible at HQ - give them away as prizes, or set up a betting pool: $10 per person, and the winner gets the pot.
- You can get fancy and have special prizes for most twisted bug, the bug least likely to ever get fixed, etc.
 
9. 建立可相互競爭的小組
- If you are totally poor, use ego prizes.
- Have the designers challenge the programmers, or the marketing team challenge the management team.
- Throw down: “I’ll bet the whole marketing team dinner at Ruth Chris’ my 3 reports can find more bugs than your whole team can”.
- If you don’t have cash, bet embarrassment: loser shaves their heads, has to dress in costume the next day, has to wash the opponents cars, etc.
- Get two sets of people who have some built in animosity or rivalry, especially if it’s well known, to openly challenge each other.
- This rivalry will draw more people in, if only to follow along.
- Do this once and you’ll have a tradition to build on for the next bug bash.
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()