精华内容
下载资源
问答
  • 这一款软件公司研发部部门职责和业务流程专为客户需求而设计,随着内外环境变化而变化,欢迎大家下载软件...该文档为软件公司研发部部门职责和业务流程,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以...
  • 软件公司项目部部门职责和业务流程DOC以规范化构造端到端的卓越业务流程为中心,致力于打造最强、最好的...该文档为软件公司项目部部门职责和业务流程DOC,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以...
  • 组织及其IT部门职责划分

    千次阅读 2004-07-25 13:04:00
    组织及其IT部门职责划分 组织的职责划分 职责划分是组织中需要考虑的一个重要问题。明确的职责分工有助于各职能的有效运作,并提供监管和控制职能。尤其是对于大型财务系统等重要系统,监管人员需要比下属人员承担...

    组织及其IT部门的职责划分

    组织的职责划分
    职责划分是组织中需要考虑的一个重要问题。明确的职责分工有助于各职能的有效运作,并提供监管和控制职能。尤其是对于大型财务系统等重要系统,监管人员需要比下属人员承担更多的责任。IT部门与其他部门的独立和信息系统内部职务分工同样重要。下面对任务分工的若干领域做进一步说明:
    1. 交易授权
    交易授权是用户部门的责任。事实上授权也意味着被授权人员的责任程度。管理人员和信息系统审计师必须定期检测未经授权的交易情况。
    2. 对账
    对账是用户的责任。在一些组织中,数据控制组也使用“核对总计”与平衡表来进行应用程序的对账,这种独立的检验使用户对应用程序的运行和数据准确性都更有信心。
    3. 资产保管
    公司必须决定并指派适当的资产保管者。当某一使用者被指派为“数据所有者”时,应该明文订出责任。数据所有者负责决定保护数据安全的授权等级,而数据安全管理小组则常常负责安全系统的安装与执行。
    4. 访问数据
    实体环境必须足够安全,阻止未经授权人员访问各种联到主机的有形设备。系统和应用安全是阻止未经授权人员访问的另一层安全控制。此外,从外部获得公司内部数据是因特网出现后的新问题。因此,系统管理者需要加强保护信息资产的责任。
    5. 使用授权表格
    用户部门管理者提交电子或印刷的正式授权表格,其中定义员工的访问权,即谁能访问什么,授权表格必须得到管理层的批准。通常所有用户都应以书面形式向主管申请某个特殊系统的访问权限。大公司或有偏远单位的公司,授权的签名、申请书的签名都应存档,以便核查,确保授权申请是正确的。此外,程序上也应要求主管定期检查存取权限,以确认用户的权限与工作职能相配,并随时更新。
    6. 用户授权表
    IT部门使用授权表格中的数据来建立和维护用户授权表。定义哪些人被授权去更新、修改、删除或浏览数据。这些权利分别在系统、交易等层次定义。此外,授权表本身要有密码或加密来保护,防止未经授权的访问。控制日志应详细记录所有用户活动,并有适当的主管来检查,所有意外情形都应加以调查。
    7. 异常报告
    异常事件应该报告给管理层处理,在妥善处理后需要留下证据,即在报告上签名表示该异常已妥善处理。管理层也应跟踪异常善后处理,以确保所有异常均已及时解决。
    8. 审计轨迹
    审计轨迹是信息系统审计师在重新描述交易过程时的“地图”。审计工作中审计人员正是通过跟踪审计轨迹,来审核有关经济业务及收集审计证据的。在传统的业务活动中,每笔交易的每一个环节都有文字记录(如经手人签字),审计轨迹十分清楚。审计人员可以从原始单据开始,对交易事项进行追踪,直到报表为止;也可以从报表开始,一直追溯到原始单据,形成了顺查、逆查等审计方法。
    对于信息系统而言,审计轨迹是指从数据输入系统时起,到数据被确认有效并传递给其他子系统为止,对这段时间内发生的所有事件的记录。实现电子化后,传统的审计轨迹完全消失,代替纸制凭证、账簿和报表的是电磁化的会计信息。这些磁性介质上的信息不再是肉眼所能直接识别的,可能被删改而不留下痕迹,从而大大增加了审计风险。如果系统设计时考虑不周,可能到审计时才发现只留下业务处理的结果而无法追溯其来源。因此,审计轨迹是对数据处理的跟踪和记录,也是系统设计良好的必备组件。
    审计轨迹能够帮助IT部门和审计师提供追溯交易过程的记录,能够帮助信息系统审计师重新创建一个实际的交易流,即从最初存在状态到更新后的文件。在缺少职务分工的情形下,审计轨迹可以作为一个补偿控制。信息系统审计师应该能判断谁执行这笔交易,交易的时间,输入的数据,输入的形式,交易中包含哪些领域的数据,以及更新过的文件。
    9. 交易日志
    交易日志采用人工或自动化的方式都可以。人工日志是在数据进行处理前由人工进行的关于交易的记录(分组或分批)。自动记录日志提供的所有处理交易的记录,是通过计算机系统完成并保留。


    信息系统职责划分
    IT部门需要和其他部门进行有效的职责分工。同时,为保证成功开发和实施新系统,需要关键人员要参与到系统开发方法中,这些需要参与到开发过程中的主要角色也需要进行明确的职责分工,主要的参与者和责任如下主要有以下几个方面:
    1. 高层管理者
    批准完成项目所必需的资源,高层管理者能够促使需要的人员参与并完成项目。
    2. 用户管理者
    项目和最终系统的所有人,负责部属合格的代表到该信息系统项目团队中参与需求分析,并最后接受测试和用户培训。用户管理者需要定义系统完成时的审查标准以及批准系统的交付。他们主要关心如下问题:
    ? 软件指定的功能是否可用
    ? 软件是否可靠
    ? 软件的效率
    ? 软件是否易用
    ? 软件向其他环境移植的容易程度
    3. 项目指导委员会
    为项目开发提供总体方向,保证各方利益的实现。主要负责所有成本和时间进度。该委员会由新系统所牵涉的各部门高层代表组成,每个代表都有权决定影响各自部门的系统设计。项目管理者必是该委员会的一个成员,某些情况下是负责人。项目指导委员会功能如下:
    ? 定期审查项目进展(半月或一个月),需要时召开紧急会议。
    ? 作为协调者和建议者,委员会成员能够回答问题,并做出系统和程序设计方面的相关决策。
    ? 委员会可以评估进展,采取必要的校正行动,以及建议相关人员进行变动。在必要时可以重新设计目标和规划,改变系统目标。委员会还能够处理项目级无法处理的风险,在特殊情况下,委员会可以建议项目中止。
    4. 项目出资方
    数据和应用的所有者被任命为项目出资方。主要职责是为项目提供资金,并与项目管理者密切合作,定义如何衡量项目,关键是要将衡量尺度转化成可以衡量的、定量的指标。项目出资方通常是负责应用将要支持的主要业务功能的高层管理者。
    5. 系统开发管理者
    提供软件硬件环境的技术支持,包括开发、安装和操作系统。保证系统和组织计算环境与战略方向保持一致,进行操作支持和安装后的维护活动。
    6. 项目管理者
    提供项目日常管理,保证项目与总体方向保持一致,项目符合当地标准,交付品是质量合格产品。同时协调各方利益,解决部门之间的冲突,监控开发团队成本。如果项目人员全是致力于该项目的,项目管理者要对人员负责。
    7. 系统开发项目团队
    目的是完成指定任务,参与开发过程,根据当地标准进行工作,有效和用户通信,并可以向项目管理者建议进行必要的计划调整和改进。
    8. 用户项目团队
    目的是完成指定任务,与系统开发人员有效沟通,通过参与开发过程,遵循当地标准,提示项目管理者预期与实际开发之间的偏离。
    9. 安全员
    保证系统控制和支持过程提供了有效的保护,在与公司安全政策一致的数据分类基础上,进行安全衡量指标并集成到系统。负责审查安全测试计划,在实施前进行汇报;同时评估安全相关的文档,报告系统安全有效性,在系统操作过程中监视有效性。
    10. 质量保证
    审查每个阶段实施结果是否与需求保持一致。审查点取决于所采用的系统开发生命周期方法论、系统的意义和潜在偏差的影响等几方面的因素。还要关注和每个过程管理相关的技术活动,或具体软件工程过程的使用,这对于达到软件过程能力成熟都具有很重要的作用。

    展开全文
  • 项目交付体系

    千次阅读 2020-08-05 13:56:46
    伴随公司的逐步发展尤其是产品型软件公司,企业的产品逐步趋于精品及完善,但如何能够提高项目交付速率,将项目交付批量化、产品交付成熟化、产量化,实现此过程的前置条件有哪些,距离当前的目标还需要做哪些事情,...

    项目是为了提供独特产品或服务而暂时承担的任务,项目的特征是临时性和唯一性。伴随公司的逐步发展尤其是产品型软件公司,企业的产品逐步趋于精品及完善,但如何能够提高项目交付速率,将项目交付批量化、产品交付成熟化、产量化,实现此过程的前置条件有哪些,距离当前的目标还需要做哪些事情,本文将从道(目标、战略、远景)、法(制度、规范、保障机制)、术(方式、方法以及熟练度)、器(环境、工具、产品)、人(意识、心态、欲望、人性)五个层面分别阐述说明。

    明以道

    道是根本,是规则、自然法则,上乘。建立项目交付体系,提升项目交付率,实现项目交付批量化的顶层构建依赖于“道”。“道”类于产品架构设计属于顶层规划设置,在“道”里提下“势”、顺势而为,在国际、国家、行业整体大趋势下决定公司的发展方式与方向,顺大势而行软件行业经由无纸化办公至信息化整合乃至现在更为广泛的产业互联网、5G、云物移大智等。道与势结合,在道的规划结合势的辅助更可将事情事半功倍,取得更好的成果。

    1.行业聚焦

    人的精力是有限的同样公司的精力也是有限的,作为公司的运营及发展同样需要聚焦行业,作为公司的运营能够“广撒网多捕鱼”固然有一定成效,但是“专精”才是公司的立身之本。在公司有广泛涉猎的同时需要聚焦行业,深耕行业,了解行业的发展历程、趋势、特点,结合客户的业务特点丰富、完善平台的功能及交互模式。如:地产行业下主数据管理是围绕地产项目为全生命周期管控的,而过程中可能还会涉及基础数据与项目间的关联如房源、期、栋等;业财集成过程中会涉及到成本对接、四费回写(开发间接费、营销费、管理费、规费类)。

    2.项目筛选

    在公司当前阶段不是力求“广而杂”,而是需要“专而精”,主要聚焦于集成领域,意在为企业尤其是集团性企业搭建“一站式”整合平台,构建柔性IT架构,公司战略层面明确公司的专业的领域,当前公司主要精力在集成开发、开发集成两大类项目,致力于公司整理的运营方向及发展方向,公司主力的营业范畴,包含数据治理、统一身份认证、数据治理分析、统一门户集成、统一流程集成几个方向,主要行业在于制造业、建筑业、房地产等多以项目制度为管理方式的行业领域。在商机落地、项目承接选择阶段需要甄别项目是否符合公司发展且是否能够为公司带来价值。

    如公司目前主营对接方案ESB、IDM+ESB、MDM+ESB、ESB+MDM、MDM+ESB+DAP的主要承接侧重要点如下:

    1. ESB应用对接:主要解决客户有3~5套系统间的表单数据对接,服务开发提供的情况;
    2. IDM+ESB统一用户管理:实现客户信息化系统用户统一、认证统一、权限统一、审计统一的4A管控,实现用户账户密码统一无需在系统间返回切换登录,提供工作效率;
    3. MDM+ESB基础数据治理:实现客户主数据治理及规范,建立基础数据管理体系,保障数据的一致性、完整性、准确性,为客户应用集成及数据分析结果的准确性提供坚实的基础支撑;
    4. ESB+MDM应用集成对接:实现客户信息化系统集成,结合主数据时间系统数据映射的管理,为后续数据治理规范奠定基础;
    5. MDM+ESB+DAP数据治理分析:沉淀企业业务数据建立企业自身数据仓库,挖掘企业内部数据价值,将数据可视化、趋势化、价值化。

    3.方案匹配

    匹配公司主营领域及主要行业领域对应项目类型均需要匹配对应的落地方案给予支撑,方案不仅限定于售前沟通方案、项目落地解决方案及同行业案例分享等。

    1. 售前沟通方案:方案主要体现在几个层面如:项目领域的意义与价值,项目主要背景需求,解决客户问题及痛点分析,典型落地方式及优劣比较,同行业对应的案例类比分析。
    2. 落地解决方案:侧重体现结合客户的实际情况针对客户的痛点如何落地解决,通过什么方式解决哪些问题,预计带来什么效果,需要哪些投入及能够输出哪些产出。
    3. 同行业案例分享:主要体现当前案例的背景,痛点,解决方案及实施效果,侧面印证、体现同行业其他公司确实由此方案受益颇多。

    行尊法

    法是措施方法,是实现价值的方式及方法,项目交付过程中仅依赖于框架的体系理论同时对于项目人员思维意识,思维转变也是重中之重,由程序思维转变为用户思维,用户思维转化为产品思维,产品思维晋级为商业思维,只有这样才能很好的实现产品有自己用向友商用及面向用户的交付。同时加快交付、成体系的交付、实现项目做好、做快、做规范、做批量。

    1.体系支撑

    “没有规矩不成方圆”,公司层面关于整体管理体系需要不断的充实、完善,对于公司运营的全生命周期的管控均需要建立完善体系制度,如:商务体系,售前体系,人员体系,项目管理体系,实施体系,奖惩体系。

    1. 商务体系:明晰内部商务、外部商务之间的衔接关系,促进商务与客户间的对接,提升商机的落地促成的几率。
    2. 售前体系:明晰售前沟通、汇报、交流、跟进的各周期的工作内容及工作边界,配合商务促进商机的成单率。
    3. 人员体系:对于人员培养,意识、方法、工作方式、沟通、汇报、学习、管理等多方面全方位系统化培养模式;
    4. 项目管理:项目全生命周期管理,需求、设计、开发、测试、上线、交付、验收、运维,8位一体的全生命周期管理,各里程碑注意事项等;
    5. 实施体系:项目现场交付注意事项,沟通机制、汇报机制的明晰与管理,与客户不卑不亢,与友商化敌为友,与伙伴共进同退;
    6. 奖惩体系:明晰项目的奖惩管理,以奖励促进成员的积极性,更加助力于项目推动及交付。

    2.绩效考核

    公司员工潜能的开发需要鼓励与鞭策并存,在鼓励的同时与压力并存,在压力的临界点伴随鼓励共同推进,一方面有压力驱动员工向前推进,一方面有鼓励增加推进项目工作的动力。建立项目绩效考核体系,有奖励有惩罚双管齐下,同时不仅面向项目交付团队,对项目管理人员,销售人员均需要具有全面的考核体制,管理人员关心KPI才会关注项目实际推进情况,销售人员具备考核指标能有效保证项目相关动作的推进,交付团队明细目标才能够保证项目的交付。

    • 项目管理制度

    1. 阶段划分:不同阶段的侧重点、工作内容、交付输出物的明确与规范且需要输出样例文档;
    2. 需求明确:项目调研过程中明确客户需求,不要含糊而过,将自己的理解与客户确认,框定项目的需求范围。
    3. 设计细致:结合项目需求进行可落地的详尽设计,明确功能约束,技术要点,设计需要详细明确出相关功能的涉及到的基于预研、落地实现。 
    4. 计划精细:项目计划需要明确到人、详细到人天,同一项工作不能有多人同时负责,如果是多人负责则需要把工作进行再次拆分直至明确至个人,计划在实施过程中需要不断完善、精细,周计划明确至人、天,日计划细粒度至少0.5人\天。
    5. 人员分配:不同角色的职责划分,什么人什么时间应该做什么事情;
    6. 汇报管理:按风险、日、周、月、里程碑不同粒度对项目负责人、销售同步项目情况,保证消息的对称性;
    • 绩效考核制度
    1. 考核指标:规范考核指标,考核与绩效挂钩,不同完成度的奖励及惩罚机制,成体系落地执行;
    2. 节点考核:对项目各里程碑节点、收款节点、工作完结阶段需要明确标记出来,以各环节节点倒逼工作管理,输出工作审查情况;
    • 人员晋升制度:分角色、分岗位的晋升制度,不同岗位有明确的职业规划方向,员工可选择自身的规划及发展方向,明确对应T级的晋升制度;

    3.人员培训

    建立员工培训体系,除平台基础操作外需要模拟项目实际进行内部演练,保证新员工对项目整体过程及不同类型项目有整体的意识及交付的概念,明确什么是好的什么是不正确的。

    1. 公司认知:公司为平台产品的提供商及技术解决方案的提供商,对于普遍的承接项目研发公司存在着本质性的不同,对于公司员工需要明晰公司的立身之本,公司的盈利项及公司的发展方向。
    2. 项目认知:作为项目交付需要明晰项目验收是项目完成的基本盘,而项目衍生二次商机,项目运维服务盈利才是项目的本质目标,而实现目标的前提则是为项目提供友好的服务为客户解决实际问题。
    3. 意识方法:项目交付过程中需要具备团队意识、敏感度、责任心,遇见问题暴露问题,解决问题而不是等着事态爆发,一发不可收拾的状态。
    4. 职责明晰:项目交付过程明细各岗位职责,项目经理对项目整体进度负责,把控项风险;技术经理对项目过程中技术问题支持,保证项目技术落地;技术顾问保证自己负责项目工作的进度,同时熟悉项目整体流程及注意事项。
    5. 策略技巧:无论是哪一类型的项目最终都是需要与人打交道,在此过程中不要与客户发生矛盾,与客户关键人建立友好的沟通渠道,权衡其中关系,更好的推进项目。

    精于术

    术是体现,是具体手段。通过法具备方向的指导,结合术的手段落地,项目交付过程中在建立规范的同时需要能够对规范实现落地而不是“空中楼阁”遥不可及。在落地实践的过程中进一步完善、夯实整体的体系,将概念转变为认知,认知转变为下意识。

    1.项目管理

    项目管理主要是实现项目时间、成本、质量的管理,在有限的时间保证项目高质量的交付控制项目成本实现项目质量好、服务好、成本低、满意度高的最优交付。

    1. 需求管理:项目实施推进过程中,客户需求出现变更/增加是常态,从项目管控来说需求变更是不可避免,而对于项目交付而言需要尽量收口项目过程中的变化,引导用户收口或者下期推进,避免整体项目需求跑偏。
    2. 进度管理:项目推进过程中各里程碑节点的管控,以节点倒逼工作进度是否存在跑偏的情况,实时跟进项目进度,进行项目推演,及时暴露问题,避免问题的发生,而不是事后补偿。
    3. 团队管理:需要明确失败的团队没有成功的个人,需要明晰团队成员的动向,团结一心推进项目的工作,在项目中增加团队成员的配合度及默契,出现问题快速解决而不是互相推诿。
    4. 资源管理:领导也是资源,或者说领导是更为有效的资源,销售同样被视为资源的一种,项目最终是以结果论成败,项目管理人员需要以项目风险为优先级,协调各类资源保障项目的平稳推进。

    2.规范落地

    建立项目管理规范后续要进行规范落地,而不是仅有规范而不切合实际,更多时候人更倾向于自己信服的事实。可能规范总结的经验教训但员工自身没有体会其中奥妙没有转化为自己的下意识。而由知识转变为技能,技能转变为下意识的过程因人而异,各有不同。需要在项目实战过程中不断淬炼,增加个人的认知及能力模型的丰富,如:

    规范说明

    枚举说明

    售前管控

    售前人员熟悉方案,沟通前内部演练模拟客户沟通情况,将方案演绎、产品演示划分分别进行,输出各产品的演示关键点、演示方案

    项目管控

    建立文档标准、里程碑标准、考核标准、汇报标准、沟通标准、结算标准

    实施体系

    项目实施过程中建立项目管控体系,项目日汇报、周总结,计划滚动更新;暴露问题解决问题,项目进展极端推演,控制项目需求范围,把控项目各工作进度节点

    测试体系

    内部产品、公司项目均需要遵循测试体系进行详尽测试,按照不同角色、人员从使用、操作、维护角度进行测试,从安全、性能、功能层面进行自动化脚本测试,生成测试报告,交付对应的负责人员

    运维体系

    项目交付后进行内部交接,遵循项目运维体系,明确项目内容、背景等信息,对项目中遗留问题解决,产品层面问题反馈至研发部门进行解决,客户反馈问题及时响应,提升客户的信任度

    3.模拟演练

    建立规范的同时是纸面的通知,而真实的“触感”需要来源于一线的直观认知。而在员工并不具备实际项目参与的能力是时,可通过公司内部项目实现实际项目过程的模拟演练。感受项目整体流程,项目各里程碑是什么情况,与理论的认知有什么不同。

    1. 项目生命周期:6个周期节点从项目售前、合同签订、项目立项、蓝图确认、项目上线、项目验收,各阶段的关注事宜及输出产物。
    2. 项目沟通技巧:与客户、与伙伴、与领导、与商务面向不同群体的沟通方式及技巧,如何推动才能让同事更好的助力项目的推进,不同层面的工作人员的关注点,言简意赅保证工作推进。
    3. 项目封闭标准:项目在实施阶段的目的是验收,将项目封闭实现项目闭环,项目封闭后标志当前项目节点闭环,进入运维工作及二期推动工作。
    4. 项目意义价值:项目不同层面对项目的意义价值有自己的理解,项目追踪需要作为项目案例资源,项目结束后需要明晰项目的价值及意义,客户的价值及公司的价值以及团队的价值。
    5. POC搭建演练:以公司自有业务为需求原型,模拟不同方案下项目的实施方式,一方面作为技术人员的培训,提升员工对项目的熟悉度,另一方面也可演练验证产品的完备性,提升产品的质量。

    利其器

    器是用具提高效率将复查的问题简单化,经过公司对主营的行业领域及主营的范畴细后,项目甄别当前能不能做,而器有效的提升如何将项目做好,如何提高项目交付率,如何将项目交付批量化的工具。通过产品+管理结合,提升盈利;从产品层面考量,面向用户级别产品,打造“无脑式”产品线;项目交付层面:统一、标准、体系、积累、夯实;

    1.成熟产品

    公司本身为产品型公司,想要项目批量化交付则需要产品不仅能为公司员工使用同时需要能够面向伙伴、面向用户都具备较好的交互操作能力。对于平台的安全、稳定、扩展、交互均需要具有极佳的用户体验,且除平台技术能力本身的保障外,对于依赖于产品的方案,使用手册、维护手册、项目典型方案、应用场景及对应场景的落地方案标准文档均需要不断的完善和充实。

    产品名称

    应用场景

    ESB企业服务总线

    做企业服务总线ESB来实现异构系统的对接;

    在数据整合/数据中心项目中,作为综合数据交换平台负责业务数据上传、汇聚,基础数据(主数据)的下发、分发;

    综合集成项目实现跨系统业务流程重组;平台协作及支撑

    MDM主数据管理平台

    主数据管理的用户是各业务系统、数据集成系统、应用集成系统、业务流程再造系统、BI智能决策分析系统。通过主数据管理,改变企业数据利用的现状,从而更好地为企业全方位的信息整合做好铺垫。

    BPM流程集成平台

    流程集成平台一般用于跨异构系统的流程集成,或者实现业务流程间相互调用;也可以做工作流系统来用,为特定业务系统做为工作流引擎提供用户与流程信息交互的接口,实现诸如完成、挂起、加签、回退、签收等改变引擎流转的操作

    IDM身份管理平台

    搭建统一用户中心实现用户统一、认证统一、权限统一、审计统一的四位一体的统一管控,建立统一管理体系

    DAP数据分析平台

    挖掘企业数据价值,将企业沉淀数据可视化、资产化,建立企业自身的数据管理体系及数据存储模型

    Portal门户集成平台

    搭建单一的信息门户、知识门户、数据门户、应用门户、移动门户、开发社区及综合办公门户,通常及到AEAI ESB应用集成平台来协作,用于提供数据服务或者进行相关的数据加工汇总;

    2.管理系统

    项目管理同样需要信息化进行支撑,建立项目管理制度的同时匹配对应的项目管理系统,支持项目管理标准的落地,结合系统有效的对项目风险进行评估及展现,避免人为性掩盖事实。结合系统的统计情况真实、有效、实际的展示项目当前的进展状态,风险评估状态,项目里程碑节点,项目收款节点,项目当前进展状态及后续推进计划。

    • 如典型项目管理系统功能:
    1. 项目信息管理:项目管理可以看到项目信息和项目计划,用于创建项目的基本信息,比如项目的成员,周期成本合同周期等等,项目计划为每个人分配的任务,具体每天都要干哪些功能,进行一个统一的管理;
    2. 项目过程管理:对于项目周计划、日计划的滚动管理,项目计划填写完毕后并且总监对计划也进行确认,确认后项目经理就可以进行项目周报的填写,项目开发人员完善项目日报;

    3.办公环境

    工欲善其事必先利其器,生活的周边环境也是一种器的体现,大到欢愉的公司氛围,办公环境,网络带宽,小到使用的电脑、手机甚至是居住环境均会影响个人的思绪和心情进而影响办公的效率及积极性。这些环境因素往往是对办公情绪影响最大的但却是最容易解决的,如:居住环境在外出出差实施项目租赁房屋时选择比较符合心意的房子,一方面提升居住的舒适感,另一方面舒适的环境也是缓解工作的疲劳和压力的有效途径。

    常见的办公环境因素如下:

    环境说明

    匹配优选

    公司氛围

    • 公司氛围一定程度决定公司发展,选择公司氛围融洽,专心做事、敢打敢拼、全攻全守、

    生活环境

    • 居住环境:项目租赁房屋可优选居住舒适度较好的房屋,提升居住舒适度,缓解异地负面情绪
    • 网络环境:优先选择可控带宽的运营商,提升办公速率

    办公工具

    • 电脑:在经济允许的情况下选择性价比高的办公电脑,便携、速度是重要考核指标

    交通环境

    • 可控范围内选择便捷的交通环境,如公司选择在是地铁周边,交通便捷的地方,方便员工的出行

    皆由人

    “尺有所短寸有所长”无论是对公司还是对于个人而言均是广泛涉猎的同时需要有自身立足的根本需要具备深度的挖掘,呈T字型发展趋势。对于公司而言在具备广泛产品系列的同时需要有自己的深耕行业及“明星”产品,一方面在这一领域各类瓶颈了如指掌,另一方面通过产品切身实际的解决用户问题。对于个人而言,人的精力是有限的需要做好个人的“精力”管理,有自己的专业领域在专业领域内不断深入,提升自身的竞争力。

    1.自我约束

    历览前贤国与家,成由勤俭败由奢,懒惰的所有人的天性,而自我约束才是能够提升自我,超越非凡的本质。不以恶小而为之不以善小而不为虽是表述是非之道,从自我约束的角度来看也是同样的道理不要因为事情繁琐就拖延,不要因为工作简单就推进。自我约束管理,越忙越要整理计划,梳理工作项目;越慢越要倒逼原因找出本质而不是得过且过,不求有功但求无过的蜗牛心态。

    1. 时间管理:利用闲散时间总结规划当天的工作项及对应工作的完成情况,哪些工作需要协调哪些资源,预计需要多少时间;
    2. 心态建立:责任心、主动性、积极性需要化被动为主动,积极迎接变化,面对问题解决问题,不断积累形成正向循环;
    3. 习惯培养:主动汇报、积极涉猎,带着好奇心工作,对工作涉猎的知识点及周边知识点进行学习,由点到线,由线到面搭建知识体系。

    2.洞察人性

    无论是售前、实施、运维最终都是与人在打交道,在不同阶段与不同的人员沟通交互,每个人都有着自身的性格标签,需要结合个人性格特点有分别的进行交流。

    1. 与客户:与客户不同层面的人沟通时需要注意,有人风风火火,有人沉稳冷静,有人内敛涵养,面对不同性格的人需要建立良好的沟通渠道,保证工作推进的顺利;
    2. 与伙伴:与伙伴交流的过程中注意不同人承担的角色,销售辅助推进配合,交付并肩推进,管理明晰工作;
    3. 与领导:与领导需要言简意赅,明晰工作进度,问题点及潜在的风险点,不要盲目乐观,报喜不报忧导致问题爆发;
    4. 与团队:与团队成员建立并肩作战的情谊,失败的团队没有成功的个人,明晰整体团队的目标齐头并进。

    3.一往无前

    置之死地而后生,只有摒弃后路方可一往无前,每个人都有无限的潜力等待被激发,在成年人的世界没有永远的敌人只有永远的利益,不同的人可以为共同的目标一起努力,而在团队管理的过程中需要激发团队成员的欲望,激励成员的斗志,保持清醒的战意。向目标齐头并进为实现一往无前。

    对于员工而言更多的不是惧怕吃苦受累,而是没有目标和方向。作为管理者需要帮助员工明确公司未来发展方向及个人发展规划,为员工制定目标,将员工目标、公司目标相互融合,使得个人收益与员工收益互相联系。激发员工由被动接收转变为主动进取,且匹配对应的考核奖励制度。实现员工有盼头、得甜头、足劲头进而形成正面良性的体系。

    ​​​​​​​4.厚积薄发

    仅仅依靠任务的关系去维系项目推进是不足以作为项目推进支撑的,项目实施的本质还是要落地项目中客户的需求,消除客户使用的痛点,提升客户的使用满意度。本质上还是需要以实力取得客户的信任,提高客户对公司、平台、团队的信任感,而对于个人而言需要不断累积自身的实力,没有量的积累很难实现质的飞跃。在此过程中个人需要不断提升自我认知,提升个人能力,将硬实力与软实力结合,保证项目交付。

    道法术器人思想虽然源自历史长河,但内涵精髓却经久不衰,其理论方法被不断延续用于现代企业的管理,道:是方向、理念、价值观;法:是组织架构、经营模式、管理体系、规章制度;术:是策略、技能;器:是工具(硬件、软件等),人:是基本元素、成败关键。五者结合,以道义来承载智术,“术”要符合“法”,“法”要基于“道”,道法术,通过最好的技术和工具,人是“道、发、术、器”的承载着,五者兼备做出最好的策略。

    展开全文
  • 项目部岗位职责模板

    2018-05-26 14:53:57
    一、项目部门职责 1、 负责公司软件项目的现场实施工作 2、 制定工程项目实施计划书 3、 承担项目实施交付和项目管理职责 4、 负责项目实施过程中,与客户各相关科室进行工作沟通与协调 5、 负责项目实施过程中,...
  • 初级测试工程师需要负责前后台模块的系统级联调测试,发现问题并协调相关测试、开发人员,推进问题的解决,确保交付质量。下面是学习啦小编为您精心整理的初级工程师的工作职责。初级工程师的工作职责1职责:1、负责...

    初级测试工程师需要负责前后台模块的系统级联调测试,发现问题并协调相关测试、开发人员,推进问题的解决,确保交付质量。下面是学习啦小编为您精心整理的初级工程师的工作职责。

    初级工程师的工作职责1

    职责:

    1、负责日常测试工作,理解产品需求,从测试角度帮助提升产品功能性、易用性和产品质量;

    2、参与产品需求评审,编写测试用例,跟踪版本发布,跟踪测试执行,分析测试问题,整理测试报告;

    3、搭建测试环境,负责前后台模块的系统级联调测试,发现问题并协调相关测试、开发人员,推进问题的解决,确保交付质量;

    4、编写高质量测试用例,编写和维护操作手册。

    任职要求:

    1、通信、电子信息、计算机、软件工程等相关专业;

    2、2年以上测试经验,工作认真仔细,责任心强;

    3、熟悉功能测试的基本理论知识,熟练掌握编写测试用例技巧;

    4、可以对需求有深度的思考与理解,掌握与产品、开发、用户沟通技巧;

    5、具有独立编写测试用例、编写操作手册的能力;

    6、熟练掌握常用测试方法、测试工具、Bug管理工具、测试文档编写;

    7、熟悉PG、Oracle、Mysql至少一种数据库,能熟练运用sql语句;熟悉Linux常用命令;

    8、主动管理意识强、自学能力强;沟通能力、自学能力、表达能力强者优先考虑

    初级工程师的工作职责2

    职责:

    1.设计和编写测试用例;

    2.执行测试用例,熟练运用bug管理系统提交和跟踪bug;

    3.配合研发人员进行功能调试;

    4.编写相关测试报告。

    任职要求:

    1.国家统招本科正规院校毕业;

    2.有测试工作经验,熟悉常见的测试理论及方法;

    3.良好的逻辑分析能力,思维清晰;

    4..熟悉linux系统,熟练使用sql语句进行mysql数据库的基础操作,了解php编程者优先;

    5.抗压能力强,富有激情,能胜任重复性的工作和能快速融入节奏的工作环境。

    初级工程师的工作职责3

    职责:

    1、编写简单的功能测试用例,完善测试流程;

    2、执行测试计划,测试用例,负责客户端的测试工作;

    3、跟进回归测试周期的相关工作;

    4、在职学习相关测试的技能和知识;

    5、完成上级领导安排的其他事宜。

    任职要求:

    1、大专以上学历,计算机相关专业,经验不限;

    2、性格沉稳,做事细心,有耐心,责任心强,具有良好的沟通协调能力和团队合作精神;

    3、工作积极性高,学习能力强,能胜任长期枯燥和重复性的工作,对测试岗位具有浓厚兴趣;

    4、能熟练使用办公软件:word、excel、SVN,了解一种或多种性能测试工具更佳。

    初级工程师的工作职责4

    职责:

    1. 负责移动终端软件测试,按照测试用例和测试流程完成测试任务。

    2. 负责测试过程中发现BUG的登记,并对修改后的BUG做验证和回归测试。

    3. 按照软件测试文档要求,编制规范测试报告。

    4. BT,WiFi功能和协议的测试/功耗、性能、压力测试等,其中任意一方向能达到深入了解;

    任职要求:

    1. 计算机、通信相关专业,专科以上学历。

    2. 对测试行业有兴趣,并想长期发展。

    3. 1年以上工作经验,应届生条件优秀者可酌情考虑。

    4. 责任心强,执行力强,乐于学习,有一定抗压能力。

    5. 有一定用例编写能力。

    6. 有基础的英文读写能力。

    初级工程师的工作职责5

    职责:

    1.负责软件测试、搭建测试环境,按照测试流程、计划以及对产品特性的把握,编写测试案例,确保测试目的的达成;

    2.根据测试计划及测试案例,执行测试,在软件生命周期的各个阶段执行相应的测试;

    3.根据测试结果,与开发部门等反复沟通测试情况,修正测试中发现的缺陷,完善软件性能;

    4.整理测试文档,编写测试总结;

    5.设计与编写自动化测试用例、测试工具。

    任职要求:

    1.计算机软件相关专业本科以上学历,有相关软件测试经验;

    2.有文件系统测试经验者、手机客户端、性能测试、开发及分析经验者优先;

    3.熟悉测试理论与方法,熟悉软件测试过程,能够独立完成测试计划及方案设计等工作,有丰富的软件测试技术及文档编写经验;

    4.熟悉Linux基本操作以及linux环境搭建;

    5.具有很好的沟通和协调、表达能力;

    6.有较强的学习能力和主动性,责任心强,有良好的团队合作精神和严谨的工作态度,具有独立分析能力和独立解决问题的能力。

    展开全文
  • 持续交付模式

    2011-10-12 00:00:00
    当你有了持续集成需要的构建服务器和脚本之后,下一个问题肯定是:“我们该拿这些构建版本怎么办?...显而易见,四人全能团队的需要,与大规模、多团队、配备正式QA和设备精良的产品支持部门这样...

    当你有了持续集成需要的构建服务器和脚本之后,下一个问题肯定是:“我们该拿这些构建版本怎么办?”持续交付,以自动化或半自动化方式,将构建版本从一个环境提送(promote)到更接近实际生产的交付准备环境;这常常是公司在这方面演进的下一步。

    \

    任何规模的公司都可以实施持续交付,但是具体流程会根据公司具体情况差异很大。显而易见,四人全能团队的需要,与大规模、多团队、配备正式QA和设备精良的产品支持部门这样的公司,二者一定有很大差别。本文没有试图提出万能方案,而是覆盖多种场景和选择。

    \

    选择持续交付工具集

    \

    为持续交付选择工具集,是最不重要的决策。当你制定出工作流程之后,只需要选择相匹配的工具集即可。考虑到初始设置和配置的工作量,花几天时间构建自己定制的工具也不是非理性选择。

    \

    更重要的是,这样做没有锁定的风险。跟选择版本控制系统不同,你可以使用多种持续交付工具,而且可以互相之间自由切换。QA团队从开发人员那里拉出构建版本使用一种工具,向准备服务器推送时使用另一种工具,这样的事情也有所耳闻。

    \

    基线场景

    \

    在基线场景中,我们要以有限的资源找出公司中的模式。像由3到4人构成的IT部门,常常兼做开发和系统管理。这样规模的团队常常支持中小型业务,特别是不以技术为主业务的公司。大型公司也有可能这样组织,把人分成多个、很可能是互相独立的小组,各小组之间也没有交互。

    \

    在真正开始进行持续交付之前,需要做一些必要的设置工作。首先,最重要的是要有版本控制系统,以及与之匹配的构建服务器。这第一台构建服务器将会是你的持续集成服务器,它要保证每次签入动作都能成功构建。一般来说,你需要一个“现成”的构建服务器担当此任。能够监控签入动作还要自动初始化构建,要想手工开发这样的东西,真正操作起来常常要比听起来难得多。即使可以在版本控制系统中加入触发机制,完成诸如失败构建通知这样的功能也不值得花太多功夫。

    \

    即使在资源有限的作坊式公司,交付准备服务器(staging server)也是持续交付的必要组成部分。交付准备服务器应该尽可能模拟出生产环境。“你有多少预算”常常是首要问题。如果你的生产环境有价值几十万美元的数据库服务器,很可能你无法负担搭建一个同样的交付准备服务器。而且可能你也不想这么做。

    \

    在模拟生产环境时,有一个常见错误:过高匹配硬件环境。假如你的生产环境每秒处理100个请求,如果为交付准备服务器购买同样硬件,但测试时每秒只执行几个请求,你的结果就是有问题的。理想情况下,为了模拟生产环境请求,你还应该购买并设置负载服务器,但这么做成本太高,而且耗费时间。对于这种规模的团队,降低交付准备服务器处理能力是更佳策略。

    \

    另一个常常忽略的需求,是构建的版本化。必须有某种唯一的识别机制,保证可以区分开每个构建和其他构建版本。如果针对单一的公共主干代码,简单的时间戳或是自增长版本号也就够了。本文后面会讨论更复杂的场景。

    \

    结构

    \

    有了上面列出来的部件,现在你的环境应该跟下面的图很像:

    \

    d48c81789fb5c300dd5175f74921ea99.jpg

    \

    交付策略

    \

    构建服务器编译代码,交付准备服务器等候接收构建结果,有了这二者之后,下一步就是决定你的部署策略。小团队有两种选择:“签入时交付”和“定时交付”。

    \

    签入时交付

    \

    “签入时交付”策略的优势在于马上产生的满足感。根据代码库的规模,从签入新功能代码到能够在交付准备服务器上测试,一两分钟就够了。

    \

    这种方式的主要问题在于:交付准备服务器会被蹂躏得不稳定。很多时候,我见到有人试图测试某个功能,突然新的版本推到交付准备服务器上了,破坏了正在运行的测试。更糟糕的是:交付准备服务器常常作为演示服务器使用,在某些重要的演示时,很可能出现严重的后果。

    \

    代码混乱是另一个问题。比如,如果三次签入在很短的时间内先后进行,那么可能触发三个构建、交付周期,实际上只有最后一次才是必要的。极端情况,这会带来很大混乱,交付部署环境将无法有充足的时间展示自己的功用。不过,大多数构建服务器都有选项,可以延迟构建的开始,或是在给定时间间隔内避免多次构建。

    \

    定期交付

    \

    定期交付策略更易于预测。所有人都知道交付何时启动,并可以规划自己的代码签入是在交付之前还是之后进行。典型做法是一天构建/交付一次或两次。

    \

    每日构建的缺点在于,它会给工作环境带来不必要的压力。开发人员会发现自己要赶着在构建截止时间之前完成一次签入。在每日深夜构建,这时开发人员应该不在工作,可以减轻压力,但也意味着除非到第二天,他们无法执行第二层测试。

    \

    当我们开始使用“每日构建”这样的词汇时,很容易忘记我们实际上不是在谈论构建。我们真正在谈论的,是完整的构建、交付周期。有了持续集成,如果构建失败,你马上就能知道。接下来是要修复问题,还是要回滚签入,就很简单了;只要规划好的交付完成了,软件就已经准备好部署到生产环境。

    \

    部署到生产环境

    \

    该场景的假设是:实在没人能够完成任何特定版本前要做的大量测试工作。只要交付准备服务器上的检查完成,构建版本就会直接提送到生产环境中。但即使如此,也有多种选项,各有其妥协之处。

    \

    从交付准备阶段提送

    \

    将经过验证的构建版本从交付准备服务器直接提送,是常见的选择。其优势在于高度确定性。理论上,测试一个版本的构建、然后错误地部署另一个版本,这样的事情不可能发生。写脚本把文件从交付准备服务器拷贝到生产环境,也很容易。

    \

    但像很多事情一样,理论跟现实总是有差距的。有了到交付准备服务器的自动化推送,很可能出现这样的情况:测试完成,去倒一杯咖啡,回来后工作针对的构建版本可能就完全不同了。更糟糕的情况是:构建代理会开始覆盖交付准备服务器上的文件,而这时这些文件正在推送到生产环境服务器上。

    \

    043cf9fe5deabe06e3c7329ed0147b16.png从构建服务器提送

    \

    将构建版本从构建服务器直接提送是更好的选择。这可以消除我上面提到的那种方式中的多种时间冲突。而且,人们更容易知道被推送的是哪个版本。

    \

    这种方法也有弱点:人们很容易选择错误的版本推送到生产环境中。

    \

    重新构建并推送

    \

    第三种选择是为持续集成服务器创建新的构建选项,其中包括推送到生产环境这一步。我提醒大家要小心这种方式。虽然理论上重新构建的代码与你测试的代码没有区别,但还是有某些东西增加了出错的可能性。

    \

    另一个问题是:这让你可以选择多种编译选项。如果你可以选择,你可能希望在交付准备服务器上使用调试构建版本,在生产环境上使用发布构建版本。如果有些行为在两个构建配置中有变化,这会产生灾难性后果。

    \

    虽然使用持续集成服务器做配置很容易,但我再次强调:我不推荐人们选择这种方式。

    \

    场景2:加入QA

    \

    如果QA加入进来,事情就变得非常复杂了。因为你现在必须处理跨团队的沟通和规划,你需要更多的构建环境,还有更具意义的所有制感觉。

    \

    结构

    \

    一旦QA加入,你可能需要至少3个非生产环境服务器。在某些特定条件下,代码变更从一台服务器提送到下一台服务器。

    \

    5b4fd6b926c9301d84cb0cfea4e5ff07.jpg

    \

    集成环境

    \

    这是功能代码签入后,构建版本到达的第一台服务器。被称为“集成环境”,是因为签入功能代码会与其他功能代码完全集成。用来现场检查一个构建版本是否适于提供给QA。这个环境中允许不稳定,但是不允许构建版本停留太长时间。

    \

    QA环境

    \

    这是QA团队完成自己大部分工作的地方,根据需要会从集成环境更新代码。

    \

    交付准备环境

    \

    交付准备环境现在完全用作演示和在构建进入生产环境前的最后检查。任何构建版本到了这个环境,都应该是牢固可靠的。交付准备环境也许可以连接到生产环境资源,比如数据库和文件系统,但不是必须这么做。

    \

    QA交付选项

    \

    从构建服务器向集成环境交付代码,可以使用基线场景中提到的多种方式之一。从集成到QA环境就需要动动脑子,因为涉及多个团队。下面是我看到的一些成功模式。

    \

    开发者发起

    \

    在“开发者发起”模式中,开发人员决定何时进行编译检查和把构建版本提送给QA。说得难听一点,当QA完全“服从”开发人员时,可以使用该模式。可能第一眼看上去,这对开发人员来说还挺好,实际上常常阴暗着某种问题。比如:如果发生某个质量上的问题,QA人员可能要等很长时间,等着阻碍他们工作的bug得到解决。

    \

    极端情况下,需要设置自动提送机制,定时自动提送到QA环境。

    \

    QA发起

    \

    这是更适合大部分团队的典型方式。开发人员仍然参与,他们需要在集成环境中检查他们的构建,然后确定构建版本是否可以提送。

    \

    在这种方式下,QA准备好测试新功能时,他们会拉过来“已知正常”的最新构建版本。通常是QA经理完成该工作,一般来说他对于QA人员的需要最了解。虽说如此,有些QA团队允许所有成员提取新构建版本。

    \

    043cf9fe5deabe06e3c7329ed0147b16.pngTest Runner启动

    \

    对于想真心做好自动化测试的公司来说,这才是目标。构建版本到达集成服务器后,整个自动化测试套件就开始运行。如果全部通过,构建版本会自动提送到QA。跟其他自动化交付方式一样,可以采取签入时方式或定时方式。

    \

    不要低估这种方式需要投入的成本。不仅需要有完整的测试套件,所有的测试必须还都能通过。构建服务器无法区分测试失败是由于新功能出问题,还是说有些问题需要留待将来解决。

    \

    变通方式,是把测试拆分成必须通过(must-pass)的项目和临时项目。测试从临时项目开始,特别是在TDD风格编程中用到的测试。只要测试验证正确、有用,代码也可以通过这些测试,就转而处理必须通过的项目。构建服务器不会运行临时测试,但是会看重必须通过的测试项目的结果。

    \

    交付准备/生产环境交付选项

    \

    在持续交付思想指导下,QA对于接收到的给定构建版本,只有两个选项:构建要么失败,要么提送到交付准备服务器。QA不会一边处理一个可用的构建版本,同时等待某些功能完成

    \

    这的确提出一个问题:如何定义某个构建版本是“可用的”?任何可以安全放到生产环境的构建版本,都是可用的构建版本。如果其中有未完成的功能,但这些功能可以以as-is方式工作,那么构建就可以往前提送。除非某个失败的功能会影响应用在生产环境中的使用,构建版本就不能停滞在QA这里。

    \

    进入交付准备服务器后,构建版本在下个发布周期中就要提送到生产环境。尽管持续部署到生产环境很难完全实现,还是经常听到成功的每周、甚至每日部署。关键点在于:一旦一个某件版本证明没有问题,就需要快速移动到生产环境,这样团队就可以聚焦于下一系列要开发的功能。如果构建版本停留在交付准备阶段长达几周乃至几个月,就会造成无尽的问题。

    \

    把QA环境和交付准备环境分开,是为了推进工作流。只要一个构建版本提送到交付准备服务器,下一个构建版本就会从集成服务器拉过来。这样一来,交付准备服务器就总会有一个稳定的环境,供利益相关者和其他第三方查看演示版本,同时QA仍有自己可以工作的环境。如果把服务器的职责混合起来,当环境锁定时,QA的工作就必须要停下来。

    \

    配置相关问题

    \

    一旦有了多个环境之后,配置文件就会成为严重的问题。举个例子,交付准备服务器必须配置正确,避免发生诸如发送测试邮件给所有用户,或是通过正式支付网关下订单等问题。我曾与一个刚入门的开发人员一起工作,他当时试图通过一个配置错误的测试服务器购买几百万美元的债券。(幸运的是,每张债券的价格比实际价格高,因为订单没有成功购买。)

    \

    出现这种状况,因为生产环境的配置保存在版本控制系统中,并与应用一起部署。这么做,是要防止出现非生产环境的配置放在版本控制系统中,然后被部署到生产环境服务器上的状况。

    \

    要避免上述问题,有个出人意料的解决方法:不要让构建代理的网络账号对配置文件有写权限。这样,如果有人不相信签入了配置文件,部署将会失败,错误就可以得到纠正。

    \

    不过这么做也有自己的问题。用这种方法,只要文件中的配置需要修改,就必须手工操作。如果失败了,将会使得环境出现问题,从而带来风险,因为数据更新随时可能发生。

    \

    关注点分离和配置文件

    \

    “关注点分离”这个词常常用来说明正确的设计决策应该怎么做,如果认真思考谁应该负责做什么,这种方法也是很有帮助的。比如,负责生产环境技术支持的人不关心开发人员选择注入哪种日志记录框架。然而,他们关心数据库连接串和警告发送的邮件地址。

    \

    我推荐下面这些类型的配置文件。

    \

    环境设置:与特定环境相关的值,必须按照服务器分开设置。只有某些重要事件发生时,才会需要改动它们,比如新数据库或新文件服务器上线。

    \

    代码作为配置:类似于驱动依赖注入框架的XML文件。虽然看起来像配置文件,但除开发人员外任何人都不应该碰它们。这些文件必须要放在版本控制系统中,而且应该把服务器上的文件标记为只读。

    \

    微调配置:这些配置与环境无关,但也许生产环境支持人员需要访问。可能包括比如批量上传批次限制、或是web页面请求超时设置等。

    \

    这三种配置中,微调配置需要付出最多精力以保证正确。理想状态下,应该有缺省配置放在文件中,并保存于版本控制系统,并可以根据特定服务器修改出多个文件,并且不必控制这些文件的版本。

    \

    配置和培训

    \

    避免增加不必要的配置设置,有一个技巧:要求为每个配置项提供文档和培训。如果不花时间教给生产环境支持人员何时、为何调整某些值,他们就无法完成这些工作,这些值就成为无法配置的摆设。

    \

    场景3:使用SOA的多个团队

    \

    使用SOA时,通常采取多团队方式。比如,一个团队构建数据库和服务,另一个团队处理UI,这种情况很常见。有时,两个团队的工作会非常紧密,相关团队成员会常常互相交换。有时,团队可能来自地球两边的不同公司。不管他们怎么切分,基本的模式相同。

    \

    结构

    \

    如场景2,服务团队需要一个地方来测试构建版本,这样他们不会对团队之外造成负面影响。同时,UI开发人员需要一台可信的服务器,能够一直保持稳定,否则他们就无法完成自己的工作。因此,除了我们前面提到的单一团队场景,有必要加入“开发环境”。

    \

    5d2f750bfa28b6a1333f3c2c4b0a1c24.jpg

    \

    不考虑UI集成阶段,我们看到的顺序与场景2相同。交付选项相同,附加条件是只有UI团队参与在这个流程中。UI团队对于构建版本质量的意见比服务团队的意见重要。

    \

    开发交付选项

    \

    何时以及如何将代码交付给开发环境,是很多紧张情势的来源。有问题的构建版本到了QA环境,QA团队只要让其失败,然后就可以转向其他任务,比如为新功能准备测试,或是改进回归测试。要是有问题的构建版本到了开发环境,整个UI团队就会发现自己无法工作了。因此,虽然QA交付中的多种交付模式都可以运作,基于自动化测试的方式目前是最成功的模式。

    \

    说明:谁编写集成测试?

    \

    处理分离的服务层时,提供服务和消费服务的团队都要编写自动化测试,这很重要。提供服务层的团队最了解服务层内部机制,因此能编写出别人不知道、或是了解其重要性的测试。

    \

    不过,这不能成为消费服务的团队不写测试的接口。他们的测试覆盖的场景不仅服务开发者想不到,而且能测试他们对于服务层的理解。比如:UI开发人员会假定某个给定调用永远不会返回null或负值。测试过UI使用的所有参数组合后,他们就可以确保自己的假设没有问题。

    \

    如果你的公司有QA工程师保佑,而不仅仅是只有QA分析人员,他们会发现自己也要针对服务层开发自动化测试。这常常与自动化UI测试连在一起,特别是动作结果不需要通过用户界面验证的时候。

    \

    场景4:采用并行功能开发的多个团队

    \

    这种情况很棘手。目前,前面提到的各个场景都假定只有一个单独的开发主干。一旦开始处理多个开发团队针对同一代码库并行开发,就必须决定何时、如何将功能代码从团队分支转移到基本开发主干中。下面两种模型是我见过的成功范例。

    \

    功能推送模型

    \

    在该模型中,不管何时,只要确定没有问题,每个团队都会把自己的变更推送到主干中。该模型的优点在于:团队可以自给自足。

    \

    合并-推送

    \

    该模型中最常用的策略是:在本地合并及测试。只要测试通过,修改的部分就可以推送到主分支。

    \

    该模型最大的风险是缺乏原子合并。很可能某个团队修改了某个函数的名字或签名,而另一个团队正在加入新的文件使用了同一个函数。如果两个更改同时签入,构建版本就会失败,而且版本控制系统不会报告任何冲突。

    \

    锁定-合并-推送

    \

    该方式需要版本控制系统支持锁定。推送新的构建版本时,主干应该是锁定的。新的功能要在本地与主干合并,完成冒烟测试,然后推送到主干。虽然合并的问题可以在锁定时解决,任何测试的失败必须马上把锁释放掉。

    \

    功能拉模型

    \

    该模型中,团队永远不能发布他们的变更。相反,变更控制团队的人负责将功能拉入到主干中。这样一来,QA团队就只会接收到他们准备好测试的变更。

    \

    功能拉模型需要高级的版本控制系统,支持集成工作项跟踪。仅仅给变更打上任务号是不够的,成员必须要说明“将功能X合并入分支Y”,并让版本控制系统识别所有需要的变更。这可以手工完成,但是会耗费很长时间,而且很容易出错。

    \

    对于简单的合并,变更控制工程师可以自己一个人搞定。复杂的合并,特别是团队们没有定期更新自己分支的情况下,需要开发相关功能的团队协助合并工作。

    \

    结构

    \

    不管功能特性如何进入主干,结构都是一样的。每个团队都有自己的集成环境,他们会不断发布,就像基线场景一样。这些团队特定的集成环境向通用集成环境导入代码,然后就走正常流程了。

    \

    d5525eec2f3b11583ec970a4008976b7.jpg

    \

    修正补丁(hot fix)如何处理?

    \

    所有这些场景中,我们都没有提到修正补丁的概念。这是有意为之,如果遵循持续交付的思想和理念,是没有所谓的修正补丁的。一旦变更进入集成环境,它们就会很快进入生产环境。在这个理论下,不需要修正补丁,只有正常的bug修复,其优先级偶尔会超过功能特性的开发。

    \

    然而,现实世界不是完全由理论指导的。功能常常会停滞在QA阶段,其时间超过预期,要么是质量问题,或者仅仅是因为它们的规模。与之类似,生产部署也可能延迟,因为业务需要,比如合同强制要求,或是早已公之于众的特定日期升级计划。类似事件发生时,修正补丁就有必要了。此时,最佳方案是抛开流程,完成工作优先。不要让形式成为公司和客户不必要的负担。一旦尘埃落定,危机解决,就可以开始研究问题发生的根本原因了。

    \

    持续交付的目标,不是要让修正补丁更易于处理,而是要制定出编码和测试的标准,消除对修正补丁的需要。每次流程失败的时候,就是你学习如何改进代码标准和测试实践的机会,避免重大bug再次发生。同样地,这也能为你提供理由,检查日程表制定方针中的缺陷,看看是什么导致流程的停滞和问题。如果无法同时在这两方面聚焦,你就永远不能保证所有的bug修复都可以通过严格控制的流程。

    \

    简而言之,持续改进是任何形式的持续交付的根本组件。

    \

    关于作者

    \

    9663c5949d9a115e07bd0c291161a738.jpgJonathan Allen从2006年开始就为InfoQ撰写新闻报道,目前是.NET领域的首席编辑。如果您希望为InfoQ编写新闻或是有价值的文章,请通过jonathan@infoq.com联系他。

    \\\

    查看英文原文:Patterns for Continuous Delivery

    \

    给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

    展开全文
  • 软件部组织结构及职责,定义了经典的软件公司和互联网公司软件开发部的组织架构形态,以及岗位职责。包括经理,后端开发工程师,java开发工程师,安卓开发工程师等岗位职责
  • 如何提高项目交付效率

    千次阅读 2020-03-18 11:06:06
    道法术出自老子《道德经》,道,是规则、自然法则,上乘。...日常工作中新知识学习、新技能扩充、未知问题解决、项目实施交付,都可以从道、法、术、器这几个层面入手,找对解决方案,选对解决措施,将问题逐一击破...
  • 职责链模式(chain of responsibility)

    千次阅读 2015-12-31 18:43:42
    写在前面的这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式。因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不够合理。所以希望...
  • 产品经理的主要工作职责

    千次阅读 2018-07-27 11:25:01
    1.产品经理的主要工作职责 作为一名新进产品经理,甚至一名资深PM,你可能都或多或少对这个职位产生某种迷惑。到底什么是产品经理?这个职位的主要职责是什么?在IT产业的不同领域,甚至在同一领域的不同公司,这个...
  • 工程效能之软件交付

    2020-08-04 08:21:00
    1.问题1、软件开发最终的交付产物是什么?2、代码是如何构建成二进制软件执行包的?3、软件执行包是如何部署的?4、如何搭建一条高效稳定的构建部署流水线?5、如何衡量构建部署的效率?6、不...
  • 持续交付 容器化 云原生的发展历程 云原生技术生态现状 云原生基金会 —— CNCF 云原生技术社区 云原生技术产业 我们正处于时代的关键节点 2019 年,云原生技术普及元年 云原生代表技术 “12要素” 基准...
  • ERP项目交付时可“多说少做”

    千次阅读 2011-03-05 15:14:00
    特别是在当前许多企业的IT部门职责不明确,业务部门工作压力普遍较大的情况下,对于系统上线应用也是“运动式”的,公司领导关注了就用,一旦大家不再关注的时候,系统也就烧开了的水慢慢冷却下来了。 这应该是企业...
  • 在软件交付领域,分角色的精细分工是不利于整体交付效率的,那为什么在DevOps倡导下的全栈工程师、开发运维一体化又会产生新的问题呢?如何解决这些新问题呢? 也许,我们需要认真思考,在整个软件交付过程中,什么...
  • 角色与职责 DevOps工程师技能 沟通与合作 系统管理 使用DevOps工具的经验 配置管理 容器与容器编排 持续集成和持续部署 系统架构和配置 熟悉编码和脚本 团队协作技巧 DevOps团队:其他的角色和职责 ...
  • 标准的采购目标就是实现按时交付。如果延迟交付货物或材料,或者未能按期完成工作,那么销售就会失败,生产就会停滞,客户不满意就可能会求助于损害条款。另外,一旦收到订单,大多数组织就将现金视为一种承诺。无法...
  •  6、完成部门交付的其它工作; 7、适应外勤或短期出差; 任职要求: 1、大专以上学历,有1年以上同等岗位工作经验; 2、有一定的授课经验,表达能力佳,有大型培训经验者优先,有润滑油行业经验优先; ...
  • 项目立项的价值和意义,不用说应该大家都能理解,对于研发是成本部门,我们希望把更多的资源和资金投入到有价值的事情上,带来更大的回报。作为公司会衡量诸多项目中,进行项目集管理和项目组合管理,合理的调配资源...
  • 03 金融电子化 金融电子化本文节选自《金融电子化》2018年3月刊作者:中国银行软件中心 付大亮 编 者 按本文以转型过程中各种实践为基础,结合笔者思考,探讨工艺、工具和技术如何相互配合支撑DevOps持续交付。...
  • 技术负责人一般指建设领域、生产制造领域、电子商务领域,负责全过程的技术决策、技术指导。技术负责人的岗位职责包含五个方面:技术...工作职责:对各工作技术交底及具体实施做法对下交底,负责协调相关部门的配合...
  • 如何做好版本交付工作?

    千次阅读 2009-06-21 12:58:00
    在公司接手版本交付工作以来,已经有3个月时间,每每总想到底如何才能更好的做好版本交付工作?恩,先简单介绍一下版本交付的种类吧:公司内部组件、模块版本的交付;公司内部产品版本的研发测试之间的交付;公司...
  • 敏捷看板 持续交付 dod wip
  • 软件公司职责分配

    2015-04-03 14:17:20
    主要职责: 1、 计划: a)项目范围、项目质量、项目时间、项目成本的确认。 b)项目过程/活动的标准化、规范化。 c)根据项目范围、质量、时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划。 d)各项计划得到...
  • 产品部职责

    千次阅读 2015-02-28 20:14:00
    产品部职责: 1.需求管理  ——需求收集,收集整理用户、市场、商务的需求,纳入产品需求库。  ——调研分析,对产品需求进行调研,了解用户真实需求,并设定优先级(分析是共性或个性需求,明确应用场景、解决...
  • 项目经理岗位职责

    千次阅读 2013-06-05 11:02:39
    一、 项目经理岗位职责  1、 项目经理为整个项目的第一责任人。  2、 项目经理对《质量检查报告》中的所有细则负首要责任。  3、 项目经理必须有效掌控项目开发的各个环节,协助、指导项目组成员的工作,及时...
  • 软件实施经理职责

    2020-11-18 13:50:19
    软件实施经理岗位职责 1、负责项目的实施过程管理; 2、进行项目绩效考核、成本预算、和质量控制; 3、进行实施过程中的需求整理和反馈;进行需求获得、分析、确认以及变更管理; 4、负责组织软件系统的现场需求调研...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,937
精华内容 4,374
关键字:

交付部门职责