艾伟也谈项目管理,架构组织管理

  架构组织管理的五大原则:构想、节奏、预见、协作和简化

  架构组织的三在概念:准则、模式和反模式

  准则:为了把原则运用到实践中,需要实施细节。准则把广泛的原则翻译成是否和如何执行原则的细节。

  模式:描述了开发或者使用软件架构时可能遇到的常见问题的解决方案。

  反模式:反模式描述了组织在实践中可能遇到的陷阱,描述了不该做的事情,或者用在错误背景下的解决方案。

  一、构想

      说明了如何向架构的受益人描述一幅一致的、有约束力和灵活的未来图景。构想需要维持一致性和协调性(灵活性)。

     【其实就是和客户及开发团队保持一致,同时考虑扩展,为了更好的保证一致性可以使用RUP的“4+1构架视图”(逻辑视图【用户】、实现视图【软件开发工程师】、用例视图【系统分析人员】、进程视图【软件集成工程师】、部署视图【软件工程师】)】

     【理解客户迫切价值;将客户价值映射成能解决问题的解决方案;将以上问题转成一组特定的约束条件】

  验证构想准则:

     1、架构师的构想与发起人、用户、最终客户期望实现的目标是否保持一致。

       反模式:风险后置 【先分析问题将可能存在的问题先找出确定可行性,应该主动向上层提供一个选择】

       模式:前后一致     【架构是多用户使用,有特定的用户需要特定的功能但可能会破坏架构质量和稳定性,应该将上级拉入架构构想中让他们知道风险】

     2、实施人员信任并使用架构。

    反模式:墙头草【确定了构架以后要对架构作任何加入都应该开休讨论会对新加入功能进行审核,避免开发人员的对开发人员对架构的不信任应该及时兑现承兑】

    模式:三人臭皮匠【架构的思想并非只来自己架构师,高级提供构想,架构平台留给架构师,实现细节留给开发人员】

  3、关于架构和构件的潜藏知识对其用户是可见的

    反模式:一叶障目【知识共享(培训、专题讨论、启用知识管理平台)】

    模式:轮流工作

  【总结:构想是架构搭建的关键也是思想上大家统一确定如何实现目标的架构,此步骤的关键在于将上级和下级的发动,上级确定目标,下级确定细节,保证需求一致正确。最后就是知识的共享,这样增加团队凝聚力。创建一个学习型应用合并的团队,有必要时应该工作轮转(解决学习和管理)】

  二、节奏

  节奏原则:刻画了一种在整个组织范围内的协调程度,即定期地根据可预测的速度、内容和质量对制品生产进行检查与规划。

  【节奏是一个架构团体内部及它与客户和供应者之间反复出现的、可预测的工件交换活动,其实就是控制架构开发的进度及解决出现的问题和客户和开发团队】

     准则:

  1、定期地再评估、同步和调整架构。【定期讨论会议,及时讨论问题解决问题】

           反模式:一步成功  【一个架构的发布不是只针对现在或特定功能,它应该是一个完整性的、系统性的架构。如果存在市场机遇的时候可以先发布一个围绕特定功能,利用此主题抓住市场。再发布系统版】

           模式:发布委员会

      2、架构用户对架构发布的进度和内容具有高度的信心。

           反模式:超敏捷【高层管理的行动更直接地改变组织行为时组织行为不能得到严格的遵守】

           模式:舍兵保帅【当一个架构发布不能按预期阶段发布时,应该主动与客户沟通,将不太重要的特性移到后面发布周期】

      3、通过节奏协调明确的活动

          反模式:销售未检验的产品【问题不能积累,定期建立应该的成功】

          模式:同步发布【与合作伙伴一起确定交付架构特性的先后顺序】

  【总结:节奏它强调的是一个按计划进行。不能让问题积累,出现问题应该立刻解决。当时间有冲突时应该舍兵保帅,制定制度严格执行(架构定期评估、避免高层改动)架构应该是一个长期的系统的稳定的】

  三、预测

      要在预测未来与检查并适应现状之间做出平衡

      准则:

      1、预见风险、预见客户、预见客户的需求、预见市场驱动标准和演变技术、预见战略业务方向的改变

        反模式:遗漏细节【其实就是需求的不全面,让业务专业参与,调研覆盖面很重要】

        模式:示范区【大面积推广前先进行实验】

      2、通过快速复审和开发周期,评估技术和业务上的风险与机会

      3、当认识到关键的估计或假设有错时,及时调整功能特性、预算

  【总结:其实预见就是对当前架构及构架所相关知识与市场的预测,以及架构项目的管理】

  四、协作

  1、架构师不断地了解谁是最关键的受益人,他们如何贡献价值,以及他们需要什么

    反模式:光说不做

    模式:了解你的受益人

      2、受益人之间达成明确和强制性的契约。

    反模式:不记录讨论结果

    模式:互惠互利

      3、通过社会行为制度和非正式规范强化合作。

        反模式:非正式时间做正式工作

        模式:杜绝意外【变更时应该及早的提醒】

        模式:和HR密切和作

  【总结:协作其实就是管理以及和客户打交道,了解他们需求,将达成的契约强化(记录)另外就是和下级开发人员的协作及各种旁类资源的协作】

  五、简化

  简化是指将所作用组织与环境都进行巧妙地理解与最小化,组织形成架构并且思考架构。

  准则:

  1、开发人员长期使用架构,减少总成本和复杂性

    反模式:简单复制并修改

    模式:由慢而快

  2、架构小组明确理解关键最小需求,并且将其构造成多应用共享的核心元素

    反模式:缺乏有效抽象【每次加入时避免出现榕树、根部肥大】

    模式:迁移途径

  3、通过长期的预算和行动确保当相关元素没有被共享、增加了不心要的复杂性时或者是因为有明确的业务理由时,把相关元素从核心移走。

    反模式:编码大于架构【把首席架构师的埋单合理分配给实现新特性和调整架构两个任务,让最能干的工程序师来领导实现新特性】

    模式:统计构件变更

  【总结:简化其实关注的就是代码的简化,可使用设计模式进行抽象等】

