文章目錄
-
- Team homework #2: innovation in new application domains.
-
這是現代軟體工程課的作業列表, 老師可以根據情況選用, 建議要保證每周都有作業。
團隊作業 Team Homework: 適合團隊完成的作業
這些作業都要團隊的成員互相配合才能完成, 團隊可以選出一位同學完成作業的具體寫作和發部落格部分, 大家可以輪流完成。 一個團隊通常由 5-7名隊員組成, 因此即使每周都有作業, 也只是團隊中一個人要做文字工作, 因此負擔不算重。
Team Homework #0: Collect student feedback about SE courses
列出小組成員的簡介, 照片等。
收集以前上過普通 軟體工程 課的同學的反饋。 主要有以下內容:
上課的課時, 年級。
課程的教材, 講課方式
課程的實習項目情況
學生每人平均寫多少代碼
學生對課程的反饋
example:
《現代軟體工程》作業1 學長採訪
《現代軟體工程》作業2- 尋訪資訊學院同類課程
Team Homework #1: interview past projects
For each team, pick a past Software Engineer Course project (either done by USTC team, or by Tsinghua students), Interview students of that team, read their blogs, and report on your learning, then publish to your team blog.
§ Did they reach their goals in project? how many users do they have?
§ lessons learned from them,
§ and what would you do differently if you were in that team, or if you could re-do the same project from scatch.
§ You can interview by face to face talk, email, phone, or interview their users.
Please post your homework to your homepage.
Deadline: 2nd week
example:
“魔方教研室”屍檢報告
http://www.cnblogs.com/SE-team-2011/archive/2011/02/28/1966921.html
Team homework #2: innovation in new application domains.
Please read books about innovation, and blogs about innovation, e.g. I have several:
http://www.cnblogs.com/xinz/archive/2011/07/09/2102052.html
http://www.cnblogs.com/xinz/archive/2011/07/10/2102310.html
http://www.cnblogs.com/xinz/archive/2011/07/11/2102667.html
I had an old assignment for PKU students: http://www.cnblogs.com/xinz/archive/2011/06/26/2090631.html.
Now I’d like to see you do the same thing with 微博, or 團購. (就是把作業中所有提到 部落格 的地方都換成 微博, or 團購), since we have 4 teams, I’d like to see team 1 and 2 pick 微博, team 3 and 4 pick 團購.
Deadline: 8th week
you need to apply accounts, and use these accounts for a period of time in order to have meaningful investigation. So I suggest you start early.
example: 團隊作業——微博網站小調查
Team homework #3: how does your team evaluate member’s performance?
Please have a team meeting and decide how your team plan to evaluate each member’s performance.
see this blog for details.
Deadline: 3rd week
Team homework #4: your proposal for your team project
following the NABC format
現代軟體工程系列 Team 專案 如何提出靠譜的專案提案
deadline: 4th week
Team homework #5: spec of you most important feature
PM of each team need to write a blog, sharing the spec of your most important/challenging feature.
what’s is your project NABC?
who is your typical user?
what is the scenario?
deadline: 10th week
Team homework #6: Test Plan and Test Matrix
Write a blog to describe in detail how you’re going to test your software based on scenario and persona
1. your test plan
2. the personas (典型人物) of your software
3. How do you expect different personas (some teams have 3 personas) to use your software? What’s their need and their goals, how your features work together to solve their needs?
4.Your test matrix (測試矩陣)
On what platform, what language, what type of machines, what type of browser, etc. to test your software?
5.What is “exit criteria” (good enough) for your software for beta release?
Hint: focus on the first 5-15 minutes.
Deadline: 11th week
Team homework #7: Alpha/Beta Stage Scrum report (repeat this for Beta Stage)
report the progress of 10 day scrum, each daily report should contain:
a) what was achieved by each person yesterday (list specific work item #)
b) what to do today (list specific work item #)
c) what is blocking each team member?
d) show the “burn down” chart of the team progress.
post this report as a blog, for 10 consecutive days,
Team homework #8: Alpha Release
write a blog post to show your Alpha release
deadline: Alpha release week (recommended: 7th week)
Team homework #9: Alpha Release Postmortem
write a blog to show what the team has learned in the alpha stage. You can use this template to help the discussion:
現代軟體工程講義 4 方法論 - 事後諸葛亮會議
deadline: 1 week after Alpha Release
Team homework #10: Bug Bash
Each team has released beta version Code Complete. students can test each others’s release.
to do:
a. Team 1 will test team 2’s product
b. Team 2 will test team 3’s
c. Team 3 … 4
d. Team 4 will test team 1’s product
Each team should make their product/site ready for testing before the 14th week
Score: the team logging most bugs will win.
Please read <移山之道>, my blog, or other doc for the guidelines of open a good quality bug.
For bug bash, a bug must meet the following criteria: 1) A subject started with “Bug Bash: …” the subject should summarize the problem. 2) In the body of the bug, report your “steps of reproducing the bug”, a short form is “repro:” 3) then report what do you expect. Start with “expect:” 4) Then report what happened, start with “result: “ If your bug doesn’t meet such criteria, it will not be counted as a “bug bash” bug. |
due date: right after beta Code Complete (12 - 14th week).
Team homework #11: Zero Bug report
Please triage all the bugs, all team members look at each bug and decide one of the following:
Must fix (P1)
Important to fix (P2)
Nice to have (P3)
Won’t fix (for many reasons)
You will use the next several days to fix ALL bugs, and get to 0, then you can have a Zero Bug Build, your product in this build is called Release Candidate 1 (RC1), you then test it to make sure it’s great, if not, you fix more bugs, and have a RC2, RC3, etc.
When you’re sure you got a good enough product, you will turn the RC into a real release.
write a simple blog to show your team has reached Zero Bug. please attach a screen shot of your team project’s bug list (how many P1/2/3 bugs), how many bugs you don’t plan to fix, and why.
Team homework #12: Beta Release
write a blog to show the world that you have released beta product.
deadline: 15th week
Team homework #13: Alpha Release Postmortem
write a blog to show what the team has learned in the alpha stage. You can use this template to help the discussion:
現代軟體工程講義 4 方法論 - 事後諸葛亮會議
Besides the standard template for Postmortem, each team should also report the following:
1. 每個成員在beta 階段的實踐和alpha 階段有何改進?
2. 列出每個人具體的改進。
3. 團隊在beta 階段吸取了那些alpha 階段的經驗教訓?
4. 3. 12 條敏捷開發的原則中, 團隊做得最好和最不好的各列舉 2 點。
http://www.cnblogs.com/xinz/archive/2010/12/11/1902849.html
http://www.cnblogs.com/xinz/archive/2010/12/10/1902725.html
http://martinfowler.com/articles/newMethodology.html
5. 對照 The Cathedral and the Bazaar (大教堂和集市), 軟體團隊的模式 (link) 你的團隊開發模式是哪一種, 優勢/劣勢在哪裡?
http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s13.html
deadline: 1 week after Beta Release (16th week)
Team homework #14: Final review (16th week)
a. TA will book a room for students + reviwers.
b. each team need to have app, video recording, spec, etc. ready. (please post these to your blog as well)
c. each team talk to users of your product, and record their feedback (text, audio, video). summarize that as a blog.
c. each team should have real user’s feedback to show how good your product is.