﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-快乐学习 </title><link>http://www.cnblogs.com/zhoujg/</link><description>像外行一样思考，像专家一样实践</description><language>zh-cn</language><lastBuildDate>Fri, 03 Jul 2009 23:42:29 GMT</lastBuildDate><pubDate>Fri, 03 Jul 2009 23:42:29 GMT</pubDate><ttl>60</ttl><item><title>敏捷实践大列表(转 noop)</title><link>http://www.cnblogs.com/zhoujg/archive/2009/06/28/1512799.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Sun, 28 Jun 2009 10:27:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/06/28/1512799.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1512799.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/06/28/1512799.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1512799.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1512799.html</trackback:ping><description><![CDATA[<p>由于瀑布开发的长周期以及不确定性等一系列难处理的问题导致项目失败，敏捷开发现在已经非常流行。以下为搜集的一个敏捷实践方法列表，每个都对应的链接，转载在此以供参考。</p>
<table border="0" cellpadding="2" cellspacing="0">
<tbody>
<tr>
<td><b>Requirements</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Product Vision / Vision Statement</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/115-the-product-vision">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/vision.html"><span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Product Backlog</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/87-writing-the-product-backlog-just-enough-and-just-in-time">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/product-backlog">
 <span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 User Stories</td>
<td>
 <a href="http://en.wikipedia.org/wiki/User_story"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/89-focus-on-value">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?UserStory"><span style="font-size: xx-small;">C2</span></a></td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/userStory.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/userstories.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Use Cases</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Use_Case"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?UserStory"><span style="font-size: xx-small;">C2</span></a></td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/useCaseDiagram.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/userstories.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Usage Scenarios</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/usageScenario.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Personas</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Personas"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/personas.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Planning Poker</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Planning_poker"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Requirement Prioritization</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Requirement_prioritization">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.agilemodeling.com/essays/prioritizedRequirements.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 <b>Design</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Architectural Spikes / Spike Solutions</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?ArchitecturalSpike"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/spike.html"><span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Domain Driven Design</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Domain_driven_design"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/domainDrivenDesign.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Emergent Design / Evolutionary Design</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Emergent_Design"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?EmergentDesign"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/evolutionaryDesign.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 CRC Cards</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Class-Responsibility-Collaboration_card">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/crcModel.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/crccards.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Design by Contract</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Design_by_Contract"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 System Metaphor</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/metaphor.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 <b>Construction</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Coding Style / Coding Guidelines / Coding Standard</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Coding_style"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/coding_standards.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/codingStandard.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Test Driven Development</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Test-driven_development">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?TestDrivenDevelopment"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/testfirst.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Behavior Driven Development</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Pair-Programming / Pairing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Pair_programming"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?PairProgramming"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/pair_programming.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/pair.html"><span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/pairing.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Refactoring</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Code_refactoring"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?RefactorMercilessly"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/refactor.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/refactoring.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Collective Code Ownership</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?CollectiveCodeOwnership"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/collective_code_ownership.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/collective.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/collectiveOwnership.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Daily Builds / Automated Builds / Ten-Minute Builds</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Daily_build"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/ten_minute_build.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Continuous Integration</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Continuous_Integration">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?ContinuousIntegration"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/continuous_integration.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/integrateoften.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/continuousIntegration.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Code Reviews / Peer Reviews</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Code_review"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Software Metrics / Code Metrics &amp; Analysis</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Software_metrics"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Source Control / Version Control</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Revision_control"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/version_control.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Issue Tracking / Bug Tracking</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Issue_tracking_system"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Configuration Management</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Configuration_management">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Frequent Delivery / Frequent Releases</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?FrequentReleases"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/releaseoften.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/frequentReleases.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 <b>Testing</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Unit Testing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Unit_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/unittests.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Smoke Testing / Build Verification Test</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Smoke_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Integration Testing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Integration_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 System Testing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/System_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Exploratory Testing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Exploratory_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Test Automation</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Test_automation"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/86-reducing-the-test-automation-deficit">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Storytesting / Acceptance Criteria / Acceptance Testing</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Acceptance_testing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?AcceptanceTestExamples"><span style="font-size: xx-small;">C2</span></a></td>
<td>
 <a href="http://www.agilemodeling.com/artifacts/acceptanceTests.htm">
 <span style="font-size: xx-small;">AM</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/functionaltests.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/storytesting.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 <b>Process</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Timeboxing / Fixed Sprints / Fixed Iteration Length</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Time_boxing"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/iterative.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Release Planning</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?ReleasePlanning"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/release_planning.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/planninggame.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Iteration Planning / Planning Game / Sprint Planning</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Extreme_Programming_Practices#Planning_game">
 <span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/59-perfect-planning">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/sprint-planning-meeting">
 <span style="font-size: xx-small;">MG</span></a></td>
<td>
 <a href="http://c2.com/cgi/wiki?PlanningGame"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/the_planning_game.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/iterationplanning.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>
 <a href="http://industrialxp.org/planningGame.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Sprint Backlog</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/122--tips-for-creating-a-good-sprint-backlog">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/sprint-backlog"><span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Task Board</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/28-attractive-task-boards">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/task-boards"><span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Definition of Done / Done Done</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/106-definition-of-done-a-reference">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/done_done.html"><span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Daily Stand-up Meeting / Daily Scrum</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Stand-up_meeting"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/62-the-daily-meeting-trap-">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/daily-scrum"><span style="font-size: xx-small;">MG</span></a></td>
