in

SDT Community Server

SDT Forums, Blogs, Photos server.

Floating Heart

No description is bad.

September 2007 - Posts

  • 不能说的秘密

    词:方文山 曲:周杰伦
    不能说的秘密电影主打

    冷咖啡离开了杯垫
    我忍住的情绪在很后面
    拼命想挽回的从前
    在我脸上依旧清晰可见
     
    最美的不是下雨天
    是曾与你躲过雨的屋檐
    回忆的画面 在荡著秋千
    梦开始不甜
     
    你说把爱渐渐放下 会走更远
    又何必去改变 已错过的时间
    你用你的指尖 阻止我说再见
    想像你在身边 才完全失去之前
     
    你说把爱渐渐放下 会走更远
    或许命运的签 只让我们遇见
    只让我们相恋 这一季的秋天
    飘落后才发现 这幸福的碎片
    要我怎麼捡

    Posted Sep 24 2007, 11:36 AM by wicky with 1 comment(s)
    Filed under:
  • Achieving Backward Compatibility with .NET Interop: Excel as Case Study

    http://www.devcity.net/PrintArticle.aspx?ArticleID=163

    Using the Type Library
    BLOCKQUOTE { FONT-STYLE: italic } CAPTION { COLOR: #666666; FONT-STYLE: italic } OL { font-weight:bold; line-height:1.5; } UL { font-weight:normal; } TABLE.mine { BORDER: #b6c5e6 1px solid; MARGIN: 10px; WIDTH: 75%; BACKGROUND-COLOR: #dfe7ee } TD { COLOR: #666666 } TH { FONT-SIZE: 12pt; COLOR: #ffffff; BACKGROUND-COLOR: #9fb6ca } PRE { BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; MARGIN: 0px; BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid; FONT-FAMILY: Courier, System, Terminal } .item { FONT-WEIGHT: bold }

    Problem: COM Automation across multiple COM versions

    Microsoft Visual Studio .NET makes linking to COM components extremely easy. You simply right click "References" in the Project Explorer, and Add New Reference. You can then browse through the available .NET Assemblies and COM components to find the code library you wish to automate. Every COM interface available on the machine is described by a Type Library (commonly held in a TLB file, and referenced by a CLASSID in the Registry). When you add this reference to your project, the type library is wrapped with a .NET Interop assembly that allows you to use the COM interface at design-time, and then handles the calls to COM at run-time. When type libraries exist with multiple versions, this can complicate your life significantly.

    Case: Microsoft Excel


    The Add Reference dialog shows Excel 11.0 Object Library when Excel 2003 installed

    As an example, we will look at Microsoft Excel. Depending on which version of MS Excel is loaded on the machine on which your project is compiled, you will get a different Interop created. If the project is then deployed to a machine with a different version of Excel, you can expect to run into problems. Microsoft has kept Office backward compatible for a few generations so you can expect most previous functionality to be available still in Office 2003 (aka 11.0). In a Production environment that spans multiple versions of office, however, you may still run into errors, because the structure of type libraries and how they are linked in the registry has changed. The PIA (Primary Interop Assembly) concept further complicates .NET deployment where backward compatibility is concerned.

    [Visual Basic]
        Sub FillRange(ByRef rng As Excel.Range, ByVal iLength As Integer, ByVal iWidth As Integer)
            Dim saRet(iLength, iWidth) As Object
            ' ... fill array with values
            rng = rng.Resize(iLength, iWidth)
            rng.Value = saRet
        End Sub
    
    VB code assigns a 2-dim String array to the Value property of an Excel.Range object

    [System.Runtime.InteropServices.COMException] -2147352559 (80020011) Does not support a collection.
    The above code produces this error when compiled on an Excel 2003 machine and run on Excel 2000

    Generally, you can only install a single version of Office on a particular PC; various CLASSIDs that represent objects in the application are thus "installed", or "registered" to trigger this version. When a subsequent version is installed on the machine, previous versions are overwritten. Hence, Visual Studio will always only find one version to which it can link. In the case of PIAs, VS.NET will find a copy with a strong name, in the GAC, and hence will not even make an Interop assembly. Surprisingly, even if you explicitly link to a particular Type Library, VS.NET will override your reference and use the registered version.

    Solution

    You will find three distinct methods suggested to work around these problems:

    1. Build your project on different machines for compatibility with each respective version of Office.
    2. Install different versions of Office on your build machine (How-to).
    3. Use "Late Binding" to call whatever version of Office is available at run-time

    Here, I suggest a fourth method: build to the lowest common denominator.

    NOTE: Although this strategy was suggested by MS Support in Writing Automation Clients for Multiple Office Versions, it does not work with VS.NET 2003/5 and Excel 2003. VS.NET now updates all Interop references to match ActiveX libraries installed in the Registry--any manually created reference to an unregistered version is overwritten at compile time (except by the steps outlined below). MS Support now recommends one of the above 3 approaches. In fact, when I suggested this as a feature for the VS 2005 Beta version, it was deemed too complicated and excluded "By Design". The steps outlined below are surprisingly simple.

    Find the lowest version with which the project will need to work in the Production environment and build to this. For advanced functionality only available on later versions this method can be extended--providing multiple Interop assemblies that will work in parallel. Additionally, this does not rely on having a particular version of the type library installed on the build machine--nor any version at all, for that matter. It does, however, require that you have access to the Type Library files in the version against which your project will build.

    Step-By-Step

    In order to build my project against Excel 2000, on a machine that has only Excel 2003 installed, I performed the following steps:

    1. Locate the Excel 9 (2000) Type Library
      • Normally, type libraries are named *.TLB
      • After a little googling, however, I found that the Excel 9 type library is called EXCEL9.OLB
      • I quickly found the EXCEL.OLB file on my (fully licensed and registered!!!) Office 2000 installation CD.
    2. Copy the Excel 9 Type Library to the build machine
    3. Create an Interop Assembly from the Excel9 Type Library
      • Choose a unique name that will distinguish YOUR Interop DLL from others that may be found
      • Use the .NET SDK Tool called TLBIMP.exe to build your Interop Assembly from the command line

       @echo off
       SET prog="C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\TlbImp.exe"
       %prog% EXCEL9.OLB /out=My.Excel9.Interop.dll
       pause
      
      DOS Batch commands to create the explicit Interop DLL using the TlbImp tool provided with the .NET SDK

    4. Link this new Interop Assembly to the VS.NET project, and build
      • Set the "Private" (aka "CopyLocal") property to True


      Browse... to the new Interop DLL in the Add Reference dialog

    5. Update code to reference the new Interop Library
      [Visual Basic]
          Sub FillRange(ByRef rng As My.Excel9.Interop.Range, ByVal iLength As Integer, ByVal iWidth As Integer)
      
    6. Deploy this Interop Assembly in the \bin directory along with the project
      • Your project will now work on any machine with Office 2000 or higher

    References

    .NET Framework Tools : Type Library Importer (Tlbimp.exe)
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrftypelibraryimportertlbimpexe.asp

    INFO: Writing Automation Clients for Multiple Office Versions
    http://support.microsoft.com/kb/q244167

    Working with the Office XP Primary Interop Assemblies
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnoxpta/html/odc_oxppias.asp

    Office XP Primary Interop Assemblies Known Issues
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnoxpta/html/odc_piaissues.asp

    Official Office 2003 Interop PIAs
    http://support.microsoft.com/?scid=kb;en-us;897646&spid=2525&sid=global

    INFO: Develop Microsoft Office solutions with Visual Studio .NET
    http://support.microsoft.com/kb/q311452/

     

     

    Posted Sep 22 2007, 08:52 AM by wicky with no comments
    Filed under:
  • CMSDK: Create Extended Attribute in program


        //sdt.wicky.test.start
        ifsSession.setAdministrationMode(true);
        AttributeDefinition ad = new AttributeDefinition(ifsSession);
        ad.setAttribute("NAME", AttributeValue.newAttributeValue(Constants.ATTRIBUTE_ORIGINALID));
        ad.setAttribute("DATATYPE", AttributeValue.newAttributeValue(Attribute.ATTRIBUTEDATATYPE_LONG));
        ClassObject co = ClassObject.getClassObjectFromLabel(ifsSession, "DOCUMENT");   
        co.addAttribute(ad);
        //sdt.wicky.test.end


     

    Posted Sep 14 2007, 03:40 PM by wicky with no comments
    Filed under:
  • 如何转换java.util.Date到java.sql.Date

    java.sql.Date sd;
    java.util.Date ud;
    //initialize the ud such as ud = new java.util.Date();
     
    sd = new java.sql.Date(ud.getTime());
     
    如果要插入到数据库并且相应的字段为Date类型
    那么可以用PreparedStatement.setDate(int ,java.sql.Date)方法
    其中的java.sql.Date可以用上面的方法得到
     
    也可以用数据库提供TO_DATE函数
    比如 现有 ud
    TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),
    "YYYY-MM-DD HH24:MI:SS")
    注意java中表示格式和数据库提供的格式的不同

     

    Posted Sep 13 2007, 04:10 PM by wicky with no comments
    Filed under:
  • 关于提取住房公积金有关问题的通知

    http://www.gdgjj.gov.cn/ViewMessage.aspx?ColumnID=276&MessageID=56831

    [广州]关于提取住房公积金有关问题的通知(穗公积金管委会〔2003〕1号)
    2006-12-04 下午 21:12:50   点击数:4776

    关于提取住房公积金有关问题的通知 
    (穗公积金管委会〔2003〕1号)

    各住房公积金缴存单位:
      为加强住房公积金管理,维护住房公积金缴存者的合法权益,根据国家、广东省、广州市的有关规定,现就职工提取住房公积金的有关问题通知如下:
      一、职工有下列情形之一的,可以申请提取住房公积金账户内的存储余额:
      1.购买、建造、翻建或大修具有所有权的自住住房的;
      2.偿还购房贷款本息的;
      3.租房自住的;
      4.离休、退休(或达到法定退休年龄)的;
      5.完全丧失劳动能力,并与所在单位终止劳动关系的;
      6.出境定居的;
      7.非本市户口职工与单位终止劳动关系的;
      8.户口迁出本市,并与所在单位终止劳动关系的;
      9.下岗、失业人员,男性45岁(含45岁)、女性40岁(含40岁)以上,且连续下岗、失业12个月以上的;
      10.职工死亡或被宣告死亡,其继承人、受遗赠人申请提取职工住房公积金账户内存储余额的。
      依照上述1-3项提取的,提取金额保留到十位整数;依照4-10项提取的,需同时注销职工住房公积金账户。
      二、职工申请提取住房公积金,按以下程序办理:
      (一)申请时间
      1.非按揭购买自住住房的,在支付房款后两年内提出申请,以后每半年提取一次,至提取额达到实际支付的购房款。
      2.偿还购房贷款本息的,在还款期内提出申请,以后每半年提取一次,至提取的住房公积金总额达到实际支付的首期房款和已偿还贷款本息之和。
      3.建造、翻建、大修自住住房的,在批文有效期内提出申请,只能申请提取一次,且所提取的住房公积金总额不能超过建造、翻建、大修自住住房的费用。
      4.租房自住的,在租赁合同期内提出申请,以后每半年提取一次,至提取的住房公积金总额达到实际支付的房租。
      (二)提取程序
      1.符合上述规定的职工到住房公积金开户银行领取并填写提取申请表,持有关证明材料到开户银行办理审核手续。
      2.购买自住住房、偿还购房贷款本息或者租房自住的,办理第一次审核后,由开户银行发给《广州市住房公积金提取登记证》,以后凭《广州市住房公积金提取登记证》办理提取手续。
      3.原单位撤销、解散或者破产的,职工住房公积金在上级主管部门托管的,职工提取住房公积金时,由上级主管部门核实并加具意见后,持有关证明材料到开户银行办理审核手续;无上级主管部门,且职工住房公积金在广州市住房公积金管理中心托管的,持有关证明材料到广州市住房公积金管理中心办理审核手续。
      三、申请提取住房公积金的职工,需提交以下证明材料:
      (一)非按揭购买自住住房的,提供以下证明材料:
      购买一手楼的,首次提取时,提供购房合同(或预售契约)、购房发票(或收据)、身份证原件及复印件一份;以后提取时,提供《广州市住房公积金提取登记证》、提取人身份证原件。
      购买二手楼的,首次提取时,提供房地产权证、契税完税证、身份证原件及复印件一份;以后提取时,提供《广州市住房公积金提取登记证》、提取人身份证原件。
      征地补偿购买增大住房面积的,首次提取时,提供房屋拆迁安置协议、购买增大住房面积发票、身份证原件及复印件一份;以后提取时,提供《广州市住房公积金提取登记证》、提取人身份证原件。
      (二)偿还购房贷款本息的,首次提取时,提供与银行签订的借款合同、身份证原件及复印件一份;以后提取时,提供《广州市住房公积金提取登记证》、提取人身份证原件。
      (三)建造自住住房的,提供镇(乡)以上城建部门同意用地证明(或房地产权证)、镇(乡)以上规划部门同意建房的批文、购买建筑材料发票(或收据)、身份证原件及复印件一份。
      翻建自住住房的,提供镇(乡)以上城建部门同意翻建的批文、房地产权证、购买建筑材料发票(或收据)、身份证原件及复印件一份。
      大修自住住房的,提供镇(乡)以上房屋安全鉴定机构出具的房屋安全鉴定证明、房地产权证、修缮费用发票(或收据)、身份证原件及复印件一份。
      (四)租房自住的,首次提取时,提供租赁合同(指经房管部门登记备案的合同或与单位签订的公房租赁合同)、房租发票(或收据)、身份证原件及复印件一份;以后提取时,提供《广州市住房公积金提取登记证》、提取人身份证原件。
      (五)离休、退休的,提供离、退休证和身份证原件及复印件一份。
      达到法定退休年龄的,提供身份证原件及复印件一份。
      (六)完全丧失劳动能力,并与所在单位终止劳动关系的,提供市以上医院证明、职工与所在单位终止劳动关系的证明、身份证原件及复印件一份。
      (七)出境定居的,提供签证和护照原件及复印件一份。
      (八)非本市户口职工与单位终止劳动关系的,提供职工与所在单位终止劳动关系的证明、身份证原件及复印件一份。
      (九)户口迁出本市,并与所在单位终止劳动关系的,提供户口迁出证明、职工与所在单位终止劳动关系的证明、身份证原件及复印件一份。
      (十)失业(或下岗)人员,男性45岁(含45岁)、女性40岁(含40岁)以上,且连续失业(或下岗)12个月以上的,提供失业证(或下岗证)、身份证原件及复印件一份。
      (十一)职工死亡或被宣告死亡的,其继承人或受遗赠人需提供户口簿、提取人身份证、经公证机关公证的合法继承身份证明原件及复印件一份。
      本人不能亲自办理提取,委托他人办理的,需提供经公证机关公证的委托书及职工本人、受委托人身份证原件及复印件一份。
      发生上述(一)、(二)、(三)项情形的,对购买、建造、翻建或大修的房屋拥有所有权的家庭成员可以提取本人住房公积金账户内的存储余额,但所提住房公积金总额不得超过购买、建造、翻建、大修自住住房的费用或偿还购房贷款本息。在申请提取本人住房公积金账户内的存储余额时,需提供产权证明(配偶需提供结婚证或户口簿)及上述有关证明材料。
      本通知自发布之日起施行,以前文件凡与本通知相抵触的,以本通知内容为准。

     

                                             广州市住房公积金管理委员会
                         二○○三年九月三十日

    (来源:广州住房公积金网)
    Posted Sep 13 2007, 09:55 AM by wicky with no comments
    Filed under:
  • 正则表达式30分钟入门教程

    Posted Sep 07 2007, 08:14 AM by wicky with no comments
    Filed under:
  • Word中输入分数的方法

    http://www.shuxueweb.com/wlzy/hybz/hy/200411/3281.html

    在小学数学试卷中,特别是六年级数学试卷中,经常涉及到分数。常用的输入分数的方法是用Word中的公式编辑器,但效果并不尽人意,而且遇到如的分数时,好像无法用公式编辑器打出来。在这里,我向各位同仁介绍一种方法,用“域”。具体方法如下:①在Word中,在需要分数的地方,单击“插入”菜单,选择“域(F”。②在类别中选择“等式和公式”,再在域名中选择“Eq”。③单击“选项(O”按钮,在选项开关中选择“\F(,)”,单击“添加到域(A)”,再确定。
        这时在文档中可能还看不到分数,这时因为域代码没有显示出来,只要同时按下“
    Alt+F9”就可以转换成域代码{EQ\F(,)},这时只要在代码中的逗号前输入分子,逗号后输入分母,分子、分母可以是数字、字母,也可以是括号。这时的分数还是代码,只要同时按下“Alt+F9”就可以转换成分数的形式。


        当然,如果每输入一个分数都要用这种方法,也比较麻烦。所以,经过摸索,我又想出了“自动更正”的方法。具体方法如下:首先按上述方法插入一个分数(不输入分子和分母),再选定这个分数,单击“格式”菜单,选择“自动套用格式(A”,单击“选项(O”按钮,选择“自动更正”,在“替换”栏中输入你自己想设定的内容,如“F”,再单击“添加”按钮,最后确定。这样,输入分数时,只要输入“F”,按一下空格键,再转换域代码,输入分子分母,就可以了。

     

     

    Posted Sep 06 2007, 03:04 PM by wicky with 3 comment(s)
    Filed under:
  • OracleAS 10g Upgrade Paths

    Please refer to attached file.

     

    Posted Sep 05 2007, 03:17 PM by wicky with no comments
    Filed under:
  • WinAMP电台方案

    音色似乎好很多~

    Sample: http://wicky2007:8000

     

    Posted Sep 04 2007, 10:36 AM by wicky with 2 comment(s)
    Filed under:
  • 如何组织高效的项目会议

    http://www.mypm.net/bbs/Article.asp?ntypeid=5005&titleid=47741&page=1

    如何组织高效的项目会议

    1. 概要
    项目会议是项目经理沟通项目信息、跟踪项目进展、制定项目计划、形成项目决策、解决项目冲突、进行项目跟踪的有效手段。通过举行项目会议,项目经理可以与项目管理团队、职能部门经理、项目组成员及客户相关干系人进行充分而有效的沟通,从而为集思广益,博采众长,充分听取各方面意见,提高项目团队士气、进行项目决策、解决项目冲突奠定坚实的基础。
    在软件行业,文山会海似乎是很正常的事,如果不能高效地组织项目会议,不仅不能合理地利用会议的各种功能,反而会带来很多种负面效用。因此,高效项目会议的重要性是不言而喻的。以下就和大家聊一聊,如何组织高效的项目会议。

     

    2. 表象
    不知道你是否遇到过以下现象,或者应该说是遇到过多少种如下的各种现象:

    刚收到一封新邮件,说二十分钟后要在XXX会议室开XXX会;
    一个很重要的会议,你很想参加,却因为有更重要的事情,不得不放弃;
    会议开了半天,竟不知道会议所云……;

    会议与你相关的内容不到5分钟,你却不得不等上二小时,会议结束后才能归位;
    开会时间已过点,所到人员却寥寥无几,会议发起人不得不出去挨个地找人;
    参会人员已到齐,却因为一个重要参与人员不在,要等上半小时甚至更长时间;
    会议中,几个人争得不可开交,另几个人却聊起了中午去哪吃饭的事情;
    会议上,领导讲得兴起,滔滔不绝,眼看就过了吃中饭的时间,无赖他还兴致未尽;
    会议开到一半,发言人手机响了,于是接了半天的电话,大家等着干着急;
    原定一个小时的会议,结果三个小时还没结束;
    会议一开就是好几个小时,却没有任何结果;

    几个小时时间的会议结束了,会后什么也没留下;
    会上安排的任务,会后没有人去跟踪和落实;
    ……

    以上各种表象看似杂乱无章,其实是按会前准备、会中控制和会后跟踪三个过程来整理的。其中前三种现象是由于会前准备不足、中间八种现象是由于上中控制不够、最后二种现象是由于会后没有人跟踪而导致。这样的比重分配也是符合会议各过程相对重要性的分配的。

    以上各种低效甚至无效会议的表象,不知道你们遇到过多少这样的现象?但悲哀的是,以上情况我统统都遇到过。所以,才发这篇贴子,和大家一起交流如何组织高效的项目会议,以抛砖引玉,引发大家的思考和讨论……

    3. 成本

    我们常常开会,也常常组织会议,但很少有人去关注会议的成本。如果计算出会议的成本给你看看,也许会让你大吃一惊。如果以前没有关注过会议成本话也不要紧,现在来开始关注还不算太迟。那么,我们现在来了解一下会议的成本究竟有多高。

    3.1 会议成本组成部分

    会议成本是由三部份组成的,即会议工时成本、会议直接成本和效益损失成本。其实还有一些其它成本,但不是很高,也无法一一列举,我们姑且不予考虑。会议的成本是如何计算出来的?我们先来了解一下会议成本各组成部分的计算方法,也就知道会议的实际成本了。

    3.1.1 会议工时成本
    会议工时成本:是由于参与人员在参加会议时,占用了工作时间而发生的工时成本。工时成本的计算方法为:会议工时成本=参会人员平均月薪/月工作日/日工作小时数*薪资附加值系数*会议小时数*(参会人数+2)。
    在给出计算会议工时成本计算公式后,现在要来介绍一下这个公式所用到的参数了。由于“参会人员平均月薪/月工作日/日工作小时数”=参会人员平均小时工资,所以将上公司简化为:会议工时成本=参会人员平均小时工资*薪资附加值系数*会议小时数*(参会人数+2)。
    IT行业的薪资附加值系数一般为1.5到2左右,因公司的管理水平、福利条件及办公环境和位置等相关因素的不同,这个系数的大小会有一些细小的差异,但相差不会太大。一般不会超过2,但也不太容易小于1.5。其实,这个系数值是每个公司的财务都是知道的,每个老板也都心知肚明的,只是不说出来罢了。
    最后要解释一下,为什么参会人数还要加上2。原因其实很简单,因为会前的准备和会后写会议纪要等工作至少要花费2个人力的参会时长的相同时间。所以在这个计算方法中,要把参会人数再增加2。

    3.1.2 会议直接成本
    什么是会议直接成本呢?会议直接成本是由于开会时所要用到的会议室场所、投影仪设备、音视频会议设备及其它相关会议设备而发生的成本。
    会议直接成本计算方法也很简单,就是会议所用到会议室和全部相关设备的成本之和。所以,关于会议直接成本本文不作详细叙述。

    3.1.3 效益损失成本
    效益损失成本是什么?由于参会人员因为要参加会议,而不得不中断原来计划的工作。试想,如果不用参加会议的话,哪这部分参会时间的工作是可以为公司带来效益的,而因要参加会议,这部份工作的收益就因会议而损失掉了,这就是效益损失成本。同时,因为你要参加会议,其他人就暂时找不到你了,因此而带来的损失也要算入会议成本的,为简单起见,我们将这部份成本也算入到效益损失成本中。
    效益损失成本说说容易,但不好量化,而且计算困难。所以,只能用参数来模来进行估算,虽不能很精确,但也不会偏差太大。最简单的算法是:效益损失成本=相同工时的人工成本*1.5。为什么还要乘1.5呢?很明显,效益损失成本应该大于相同工时的人工成本,对不对?不能的话,老板们挣什么呢?老板们挣的不就是员工的产出与实际工时成本之差么!

    3.2 会议成本计算方法
    在了解以上三个会议成本组成部分的计算方法后,会议成本的计算方法也就出来了,只要将三者的和相加就是会议成本。即:会议成本=会议工时成本+效益损失成本+会议直接成本。将以上的公式合并后,就是会议成本的计算公式了。
    即:会议成本=参会人员平均小时工资/*新资附加值系数*会议小时数*(参会人数+2)*(1+1.5) +会议直接成本。

    3.3 会议成本举例

    为了很清楚地了解会议成本,我们举一个例子,来算算会议的成本究竟是多少?假设:要组织一个8个人参加的项目会议,会议时长2小时,会议要用到投影设备。人均工时成本为40元/小时(在IT行业,应该差不多吧),薪资附加值系数为1.8,会议室的使用成本为150元每小时,投影的使用成本为100元每小时(如果租过会议室,就知道这个价格并不算贵了)。
    这样的会议,应该IT行业应该是司空见惯的了吧,好了,按照会议成本计算公式,我们来算一算这个会议的实际成本是多少?
    会议成本=40*1.8*2*(8+2)*(1+1.5)+(150+100)*2 =4100元。
    好了,现在我们知道了,开一个由8个人参的2小时的会议,成本竟然要 超过4000元,比想象中的要高出不少吧!

     

    4. 过程

    一个项目会议,可以分解为哪几个过程呢?我们还是按照就简原则,把会议简单地分为“会前准备”、“会中控制”和“会后跟踪”三个主要过程。然后,逐一阐述每一个会议过程的具体事项和内容。

    4.1 会前准备

    在一个会议的会前准备过程中,我们需要做好七件事,即:明确会议目标、确定的参与人员、选择适当的会议时间和会议时段、安排合适的会议时长、明确会议议题、准备充足的会议资料并及时发送正式的会议通知。

    4.1.1 明确的会议目标
    明确的会议目标是有效会议的前提条件。这是显而易见的,不用我说大家都明白。项目管理本身就是以目标为导向的。项目会议也是相同的道理。有一个明确的目标才能召开会议的必要性,这是会议发起人的首要考虑的因素,否则最好不要开会。因为这种会议除了浪费大家的时间、精力和金钱外,基本上不会有多大的作用。甚至还会引起很多副作用:比如降低团队的凝聚力,使大家心生怨倦感,成为矛盾的触发点等。

    4.1.2 确定的会议参与人员
    一个会议,需求哪些人参加呢?这也是会议发起人要慎重考虑的,会议的召开,并不是人越多越好的。人多不仅会增加会议成本,延长会议时间,也会增加扯皮的可能性,不容易形成一致的会议结论,也不利于会议控制。必竟,人多嘴杂嘛!
    因此,会议的参与人员,应该和会议密切相关。如果不是必要的人员,最好不要让他们参加会议,即避免浪费他们的时间,也好节约时间成本。
    还有一种情况,就是和会议和某人相关,但关联的时间非常短,比如只有五到十分钟的内容是和他相关的,其余时间和他没有什么关系。这种情况该如何处理呢?如果遇到这种情况,可以考虑开会时先讲和他相关的内容,相关内容结束后,可以让他自愿选择离开还是继续旁听。

    4.1.3 适当的会议时间和时段

    一个会议,总是需要多人参与,问题是,每个人都有自己的事,大家都很忙,即便不忙也会装出很忙的样子嘛!不是你随便选一个时间,大家有都有时间参与的,如果重要人员不能参与,必然导致会议效果大打折扣,甚至因不能召开而延期。
    为了避免这种情况的发生,在会议召开前,一定要先和大家沟通好会议召开的合适日期,确保会议能如期召开后,再发会议通知也不迟。
    也许大家会觉得这种做法很浪费会议发起人的时间,确实如此。但这些看似被浪费的时间却有其应有的价值。因为不这么做,将会浪费更多人的时间,浪费更长的时间。
    还需要注意的是,在和大家沟通前,尽量能提前一些,好让大家能事前能安排好自己的时间和事情。在得到大家同意的情况下,再敲定会议召开日期,就不容易有变挂的情况发生了。如果有人没有安排好自己的工作而不能准时参加会议时,也没有合适的借口了。
    确定好了会议日期,我们再来说说会议时段的问题。什么时段比较适合开会呢?要解答这个问题,我们还是先来看看不适合开会的时段吧。
    早上9点刚刚上班,有些人可能还没有完全睡醒呢。此时开会显然不合时宜,何况还有人会因此堵车而迟到的。中午12点呢,我想此时大家都已肚子空空了,谁还有力气去思考问题呀!哪下午1点怎么样?此时,大家刚好吃饱饭。我想大家都知道,人吃得太饱了,由于胃的消化压力增大,要消耗大量的血液和氧气,不少人脑子此时正缺氧呢!即便想思考也心有余而力不足了。显然也不是开会的好时段。而下午五点半,大家劳累了一天,谁不想第一个冲回家呢?
    好了,以上时段都被排除了,哪乘下的时段总应该不会错了吧!根据个人的经验,我认为上午十点到十二点和下午二点半到四点半是比较合适开会的时段。因为在这个时段,大家都已进入正常的工作状态中,且精力充沛,应该是最佳的开会时段了。因此,如有可能的话,会议尽量放在这个时间段来召开。

    4.1.4 合适的会议时长
    一个会议的时长,通常是要根据会议的内容来确认的。短则半小时搞定,长则几个小时。但据调查和研究发现,开会的最佳时长为一个半小时,最长不要超过二小时。但凡会议超过二小时,大家的精力、注意力和反应能力都会有明确的下降。因此,如果不是必须,会议的时长最好不要超过二小时。

    4.1.5 明确的会议议题
    前面已经说了,会议要有明确的会议目标,这是召开高效项目会议的前提条件,而一个会议的目标通常可以为解成多个不同的议题来进行讨论和交流。因此,在召开一个会议前,会议的议题也应该是要非常明确的,和会议议题相关的人员也应该相对明确才对。当然,各会议的议题要根据会议本身的特性来分解,最后还要在会议结论处汇总起来,形成明确而有效的会议结论。

    4.1.6 充足的会议资料和会前准备时间
    在各类会议中,有一部分会议是要求会议参与人员事先研读会议材料的,参会人员需要对会议材料有充分的了解后,才能参与会议讨论和交流。对于这类会议,会议发起人应该事先将有关会议材料发给会议参与人员和相关的干系人。让参会人员有足够的时间来研读会议材料,并在对会议材料有一定的理解基础上,再来召开会议比较恰当。如有可能,还要事先去了解大家对会议材料掌握的程度,必要情况下,给予一定的督导。

    4.1.7  发送正式的会议通知
    以上准备工作都做好了,就该发送正式的会议通知了。会议通知不能太草率,不要发一个邮件,写上两句话就算完事。会议通知应该正式、规范。会议通知的内容应该包括会议名称、会议发起人、会议日期和开始时间、会议时长、会议主题、会议参与人员名单。会议议题和各个议题的时间估算等。详细信息参考附带“会议通知模板”。

    4.2 会中控制

    4.2.1 提前通知开会
    如果会前准备都做好了,接下来等着开会就行了。但在正式开会前,不要忘了提前通知大家。因为 有很多人还是很健忘的,提前十分钟到十五分钟左右,主动去跟参会人员说一声要准点开会,让他们有时间整理好手边的工作。如果公司有准时开会的习惯,这一步也许可以省略掉,但提醒一句总不会错。如果公司从没有这样的文化,哪这一步就无论如何也不应该省略掉。
    顺便提一句,如果大家习惯用Outlook任务提醒功能来发会议通知,这一步就真的可以省略了。

    4.2.2 做好开会准备
    在正式开会前,会议发起人通常有一些工作要做的,比如把投影设备调试好,把PPT准备好等。在会前,一定要确保做好了正式开会的所有准备。

    4.2.3 准时开始会议
    在以上工作都做到位后,就可以准时开会了。时间一到,准时开会吧!这时就不再去管谁没到了,哪是他们自己的事情,哪怕只有自己一个人,该怎么开还是要怎么开的,作为项目经理,要有这样的勇气。如果有人迟到,不管他前面有什么没有听到的,决不重复。切记,这点一定要坚持,不能就全功尽悴了。这么做的目的就是要强调准时开会的重要性。人的惰性大多都是好人贯出来的,我们可不要好心办坏事。这时候,不能心太软,该出手时就出手吧!

    4.2.4 控制每一个议题的时间
    前面已经提到过,会议的议题和每个议题的时间应该是明确的,这样做的目的就是要严格控制会议的时长,按每个会议议题而不是按整个会议来控制,这样更有效,更不容易超时。
    按时开会很重要,按时结束会议也同样重要,要等同对待。

    4.2.5 明确每个议题的结论
    在讨论每个会议议题时,都应该得到明确的议题结论。如果大家的意见无法达成一致怎么办呢?这里要特别说明一下,作为会议发起人,应该事先有准备好的默认议题结论。否则,这样的议题就不应该拿到会议上来讨论,而应该先和相关人员私下交流,得到可以接受的结论后,再召开会议讨论。如果会上能讨论出更好的结论当然更好,讨论不出更好的结论时,也不会无果而终。

    4.2.6 让参会人员有机会发言
    对于讨论性的议题,会议发起人要尽量让大家都有发言的机会。如果遇到比较沉默寡言的参会人员,会议发起人可以采用点名的方式来听取他的意见。发言人多了,时间控制就变得重要起来了,这个就要靠会议发起人自己来灵活把握了。

    4.2.7 避免语言表述理解误差
    在会上,可能有这样的情况:有些人技术水平不错,但言语表达能力方面可能有一定的欠缺。如果遇到这样的人在会上发言,其它人就不一定能听懂他的意思了。这时候该怎么办呢?这还得靠会议发起人自己努力听懂他的意思了。如果此人讲话实在难懂的话,还是用前面的方法,会前私下交流,了解清楚后再开会。会议发起人听明确后,再用简短的语句作总结。例如:你说的是……的意思,对吗?得到发言人的确认后,就说明没错了。这样做的好处就是能让大家都听明白,避免理解上存在歧义。其实,对于其它人的发言,会议发起人也能做这样的简单总结就最好了。

    4.2.8 提醒或中止过长的发言
    在会议中,可能会遇到很能神侃的人,一讲起来就没完没了。对于这种人,在他发言前会议发起人最好提醒他,发言时要尽量简明扼要,不要超时。如果时间快到还没有结论,就要发出警告了,还剩多久时间你的发言时间就到了!这也是避免会议超时要特别注意的地方。

    4.2.9 纠正离题的讨论
    在会议讨论中,常常会出现离题的讨论,这种现象应该很普遍的。该如何处理呢?当然还是要靠会议发起人了。会议发起人要集中精力,紧扣议题,不能被偏离议题的话题所误导。出现离题的讨论要及时中止。如:这个话题不在我们今天会议的讨论之列,如果需要,我们可以会后再组织专题讨论。如果会议发起人也人云亦云地加入到偏离的话题讨论中,这样的会议要开多久就难以预料了。

    4.2.10  不要忘记会议总结
    会议议题讨论完后,可能大家就要急着散会了,其实还是一件重要的事情给忘了,哪就是没有做会议总结。
    会议总结的时间也是在会议准备时就要预留好的。会议总结可以根据会议遗留时间而定,时间少就简明扼要一些;时间长的话,多说几句也无妨。
    在激烈的讨论结束后,用简明的会议总结来让大家冷静一下头脑,还是很有用的,也可以让大家加深对会议结论的印象。同时,也是锻炼总结能力的良好方法。

    4.2.11  准时结束会议
    好了,到现在为止,会已开完了,准时结束会议,就算大功告成了。

    4.3 会后跟踪
    会议结束后,真的就算全部完事了吗?其实还没有,会后的跟踪也是不能忘的。

    4.3.1 及时发送会议纪要
    会议开完后,最重要的就是会议纪要了,这是整个会议的产出。会议纪要应该在开完会后,尽快整理,这样不容易遗漏和产生偏差。会议纪要最好能在会议当天发送给相关的人员。如果当天无法完成,最迟发送时间尽量不要超过24小时,不能,其效果又要打折扣了。

    4.3.2 会议纪要资料备案
    会后形成的会议纪要,除了要发给相关人员外,最好能备案保存。以备将来需要时可以尽快查看,这也是知识积累的一部分。

    4.3.3 积极跟踪会议反馈
    会议结论已通过,大家是否有一致的行动呢?这一点,会上是看不到的,只能靠会后去跟踪和了解了,这就是会后跟踪反馈的作用了,它可以检验会上的结论是否得到有效的执行和落实。

    4.3.4 积极跟踪会议任务
    很多会议结束后,还会产生一些会议分布的任务,这也是需求进行跟踪的,和跟踪会议的反馈一样。需要会后去落实,只有按要求落实到位了,才是真真的有效果。

    5. 模板
    前面已多次提到会议通知和会议纪要。最后,提供一份个人用的会议通知和会议纪要的模板给大家参考,如果大家有更好的模板也可以共享出来。

    6. 习惯
    如何组织高效会议,应该把它当成一种习惯来培养。高效的项目会议无论对企业、对团队,对自己都是大有裨益的。
    我们虽然知道应该把组织高效的会议当成一种习惯平培养,但现实情况却未必能如我们所愿,很多IT企业是没有准时开会的习惯的。而造成这种的原因几乎都是受企业创始人的影响,并根深帝固,难以改变。
    不少老总为了体现自己权威性和重要性,常常更改会议时间,或是让其它人等他的到来才可以开始会议。这种坏影响决不仅仅是成本上的,其负面影响实在是难以估量。

    7. 结论
    一个会议的效果如何,主要是由项目发起人来决定的。我们不能用太绝对的词,因为会议效果也会受团队成员的素质和企业环境的影响。但用二八原则来解释其现象就比较适当了。即一个会议效果的好坏,百分之八十是由会议发起人决定的,另百分之二十的受人员和环境的影响。知道这个结论了,如果还不能组织有效的项目会议,作为项目经理的我们,就应该先好好自我反思了!

    文章最后,我们再来说一说,如果遇到企业创始人不重视会议,不准时参加,并影响到全公司的人员。这时我们该如何处理呢?

    我人意见是这样的。如果真遇到这样的老总,我们还是可以直言不忌地跟老总谈高效会议的重要性。如果还是没有效果,我们
    没办法改变老总的话。哪我们也应该从我做起,没办法改变他人就先改变自己,通过改变自己来达到影响甚至同化他人的目的。而不是顺应不好的环境和习惯,更不应该自暴自弃。

    作为项目经理,应该有这样的胆识、信心、责任和使命感!

    8. 讨论
    对如何组织高效的项目会议,以上仅代表我个人的观点,也许只是冰山一角。大家有什么意见、观点和经验,欢迎参与讨论,一起分享成长的痛苦和快乐,互相学习,相互借鉴,共同提高!

    ------------------------------------
    ------------------------------------
    乾恒动,自强不息之精神,
    坤包容,厚德载物之气量!


    Mail:xuepingyang@263.net
    MSN : xuepingyang@263.net
    Blog:http://whyxp.mypm.net
    --------------------------------

    Posted Sep 01 2007, 08:21 AM by wicky with no comments
    Filed under:
Copyright SDT, 2006-2009. All rights reserved.