时间: 2024-09-12 10:04:00

艾伟也谈项目管理,架构组织管理的相关文章

艾伟也谈项目管理,需求管理成熟度的五个级别

需求管理是软件开发全生命周期重要的一个环节,我们每个人都知道它的重要性,但是要真做做好并不简单,我也写了一本在线电子书业务分析与需求.pdf来讲解需求相关内容.对于每种技术和方法,就像以前我写过的企业架构成熟度模型(EAMM)的一样,我们都不可能一下子就精通,而是按照一种学习的曲线进展,本篇本篇主要介绍一下需求管理成熟度的六个级别. 级别0:没有需求(no requirements) 没有任何明确的需求被记录下来,他们假定知道要构建什么,希望节省需求的时间来做开发,但这势必会给开发工作带来混乱,

艾伟也谈项目管理,个人管理:写书之前应该回答的几个问题

我在06年和一个同事写过一本Delphi入门的示例书籍Delphi数据库通用模块及典型系统开发,当时体会到了写书不像想象中的简单,基本上业余时间都没了,所以我之后就不想出书了,其中更重要的一个原因是,我还没有找到一本真正想与大家分享并且自己能写出来的书籍. 博客是个好东东,只要你愿意与人分享交流,你的行为就可以赢得大家的认可,如果你的观点或者文章写的又好,那么就会有更多形式与大家分享,例如最近我们可以看到的很多人都由于blog而出书了.同样,我这两年对博客的投入也赢得了一些人的信任,也收到过好几

艾伟也谈项目管理,如何管理“人”

我们常说工作中应该"对事不对人",但事都是人做的,不同的人做相同的事效果可能相去甚远,再好的业务如果用错了人也会全盘皆输.正所谓"事在人为"嘛,识人.用人.聚人是一个团队管理者获得成功的基础. 先说怎么认识人   人格矩阵法.即所谓的Topk技术,Topk就是由:tiger.owl.peacock 与 koala 4个英文单词的第一个字母组成,即把人的人格类型总结为老虎.猫头鹰.孔雀与考拉这4种动物的行为智慧: 老虎-此类人表现为:做事结果导向明显(不在乎过程),野