<td>
 <a href="http://c2.com/cgi-bin/wiki?StandUpMeeting"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/stand_up_meetings.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>
 <a href="http://www.extremeprogramming.org/rules/standupmeeting.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Velocity</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/velocity.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Sprint Review / Iteration Demo</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/48-successful-sprint-reviews">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/sprint-review-meeting">
 <span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/iteration_demo.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Value Stream Mapping</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Value_Stream_Mapping"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Root Cause Analysis / 5 Whys</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Root_cause_analysis"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/root_cause_analysis.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Burn Down Charts / Burn Up Charts</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Burn_down_chart"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/7-whats-your-sign">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/release-burndown">
 <span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Big Visible Charts / Information Radiators</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/informative_workspace.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Retrospective / Reflection Workshop</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Retrospective"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/30-seven-ways-to-revitalize-your-sprint-retrospectives">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/retrospectives.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/retrospectives.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 <b>Organization</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Small Team</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/smallTeams.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Cross-Functional Team</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Cross-functional_team"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Self-Organizing Team / Scrum Team</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.mountaingoatsoftware.com/scrum-team"><span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Colocated Team / Sitting Together / Common Workspace</td>
<td>
 <a href="http://en.wikipedia.org/wiki/Colocation_%28business%29"><span style="font-size: xx-small;">Wiki</span></a></td>
<td>
 <a href="http://www.scrumalliance.org/articles/64-be-there-or-be-square">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://c2.com/cgi/wiki?CommonWorkspace"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/sit_together.html"><span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/sittingTogether.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 On-Site Customer / Product Owner</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/44-being-an-effective-product-owner">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/product-owner"><span style="font-size: xx-small;">MG</span></a></td>
<td>
 <a href="http://c2.com/cgi/wiki?OnSiteCustomer"><span style="font-size: xx-small;">C2</span></a></td>
<td>&nbsp;</td>
<td>
 <a href="http://jamesshore.com/Agile-Book/real_customer_involvement.html">
 <span style="font-size: xx-small;">JS</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Scrum Master</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/36-leader-of-the-band">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>
 <a href="http://www.mountaingoatsoftware.com/scrummaster"><span style="font-size: xx-small;">MG</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Sustainable Pace</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://industrialxp.org/sustainablePace.html"><span style="font-size: xx-small;">IXP</span></a></td>
</tr>
<tr>
<td>
 Move People Around</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.extremeprogramming.org/rules/movepeople.html">
 <span style="font-size: xx-small;">XP</span></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
 Scrum of Scrums</td>
<td>&nbsp;</td>
<td>
 <a href="http://www.scrumalliance.org/articles/46-advice-on-conducting-the-scrum-of-scrums-meeting">
 <span style="font-size: xx-small;">SA</span></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p style="font-size: 12px; font-family: Trebuchet MS;"><b>References</b><br />Wiki = <a href="http://www.wikipedia.com/">Wikipedia</a><br />SA = <a href="http://www.scrumalliance.org/">Scrum Alliance</a><br />MG = <a href="http://www.mountaingoatsoftware.com/">Mountain Goat Software</a><br />C2 = <a href="http://www.c2.com/">Cunningham &amp; Cunningham</a><br />AM = <a href="http://www.agilemodeling.com/">Agile Modeling</a><br />JS = <a href="http://jamesshore.com/">James Shore</a><br />XP = <a href="http://www.extremeprogramming.org/">Extreme Programming</a><br />IXP = <a href="http://industrialxp.org/">Industrial XP</a></p>