艾伟也谈项目管理,技术管理中常见的几个问题

前几天跟朋友聊天时,朋友说他刚刚从一家知名软件公司面试出来,朋友去面试的是一家公司的技术管理岗位,所以在面试的时候被问及的问题也偏重于技术管理方面的问题,在与朋友的聊天中将这几个问题归纳了一下,大致归为如下几个问题. 在日常工作中你是如何行使管理职能的 这个问题以我的经验以及参考常见的一些开发方法,在实际中我都是早询问及晚反馈的方法.也就是早上上班后的半个小时内主动询问开发人员是否有不能及时解决的问题,如果有,组内组员讨论解决方法:下班的时候,组员可以以邮件或者其它方式汇报自己的进度,并评估当前

艾伟也谈项目管理,个人管理:从昨天的一个设计评审来谈如何与人交流你的设计思路

昨天项目组进行了一个设计评审,主要是对OpenExpressApp的AutoUI部分进行重构,我相当于评审人.大家也可以把这个评审过程当做与人交流你的设计思路的一个过程,以下从我评审的一些要素来谈谈与人交流设计思路时需要考虑的内容,也许对大家在实际工作中的架构.设计和沟通都有所帮助. 评审并不是审判,你直接说出结果之后,然后等着判官下笔,评审一定是基于特定主题进行的,所讨论的东西都围绕这个主题,那么如何让人先清晰你的这个主题是需要考虑的.对于不同人来说,每个人关注视角不一样,所以还需要针对这个主

艾伟也谈项目管理,基层管理杂谈

几乎每种行业都有基层主管(或基层管理人员),而软件行业的基层主管一般是项目经理.技术经理.开发经理.组长等.其职责是资源协调.风险预估.项目管控.团队建设,说白一点大多数的企业现状就是项目负责人带领团队攻下一个又一个项目的过程.很多公司以项目成败作为项目负责人考核的唯一标准,因为项目规模.成本.客户满意度等容易量化,并且是直接跟公司的利润有很大关系:而相反团队建设却难以衡量,如何衡量一个普通技工晋升成高级技工到底是基层主管的培养还是原员工本身就具备高级技工的技能.因此,难免出现以项目额度论英雄的

艾伟也谈项目管理,软件公司的两种管理方式

这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间.他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定会有体会,并让我考虑一下翻译到我的blog上来.我看完后觉得很有代表性,而且觉得说得太对了,所以翻译过来,希望大家都读一读,最好转给你的公司老板. 这篇文章来源于 StakeExchange 上的一个问题--"为什么BA和PM的薪水要比程序员要高?",顶在一楼的回复分析了这个原因,并指出了两种管理文化. -------------------正文

艾伟也谈项目管理,学习腾讯的产品管理之道

马化腾带着一大批产品高管自上而下,持之以恒地推动产品本位的管理体制规范化,并不断地创新和优化这套体制,使得整个公司上上下下融入了"产品的基因",最终成就了"产品的腾讯". 1.设置一个质量监控小组,由经验非常丰富的高Level的产品人员构成,赋予他们很大的权力,去监控和规范所有的产品项目.并且用KPI来制约产品项目服从这些规范.为了不搞教条主义,很多规范都是在立项之初,由项目经理和这个小组共同确认的,未必是硬性指派,一经确认就受到严格监控.确保好的规范不流于空喊口号

艾伟也谈项目管理,五年Skype架构师之路的感言

简介 作为架构师和设计者,我们常把手头的事情作为工作焦点,很少反思过去如何.我们应该温故而知新.我从作为skype架构组领导的55 个月经历中总结了6个经验.其中一些是技术性的,另外一些是架构师较为软性的观点.首先介绍一下Skype的背景资料. Skype背景 Skype是让用户可以进行音频视频通话的软件,也可以拨打普通电话以及发送短消息.公司成立于2003年,从成立以后就有令人难以置信的成长曲线.公司现在有超过五亿两千万注册用户,大约650名员工.这些用户同时产生平均21万个通话,其中大约三分