<div id="TixyyLink" style="border: medium none ; overflow: hidden; color: #000000; background-color: transparent; text-align: left; text-decoration: none;"><br /></div><img src ="http://www.cnblogs.com/zhoujg/aggbug/1512799.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>需求方法之－原型工具GUI Design Studio</title><link>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503729.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Mon, 15 Jun 2009 08:56:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503729.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1503729.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503729.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1503729.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1503729.html</trackback:ping><description><![CDATA[<p>.</p>
<p>上篇<a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl01_TitleUrl" href="/zhoujg/archive/2009/06/15/1503659.html">需求方法之－原型开发</a>讲过制作原型是业务人员应该掌握的一项基本技能，这篇主要给大家介绍一个我认为比较好的一个工具：GUI Design Studio，大家可以到<a href="http://www.carettasoftware.com/downloads.html">官方网站</a>下载试用，如果用于个人学习，也可以上网搜到破解：）</p>
<p>软件帮助文档有个记事本的例子,如果参考做完就能大致了解如何做原型了. 下面我主要示例一个管理软件常用的界面模式，<span style="color: #0000ff;">登录后显示主界面，主界面上面一个公司图标，左边为一个功能列表，点击列表时在工作区页签显示相应的模块窗体。</span>做了一个视频,方便大家更好的快速了解.</p>
<p><b>主界面</b></p>
<p><img src="http://pic002.cnblogs.com/img/zhoujg/200906/2009061515590172.jpg" /></p>
<p>上面为菜单和工具条，工具条主要用的就是连接线，菜单主要用的是Design－Addbitmap<span style="color: #0000ff;">添加图片</span>（我也是刚找到的，应该在右边Elements上更好）</p>
<p>右边为界面元素和文档目录管理：</p>
<p>&nbsp; <span style="color: #ff0000;">Project</span>：管理文件目录层次，可以在根目录下放主界面，然后把功能模块分系统新建多个目录保存。对于界面窗体比较多时，尽量按照模块目录分类来保存，千万不要放在一个页面中设计，否则以后就不好维护了。<br />&nbsp; Element：界面元素，比如按钮、工具条等界面展现的控件<br />&nbsp; Icon：图标，可以软件的安装目录里加入自己的图标后应用在项目中<br />&nbsp; Storyboard：增加动态控制界面元素的动作控件。用的最多的是windows placeholder，主要来做显示在Tab页的内容，可以查看软件的帮助文件的索引 Working with tabbed interfaces进一步了解<br />&nbsp; Note：给控件加标题和注释，如果加了注释，在原型运行时鼠标放在＃上会显示提示</p>
<p><b>演示：录制movie和demo在<a href="http://www.damipan.com/file/1wjfMnU.html">大米盘</a>下载</b></p>
<div style="margin: 0px 0px 0px 24px; padding: 0px; text-align: left; text-indent: 0px;">主要说明:使用Storyboard的Window Position Anchor来定位弹出窗体的显示位置, 使用Storyboard的windows placeholder来定位显示窗体的显示位置<br /><br />
<p>原型工具blog链接：</p>
<h2 class="entry-title"><a class="entry-title-link" target="_blank" href="http://item.feedsky.com/%7Efeedsky/yeeyan_top/%7E7201587/205489173/5235728/1/item.html">线框图-原型可视化</a></h2>
<h2 class="entry-title"><a class="entry-title-link" target="_blank" href="http://ucdchina.com/snap/3848">用Flash Catalyst做交互原型</a></h2>
<a href="http://faye-feelcool.javaeye.com/blog/416308">GUIDESIGNSTUDIO3中文帮助(1)-欢迎使用 GUI Design Studio 3.0</a></div>
<p><a id="AjaxHolder_ctl01_TitleUrl" href="/zhoujg/archive/2009/06/15/1503659.html"><br /></a></p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1503729.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>需求方法之－原型开发</title><link>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503659.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Mon, 15 Jun 2009 07:46:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503659.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1503659.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/06/15/1503659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1503659.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1503659.html</trackback:ping><description><![CDATA[<p>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 12" />
<meta name="Originator" content="Microsoft Word 12" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 12" />
<meta name="Originator" content="Microsoft Word 12" />
<link rel="File-List" href="file:///C:\Users\zhoujg\AppData\Local\Temp\msohtmlclip1\01\clip_filelist.xml" />
<link rel="themeData" href="file:///C:\Users\zhoujg\AppData\Local\Temp\msohtmlclip1\01\clip_themedata.thmx" />
<link rel="colorSchemeMapping" href="file:///C:\Users\zhoujg\AppData\Local\Temp\msohtmlclip1\01\clip_colorschememapping.xml" />
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves />
  <w:TrackFormatting />
  <w:PunctuationKerning />
  <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
  <w:ValidateAgainstSchemas />
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF />
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:SpaceForUL />
   <w:BalanceSingleByteDoubleByteWidth />
   <w:DoNotLeaveBackslashAlone />
   <w:ULTrailSpace />
   <w:DoNotExpandShiftReturn />
   <w:AdjustLineHeightInTable />
   <w:BreakWrappedTables />
   <w:SnapToGridInCell />
   <w:WrapTextWithPunct />
   <w:UseAsianBreakRules />
   <w:DontGrowAutofit />
   <w:SplitPgBreakAndParaMark />
   <w:DontVertAlignCellWithSp />
   <w:DontBreakConstrainedForcedTables />
   <w:DontVertAlignInTxbx />
   <w:Word11KerningPairs />
   <w:CachedColBalance />
   <w:UseFELayout />
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math" />
   <m:brkBin m:val="before" />
   <m:brkBinSub m:val=" " />
   <m:smallFrac m:val="off" />
   <m:dispDef />
   <m:lMargin m:val="0" />
   <m:rMargin m:val="0" />
   <m:defJc m:val="centerGroup" />
   <m:wrapIndent m:val="1440" />
   <m:intLim m:val="subSup" />
   <m:naryLim m:val="undOvr" />
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal" />
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" />
  <w:LsdException Locked="false" Priority="39" Name="toc 1" />
  <w:LsdException Locked="false" Priority="39" Name="toc 2" />
  <w:LsdException Locked="false" Priority="39" Name="toc 3" />
  <w:LsdException Locked="false" Priority="39" Name="toc 4" />
  <w:LsdException Locked="false" Priority="39" Name="toc 5" />
  <w:LsdException Locked="false" Priority="39" Name="toc 6" />
  <w:LsdException Locked="false" Priority="39" Name="toc 7" />
  <w:LsdException Locked="false" Priority="39" Name="toc 8" />
  <w:LsdException Locked="false" Priority="39" Name="toc 9" />
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" />
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title" />
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" />
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle" />
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong" />
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis" />
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid" />
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" />
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1" />
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" />
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" />
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote" />
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5" />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6" />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6" />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6" />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6" />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6" />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6" />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6" />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6" />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6" />
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" />
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" />
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" />
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" />
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title" />
  <w:LsdException Locked="false" Priority="37" Name="Bibliography" />
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" />
 </w:LatentStyles>
</xml><![endif]-->
<style><!--
&lt;! 
 /* Font Definitions */
 @font-face
	{font-family:宋体;
	panose-1:2 1 6 0 3 1 1 1 1 1;
	mso-font-alt:SimSun;
	mso-font-charset:134;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-alt:"Times New Roman";
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
	{font-family:"\@宋体";
	panose-1:2 1 6 0 3 1 1 1 1 1;
	mso-font-charset:134;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:3 680460288 22 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	mso-pagination:widow-orphan;
	font-size:10.5pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:宋体;
	mso-bidi-font-family:宋体;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-size:10.0pt;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	mso-ascii-font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-hansi-font-family:"Times New Roman";
	mso-font-kerning:0pt;}
 /* Page Definitions */
 @page
	{mso-page-border-surround-header:no;
	mso-page-border-surround-footer:no;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 &gt;
--></style>
<!--[if gte mso 10]>
<mce:style><! 
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:普通表格;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.5pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:宋体;
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-font-kerning:1.0pt;}
-->
<!--[endif]-->
</p>
<p class="MsoNormal"><b><span style="font-family: 宋体;">业务人员主导原型工作</span></b></p>
<p><span style="font-family: 宋体;"></span><span style="font-family: 宋体;">需求在产品开发中的重要性已经是不需争议的事实，现在需求方法有很多，</span><span style="font-family: 宋体;"></span><span style="font-family: 宋体;">业界最常用的一种办法就是通过原型展现需求，通过用例表达需求。业务人员掌握制作原型能够更快更清楚的表达业务，同客户和开发可以进行更直观的沟通，使得大家在理解上容易更一致。然而原型工具有非常多，比如大多数人用过的</span><span lang="EN-US">Excel</span><span style="font-family: 宋体;">、</span><span lang="EN-US">Access</span><span style="font-family: 宋体;">、</span><span lang="EN-US">Delphi</span><span style="font-family: 宋体;">、</span><span lang="EN-US">PowerPoint、Axure、Balsamiq Mockups、ForeUI、iRise、Lucid Spec、Mockup Screens、Pencil、Serena</span><span style="font-family: 宋体;">等，甚至开发工具雅奇等也可以用来做原型。工欲善其事，必先利其器，对于刚刚使用原型方法的业务人员来说，如何选择适合自己的原型工具呢？这就需要首先根据原型的目的明确做原型的粒度。</span></p>
<p><b>根据工作现状选择做低保真原型还是高保真原型</b></p>
<p>原型分低保真原型和高保真原型，低保真原型目标在于表达工作主要内容，体现静态的元素，不需要动态交互。高保真原型目标是作出一个和实际上线后的产品差不多的样子，不仅包括静态的界面，还包括交互，甚至有的还把数据保存、逻辑验证等都包含在内。如果客户要求开发之前必须看到和实际产品一样的原型时，这时就需要做高保真原型，如果对于小型项目，或者只是用来做交流主要需求用时，就可以做低保真原型。</p>
<p><b>我们可用作介于低保真和高保真之间的原型</b></p>
<p class="MsoNormal">在限定时间内能够将需求表达更清晰需要一个合适的工具。业务人员一般都不会有什么编程经验，我们怎么能够做出表达静态元素界面，又能加入动态交互功能的原型呢？<span style="font-family: 宋体;">为了能在需求阶段都能够更好的采用原型开发方法，我搜集并使用过多种原型工具，希望找打一款比较使用简单，但又能实现一般的交互功能，最好是业务人员学个一个小时就可以完全自己动手使用了。我用过一个原型工具</span><span style="color: red;" lang="EN-US"> GUI Design Studio</span><span lang="EN-US"> ，</span><span style="font-family: 宋体;">它的主要特点就是操作简单，不需要开发人员帮助，通过半个小时的学习后你将可以自己开始做原型了。后面我会对这个工具的使用进行介绍，希望有更多的业务人员能够更好的应用原型来进行需求开发。</span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><b>原型不仅仅是需求，它还是设计</b></p>
<p class="MsoNormal"><span style="font-family: 宋体;">我们可以通过原型来引导用户来使用系统解决问题，但原型不仅仅是需求，它还是设计，所以作原型时不仅需要客户的参与，也需要技术人员的参与，但应该尽量由业务人员而非开发人员来实现原型，这样才能更好的保证做需求不会演变成做开发了。下面是在UCD社区里面看到的一张图，原型最主要功能是表现界面，但要做好界面其实不容易，山下面还有很多东西需要考虑才能支撑界面，其实做原型的过程就是设计系统的过程。我们都希望尽量把开发工作前移，需求能做的工作就不留到开发环节做。如果软件模式一定，那么框架做得好的话就一定可以能够让业务人员业务人员就做一部分属于开发人员的工作（这部分工作本就该属于业务人员），那时大家就能体会到开发软件就如同做原型一样的乐趣了！<br /></span></p>
<p><img src="http://pic002.cnblogs.com/img/zhoujg/200906/2009061619495426.jpg" /></p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1503659.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>坚持是学习的最好方法</title><link>http://www.cnblogs.com/zhoujg/archive/2009/06/13/1502679.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Sat, 13 Jun 2009 09:52:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/06/13/1502679.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1502679.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/06/13/1502679.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1502679.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1502679.html</trackback:ping><description><![CDATA[<p>唐骏在《我的成功可以复制》中说到他招人的标准很简单，一个是工作态度，一个是学习能力。前一篇博文写的责任属于态度，这里我想谈谈学习。</p>
<p>经常有人问我是如何学习的，有什么办法可以学得更好？我认为学习最好的方法其实很简单，那就是坚持，<span style="color: #ff00ff;">坚持学习</span>，<span style="color: #ff00ff;">坚持实践</span>，<span style="color: #ff00ff;">坚持思考</span>。</p>
<p>每天基本上都要学习，坐公交时会拿着手机看电子书，平时工作多加思考，晚上会根据自己对技术的判断进行知识的搜集和学习，我从工作到现在就是这么一直坚持学习的，我很多大学同学都不太相信：）</p>
<p>学习如同加班，也是在业余时间付出额外精力，只不过是学习是主动，加班是被动的。不停的学习，就和不停的加班一样，会使我们处于一个满负荷运作的状态，不可避免的在某一时刻会感到劳累，这时我会停下来休息，和家人去外面度度假，或者连续打几天游戏，用一些办法来舒缓一下疲劳。其实这只是体力带来的疲劳，还有一种疲劳是只见不断学习而不见成果的假学习。这时就要尽量抓准时机坚持实践，只有通过实践回报不断学习的毅力才能达到真正的快乐学习。</p>
<p>而不断的学习、实践是要基于某一些内容来做的，我们不能太贪心，什么都想做，这时就需要不断的坚持思考，思考存在哪些问题，思考自己能解决哪些问题，怎么通过学习和实践来解决。</p>
<p>在确定了某个领域的问题后，就可以通过很多方式来进行学习了：</p>
<p>1 blog订阅：对感兴趣的blog进行搜集，每天都会花一些时间来查看，以便持续学习和关注。《如何阅读一本书》中说到太多的资讯就如同太少的资讯一样，都是一种对理解力的阻碍。当我们订阅blog一定时期后，你会发现已经blog列表已经很长了，这时就需要进行整理一下，否则会发现自己像无头苍蝇一样看很多内容。大家可以通过很多blog订阅工具，我喜欢用google reader来订阅blog。</p>
<p>2 书籍：书籍一般都是经过作者大量思考和实践总结的一些知识，通过别人的总结可以系统的进行学习，这也是我对不熟悉的知识进行系统学习的一个主要途径。现在好多电子版书籍都可以通过网站找到，也可以在<a href="http://www.douban.com/people/1174159/">豆瓣</a>上管理自己的读书数目</p>
<p>3 网络搜索 ：这是我们大家都常用的方法，一般用来解决当前遇到的问题</p>
<p>4 还有其他一些方法，如写blog、写示例、研究现有产品、给其他人培训和交流、实践中反复思考验证等</p>
<p>
<img src="http://i2.sinaimg.cn/2008/wl/p/2008-08-20/U2535P461T5D234291F154DT20080820050124.jpg" width="594" height="396" /></p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1502679.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>责任不仅仅是只做份内的事</title><link>http://www.cnblogs.com/zhoujg/archive/2009/06/11/1501689.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Thu, 11 Jun 2009 13:35:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/06/11/1501689.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1501689.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/06/11/1501689.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1501689.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1501689.html</trackback:ping><description><![CDATA[<p>　　责任心是每一个职员、管理人员、家庭成员都应该具备的素质，在身边也看到很多都是非常有责任心的人。baidu上这么解释责任是指分内应做的事，如职责、尽责任、岗位责任等。有时我们是按照份内应该做的事，但最终可能出现的结果是负责任了但没有取得好成绩。所以我觉得有时候从最终结果来看，责任不应该只是做分内的事情。</p>
<p>　　在我以往工作中就有过所谓的&ldquo;责任&rdquo;，即使当前的工作与自己意愿不一致时也非常尽心，跟随着大部队加班加点，但最终没有给公司客户带来什么实质的作用，有时想到责任，我反而觉得责任不只是以往的定义，只做分内的事情，有时我们需要停下超负荷的脚本，静下来思考一下达到目标的更好方法，坚持自己的想法，而不只是循规蹈矩的只做份内的事情。有了对责任的这个定义后，有次工作中我竟然会拒绝接受一部分工作而专心做自己认为该做的工作，后来自认为还很满意，比起以前所谓的&ldquo;责任&rdquo;要好得多。所以，责任不仅仅是只做分内的事，有时需要去除部分责任，扩充一些责任，对责任做到真正的负责。</p>
<p>&nbsp;</p>
<p><b><img src="http://lz.book.sohu.com/data/book/08/11108/11108.jpg" height="579" width="400" /><br /></b></p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1501689.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>从横向领域和纵向领域来谈业务和技术的关系</title><link>http://www.cnblogs.com/zhoujg/archive/2009/03/28/1423823.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Sat, 28 Mar 2009 06:00:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/03/28/1423823.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1423823.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/03/28/1423823.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1423823.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1423823.html</trackback:ping><description><![CDATA[<p>现在国内大部分管理软件公司有几类，有的靠关系拉单子，有一单作一单，技术对它们来说不重要，而关系永远是第一。有的专注于用户需求，摸透用户业务，这类公司对业务的关注度很高，也就是横向领域上，业务排在第一。还有一类就是已经在行业很有知名度，要做行业内的专家，公司这时已经认识到了业务和技术的共同重要性，平台概念也主要在这类公司提出。软件工厂主要针对的也是在第三类软件公司下的应用。</p>
<p>在《<a href="/zhoujg/archive/2009/01/07/1371258.html">软件工厂方法</a>》一文中，我介绍了领域工程的基本介绍，领域工程由横向领域和纵向领域组成。平台概念很早就有，我认为对管理软件来说，平台就是能够在纵向领域上研究透业务的基础上使用横向领域的成果来一起来搭建一个满足用户需求的应用。<br /><i>1. 纵向领域（vertical domain）：根据系统类别而组织的领域。如预算软件、材料管理、合同管理、企业报表系统等。<br />2. 横向领域（horizontal domain）：根据软件部件的类别而组织的领域。比如元模型引擎、报表引擎、工作流引擎等。<br />3. 领域之间有3中类型的关系：<br />a) 包含：比如成本管理软件包含了材料管理系统<br />b) 使用：比如管理软件都使用报表引擎，OA系统都使用工作流引擎<br />c) 类似：领域之间侧重点不同，但有很多的相似性，通过深入研究一个领域，可以取得对另一个领域的更好理解。比如报表引擎中对于表达式解析和索引部分可能与数据关系计算引擎类似。<br />大部分书籍也是像以上那样简单介绍一下基本定义，以下我从它们在产品线开发中的关系来发表一下看法。</i></p>
<p>&nbsp;</p>
<p>经常有人讨论业务和技术的关系，希望争论出到底哪个更重要。如果从商业角度来说，最终的目标都是通过满足客户的需求实现双赢，而业务和技术都是实现
这个大目标的方法和工具而已，业务的深入是让我们能够做正确的事情，技术是让我们能够使用适合的解决方案来正确的做事情，两者必须协调一致才能实现最终的目标。</p>
<p>在认识了这两个领域都很重要的前提下，公司观点不一样，投入可能会出现三种情况，先业务后技术，先技术后业务，技术和业务同时进行。</p>
<ul>
<li>先业务后技术</li>
</ul>
<p>　　认为业务是技术应用的前提，所以必须完全弄清孵化了业务后才开展技术工作。当业务随着投入有所进展后，开发技术也越来越多不只是简单的增删改了，很多技术其实本应该是由纵向领域去解决的事情了，一年半载就这样过去了，本想着这样对付过去了，等业务请出来再技术重来，但是随着业务深入，用户的使用越来越多，销售和用户已经不能在等你重新进行纵向领域的应用了。先业务后技术的方向，在不是很好管理下即有可能变成了只有业务了，但是会出来产品。</p>
<ul>
<li>先技术后业务</li>
</ul>
<p>　　认为软件公司没有技术是不行的，所以技术优先。在技术上投入，Vista来了研究Vista，新的语言出现了研究新的语言，派专人进行研究，这种方向下会出现两种结果。如果研究人员本身目标明确，技术可能会成功研究并应用回报公司，也有可能遇到一个本身目标就不明确的研究人员，不知道研究的东西有什么用处，越研究反而越茫然，结果导致公司误认为这个对公司没有什么价值，最后就不了了之。所以先业务后技术的方向，在不是很好管理下即有可能变成了只有业务了。先技术后业务的方向，运气好的话会皆大欢喜，运气不好的话会没有人和成效，反而可能会把有用的技术当成没有的东西。</p>
<ul>
<li>技术和业务并行</li>
</ul>
<p>　　认为技术和业务是互相关联，缺一不可的，所以会在技术和业务上分别投入人力，并随着回顾两边的情况，不断协调进展。架构框架设计在了解部分需求下就可以进行了，技术的实现对业务也会有影响。在并进过程中，会出现先分后合的情况，因为开发产品时，业界已经有很多模式可以应用。比如你做企业管理软件，做OA，则工作流引擎，报表引擎等纵向领域必须有，公司可以在这方面先期投入而不用等到用户马上要了再来开发。</p>
<p>以上三种方向，我们该采取哪一种呢，我想这个需要视企业情况来看，如果企业发展初期，那么先业务和技术，先把业务吃透了，提高企业在行业内的知名度比吃透技术要紧，对于已经发展不错的企业，则应该采用技术和业务并进，不断的在业务和技术两方面协调发展。而如果企业已经衣食无忧，那么可以先技术后也业务，因为在业务不是很明确的情况下，技术也可以带动业务的发展。</p>
<p>技术和业务并进在第三类公司可能占多数，所以我们在投入时也需要认清他们的关系，哪些该并行进行，哪些该先后串行，不同领域由哪些人用什么方法完成，进行过程中如何不断回顾提炼方法。做开发和其他事情一样，开始之前没有具体的目标是绝对不行的，没有目标，推进研究像前是没有必要的，毫无意义的，但是一旦有了目标就不同了，有了具体目标后就算研究进行不下去了，也有那个具体的目标作为前进路线上的防线，指示着要走向哪里。有时候目标也会变化，或者更高，或者有所降低，如果目标更高了，当然相应最终结果也会更好。</p>
<p>软件产品线范围很广，有技术、管理、人员各方面的内容，包括纵向领域和横向领域，每个领域里面又包含很多领域。我们在开始之前又该如何确定我们的目标呢？一般制定大目标时，都会通过将目标拆解为多个小目标来细化，然后由不同的人各自实现小目标，在实现过程中并不断的回顾小目标对大目标的影响。</p>
<p>在《<a href="/zhoujg/archive/2009/01/07/1371258.html">软件工厂方法</a>》中讲过<span style="font-family: 宋体;">产品线的四个核心：范围、通用性、可变性和扩展点。纵向领域提炼出721，横向领域为纵向领域提供支持，比如基础设施的支持（各个需要的引擎）最好先期投入，这样当业务进展到一定阶段时，技术的支持就会很顺利了。</span></p>
<p><img src="http://pic002.cnblogs.com/img/zhoujg/200901/2009010717281697.jpg" width="390" height="251" /></p>
<p>&nbsp;</p>
<p>如果我们知道了作企业化信息管理软件，工作流、报表必需要存在，那么我们可以先期投入人力解决这一块。但是我们又如何保证这些小目标的投入可以给公司带来真正的回报呢。我想每个小目标都需要先从以下几点明晰自己的目标：</p>
<ul>
<li><b>愿景和任务：<i>是否能够使用一句话简单的说明自己的愿景和任务</i></b><i><i>？</i></i></li>
<li><b><b>涉众：<i>谁是你的客户</i></b></b></li>
<li><b><b><i></i>问题：<i>关注哪个领域或者问题</i></b><i></i></b></li>
<li><b><b>业务价值：</b> <i>提供什么价值?产品的价值是在大蛋糕中的哪一块？</i></b></li>
<li><b><b>如何度量成功</b>: <i>用什么来表示成功<i>?</i></i></b></li>
<li><b><b>产品线</b>: <i>给产品线提供了什么?</i></b></li>
</ul>
<p>&nbsp;</p>
<p>以下两篇为我以前关于技术和业务的简单观点，相对于上面的浅显一些：）</p>
<h2><a id="AjaxHolder_ctl01_TitleUrl" href="/zhoujg/archive/2007/05/25/760120.html">再谈技术和业务的关系</a>&nbsp;&nbsp;&nbsp;&nbsp; <br /></h2>
<h2><a id="AjaxHolder_ctl01_TitleUrl" href="/zhoujg/archive/2006/06/18/429072.html">业务、技术和语言的关系</a></h2><img src ="http://www.cnblogs.com/zhoujg/aggbug/1423823.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>不要在考虑需求之前更多的在意你的职业镀金</title><link>http://www.cnblogs.com/zhoujg/archive/2009/03/23/1419463.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Mon, 23 Mar 2009 01:57:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/03/23/1419463.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1419463.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/03/23/1419463.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1419463.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1419463.html</trackback:ping><description><![CDATA[<p>&ldquo;<a id="s_8i" href="http://97-things.near-time.net/">软件架构师应该知道的97件事</a>&rdquo;旨在&ldquo;为全世界的软件架构师提供洞察力和指导&rdquo;：每条公理都是给软件架构师的一条建议，内容从维护场景到与合作者沟通。有时间我将逐个翻译一下</p>
<h1 class="bigprint" id="top_head_title" align="left">1 Don't put your resume ahead of the requirements</h1>
<p>As engineers we sometimes recommend technologies, methodologies and
approaches for solving problems because deep down we want to have these
on our resume and not because they are the best solution for the
problem. Such decisions very rarely result in happy outcomes.</p>
<p> 作为工程师，我们在解决问题时提出的技术、方法和方案时实际上是为了让自己履历上拥有更多的资本，而不是应为这是解决问题的最好方案，这样将往往很少能有成功的结果。
</p>
<p>The
best thing for your career is a long string of happy customers eager to
recommend you because you did the right thing by them and for the
project. This goodwill will serve you orders of magnitude better than
the latest shiny object in the latest shiny language or the latest
shiny paradigm. While it is important, even critical, to stay abreast
of the latest trends and technologies this should never happen at the
cost of the customer. It&rsquo;s important to remember that you have a
fiduciary duty. As an architect you have been entrusted with the
well-being of your organization and its expected that you will avoid
all conflicts of interest and give the organization your undivided
loyalty. If the project isn't cutting edge or challenging enough for
your current career needs then find one that is.</p>
<p>&nbsp;&nbsp; &nbsp; 工作中最好的事情是有很多用户因为你为他们的项目做了正确的解决方案而乐意推荐你，这样的好信誉比起会用最炫的<a class="bodytag" target="_blank" href="http://www.yeeyan.com/articles/tag/%E7%BC%96%E7%A8%8B"><i></i></a>语言要有益得多。虽说掌握最新的技术和发展趋势非常重要，甚至对非常关键，但是你应该牢记你的职责是为客户服务，需要为客户提供最好的解决方案，而不是牺牲客户的利益来提高自己的技术。作为一名架构师，组织非常信息你，并且期望你能够处理所有利益冲突，对公司也能够保持高度的忠诚。如果当前的项目对你职业生涯发展没有推进或者不具有挑战，那么最好的办法是去寻找一个满意的项目。</p>
<p><br />If you can't do
that and you are forced to be in such a project, then you and everyone
else will be happier using the right technology for the customer rather
than for your resume. It&rsquo;s often difficult to resist utilizing a
solution that is new and cool, even when it&rsquo;s inappropriate for the
current situation.&nbsp;&nbsp;</p>
<p>&nbsp; &nbsp; &nbsp; 如果你找不到合适的项目，并且被迫在这样的项目下工作，那么你和大家应该乐意使用正确度技术为客户提供解决方案，而不只是为了自己的履历拥有更多的技术。即使当当前形式不利于使用新的或者酷炫的技术时，抵制利用这些带来的诱惑也是比较难的。</p>
<p><br />With the right solution, the project will
have a happier team, a happier customer and overall far less stress.
This will often give you time to go deeper into the existing older
technology or to learn the new stuff on your own time. Or to go take
that painting class you always wanted to do. Your family will love you
for it, too - they'll notice the difference when you get home.</p>
<p>&nbsp;&nbsp; &nbsp; 使用正确的方案，项目将有一个快乐的团队和满意的客户，大家也感觉不到什么压力，这可以让你有更多时间深入精通已有技术或者有更多自己的时间去学习新的技术，甚至有时间去参加绘画兴趣班，当你回家时你的家人也能感觉到你的变化，并更喜欢你这样。</p>
<p>&nbsp;</p>
<p>Overall always put the customer's long-term needs ahead of your own short term needs and you won't go wrong.</p>
<p>
&nbsp;&nbsp; &nbsp; 总的来说，牢记用户的长期利益高于你个人的短期利益是不会有错的。</p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1419463.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>代码、口头交流与文档都很重要！</title><link>http://www.cnblogs.com/zhoujg/archive/2009/02/02/1382668.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Mon, 02 Feb 2009 12:26:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/02/02/1382668.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1382668.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/02/02/1382668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1382668.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1382668.html</trackback:ping><description><![CDATA[<p>　　《<b>领域驱动设计</b>》书中在<span style="text-decoration: underline;">书面的设计文档</span>小节中讲到：每个敏捷过程对于文档编写都有自己的原则，极限编程提倡不适用额外的设计文档，让代码自己来表达含义，但将代码作为设计文档有他的局限性。会使读者负担过多的细节问题。尽管代码的行为是明确的，但并不意味着是明显的。一个行为背后的含义会很难表达出来。团队内部大量的口头交流能够给代码阅读提供一些上下文环境的分析和指导，但也是暂时和局限的，并不只是开发人员需要理解模型。口头交流在语义上弥补了代码的太过细节的问题，但任何规模的团队还是需要能够提供稳定性和共享能力的书面文档，然而编写能够真正帮助团队生产优秀软件的书面文档是一个挑战。</p>
<p>　　我认为代码、口头交流和文档都很重要，我们不能绝对的站在任何一边。在敏捷过程中不能要求非常详细的文档，也不能误解敏捷开发而不要任何文档。《<b>敏捷文档</b>》描述了面对面沟通和文档的一些主要特点：</p>
<div>
<table style="height: 691px;" class="zeroBorder" id="slmz" width="636" border="0" cellpadding="3" cellspacing="0">
<tbody>
<tr>
<td style="text-align: center;" width="50%"><span style="font-size: large;">Face-to-face communication</span></td>
<td style="text-align: center;" width="50%"><span style="font-size: large;">Documentation</span></td>
</tr>
<tr>
<td width="50%"><span style="font-size: small;"><b>Direct interaction</b><br />Face-to-face communication allows<br />for quick question-and-answer<br />cycles. You ask something, someone<br />answers, you ask back on a specific<br />detail, you get a more precise<br />answer, someone else offers their<br />ideas and so on. Face-to-face<br />communication involves people in a<br />very direct way.</span></td>
<td width="50%"><span style="font-size: small;"><b>Self-determined pace</b><br />Different people grasp information<br />at different speeds. Many people<br />find they still have questions when a<br />discussion is over &ndash; questions they<br />didn&rsquo;t think of in the heat of the<br />debate. Documents, however, allow<br />people to read at their own pace,<br />going back and forth through the<br />material as they need to.</span></td>
</tr>
<tr>
<td width="50%"><span style="font-size: small;"><b>Non-verbal communication</b><br />People don&rsquo;t communicate through<br />words exclusively. A large part of<br />communication takes place in a<br />non-verbal way &ndash; through sound,<br />gestures and subconscious body<br />language. These things are possible<br />only through face-to-face<br />communication.</span></td>
<td width="50%"><span style="font-size: small;"><b>Introvert communication</b><br />While some people love to engage<br />in debate, others don&rsquo;t. Introverted<br />people are sometimes painfully<br />silent during discussions, though<br />they may have a lot to say. They<br />have their say more easily when<br />they are given the chance to write<br />things down, as this allows them to<br />have second thoughts and take time<br />to reflect.</span></td>
</tr>
<tr>
<td width="50%"><span style="font-size: small;"><b>Personal involvement</b><br />Talking to each other means getting<br />to know each other. Building trust<br />happens much faster among people<br />who are in the same room than<br />among people who communicate<br />through writing only.</span></td>
<td width="50%"><span style="font-size: small;"><b>Scalability</b><br />Documents can be made widely<br />available. You can address an almost<br />unlimited number of people at a<br />time. Moreover, documents can<br />reach the members of a distributed<br />team &ndash; people working in different<br />places.</span></td>
</tr>
<tr>
<td width="50%"><span style="font-size: small;"><b>Fast availability</b><br />In a well-organised project, there<br />are Experts In Earshot (Cockburn<br />1998) readily available for<br />answering questions you may have.<br />Discussions can come up on the<br />spur of the moment. Documents<br />may be available as well, but time<br />goes by until documents are written<br />and made available.</span></td>
<td width="50%"><span style="font-size: small;"><b>Long-term availability</b><br />Once a project reaches its end the<br />team disperses &ndash; experts may no<br />longer be available. The software,<br />however, will still need maintenance<br />or even refactoring. Only written<br />documents are available beyond the<br />limits of the actual project.</span></td>
</tr>
</tbody>
</table>
</div>
<p><br />　　通过以上对比可以发现，面对面沟通和文档并不是对立的，而是互为补充的，就像我们读书学习一样，我们需要从书本和老师的授课中学习。</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1382668.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>The Model Driven Software Network </title><link>http://www.cnblogs.com/zhoujg/archive/2009/01/31/1381521.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Sat, 31 Jan 2009 02:37:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/01/31/1381521.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1381521.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/01/31/1381521.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1381521.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1381521.html</trackback:ping><description><![CDATA[<pre><span style="font-size: medium;">国外的</span><span style="font-size: medium;">一个</span><span style="font-size: medium;">模型驱动软件开发的讨论社区</span>，<span style="font-size: medium;"><a id="application_name_header_link" href="http://www.modeldrivensoftware.net/">The Model Driven Software Network</a></span><br /><span style="font-size: medium;">这个社区讨论的都是模型驱动开发相关的话题，虽然建立不久，但加入的人越来越多，建立群组的是</span><a href="http://blog.software-acumen.com/  "><span style="font-size: medium;">Mark Dalgarno</span></a><span style="font-size: medium;"><br />以下是一些讨论:</span></pre>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/textual-v-graphical-models" _snid="2573822:Topic:1147">Textual v Graphical models</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/what-is-the-best-open-source" _snid="2573822:Topic:975">What is the best open source MDD code generation tools ?</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/what-about-pragmatic-approach" _snid="2573822:Topic:978">What about pragmatic approach to model driven development?</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/book-recommendations-on-mdsd" _snid="2573822:Topic:789">Book Recommendations on MDSD and complementary areas</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/advocating-model-driven" _snid="2573822:Topic:547">Advocating Model Driven Software Development</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/modeldriven-development-is" _snid="2573822:Topic:707">Model-Driven Development is dying - discuss</a></h3>
<h3><a href="http://www.modeldrivensoftware.net/forum/topics/how-can-we-make-this-succeed" _snid="2573822:Topic:68">How can we make this succeed?</a></h3><img src ="http://www.cnblogs.com/zhoujg/aggbug/1381521.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47951/" target="_blank">Debian无视GNU创始人警告 接受Mono</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>DSL应用的优点</title><link>http://www.cnblogs.com/zhoujg/archive/2009/01/11/1373642.html</link><dc:creator>快乐学习</dc:creator><author>快乐学习</author><pubDate>Sun, 11 Jan 2009 05:59:00 GMT</pubDate><guid>http://www.cnblogs.com/zhoujg/archive/2009/01/11/1373642.html</guid><wfw:comment>http://www.cnblogs.com/zhoujg/comments/1373642.html</wfw:comment><comments>http://www.cnblogs.com/zhoujg/archive/2009/01/11/1373642.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhoujg/comments/commentRss/1373642.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhoujg/services/trackbacks/1373642.html</trackback:ping><description><![CDATA[<p>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 12" />
<meta name="Originator" content="Microsoft Word 12" />
Visual Studio DSL工具特定领域开发指南是一本专门介绍微软DSL工具的一本书籍，其中介绍了应用DSL可以带来如下一些优点：<br /><br />1. 让我们有能力在问题空间工作，避免以往用通用语言表述问题容易犯的一些错误，降低了犯错的机会<br />2. 通过在问题空间工作，可以让不熟悉如何实现技术的人，包括商业人士，也能够更了解模型。<br />3. 使用DSL表达的模型，可以在问题空间这个较高的抽象层次进行验证，这意味着可以在开发周期的更早期发现因为理解和表述而造成的错误。<br />4. 可以用模型直接模拟一个解决方案，从而立刻得到关于模型适合性的反馈。<br />5. 可以用模型配置一个包含多种不同技术的实现过程，从而降低使用这些技术实现一个解决方案的技术难度和工作量。<br />6. 可以用模型生成其他模型，配置其他系统、网络和产品，或许还可以配合别的技术（例如向导）一起使用。<br />7. 特定领域语言提供特定领域的API来操作它的模型，从而提高开发效率。<br />8. DSL产生的工作单元不一定是技术实现的工作单元，一个合适的模型可以用来生成构建脚本、订单、文档编制、原料清单、计划或法律合同的框架。<br />9. 一个模型中具备了重要的业务知识，将解决方案从一种技术迁移到另一种技术，或在同一技术的不同版本之间迁移，就变的相对容易。一般通过适当修改生成器或解释器就可以做到。<span></span></p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhoujg/aggbug/1373642.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47950/" target="_blank">iPhone 3GS首发日创AT&T多项纪录</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>