`
downpour
  • 浏览: 714235 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
00a07ae5-264f-3774-8903-8ad88ce08cb0
Struts2技术内幕
浏览量:116947
4d8508f2-c0dd-3df8-9483-04cc612afbbc
SpringMVC深度探险...
浏览量:229990
社区版块
存档分类
最新评论

项目管理的初步想法

阅读更多
1. 根据需求,将项目尽可能拆分

可能出现的情况是:将一个项目进行拆分,分成2到3个子项目进行单独开发。当前设想的主要可能性:主项目、统计和调度项目、核心框架项目等。

核心框架项目成熟后可以以Jar包方式发布。该项目主要包含对传统框架的一些封装和扩展。

统计和调度项目主要为主项目提供统计支持和后台调度运行支持,独立运行在一台机器上。理想的状况:将整个调度运行在一个大的Framework中,这个Framework能够查看系统的统计、调度的日志;同时可以对其中的统计模块、调度模块的进行状态进行监控;也可以以系统的方式暂定或者重启某个统计模块或者调度模块。针对具体项目的主要工作,是在这个Framework中,进行具体业务逻辑的编写。对于统计,可以指定统计的接口、统计的实施时间和内容等等。对于调度,可以指定调度的接口以及调度时间和频度。

主项目承担主要业务逻辑,可能根据项目规模的不同需要支持集群。主项目需要依赖于其他项目而存在。也有可能需要根据实际情况,对主项目进行进一步的拆分。

2. 人员管理

项目人员主要包含3部分:核心人员、外包人员和实习生。

核心人员主要承担项目需求转化为技术内容的工作。这些工作主要包含项目需求获取、项目设计、项目核心代码编写、项目代码Review和项目代码Merge的工作。
外包人员主要根据被分配的模块不同,进行代码的编写工作。在他们编写代码时,需要严格按照核心Framework的规定进行编码。涉及到复杂业务逻辑的地方,应配合核心人员对业务逻辑接口和业务逻辑流程进行代码化整理。外包人员的组成将主要是具有若干年工作经验的民工,以模块的工作量进行结算。
实习生的主要工作是编写简单代码、一切辅助工作和测试。他们需要承担简单的代码编写工作以及测试工作。同时,项目中的数据准备、文件管理、数据库管理等杂乱工作,也需要由实习生完成。实习生的结算方式为月结。

3.  角色分配

根据项目人员的组成结构和项目需要,可以划分以下系统角色:
1) BA
目前情况下,BA应该就是整个项目的PM,需要完成所有的商务上的所有事项,同时需要进行需求整理,项目的总体管理等。BA需要与Architect和Assist共同工作,从而完成工作任务划分和任务分配以及在需求基础上的Prototype的搭建工作。
2) Architect
这个角色主要在技术上保证项目的顺利进行,其职责将包括与BA一起进行项目设计、项目范围界定、项目模块和任务的划分、核心代码的编写等。Architect的另外一个重要的工作是把握整个项目的进程和代码管理,包括Code Review,Code Merge等工作。此外,Architect需要负责项目的开发环境、测试环境、文档环境搭建等。
3) Developer
这个角色可能主要由外包人员和实习生构成,是所有角色中的核心力量。Developer的重要原则是在既定的Framework下,高质量的完成Coding任务。
4) SA
SA这个角色不一定在所有的项目中都包含。其主要职责是在操作系统、系统构架、数据库等底层层面提供优化策略和技术支持。这部分工作,当前情况下,如果需要,可以进行外包。
5) Assist
Assist角色主要由实习生完成,这个角色可以承包项目中所有的杂务,同时也需要完成Coding任务。

4. 项目管理工具

项目管理的工具很多,可以选择一个功能相对较全,而且相对比较集中的工具:http://www.redmine.org/projects/show/redmine
上述工具可以管理的内容包含:项目新闻(进度)发布、Bug Tracking、文档管理、Wiki和论坛等。我们在项目中所涉及到的一些功能可能只需要其中的进度发布、Bug Tracking、文档管理等。

项目中的版本管理工具可以使用SVN。

5. 版本管理方法

由于当前项目的状况比较特殊,项目的版本管理变得比较重要。在吸取了一些典型的外包项目管理的经验之后,我们可以使用分Project、分Branch的方式对项目进行版本管理。

分项目是指,项目拆分后,不同的项目将使用不同的Reposity。

分Branch是指,针对某个项目,对每个Developer小组,创建多个Branch进行独立开发,频繁Merge的方式进行管理。基本原则:在Trunk上创建一个主Branch,由Architect负责Trunk和这个主Branch进行管理,包括代码的Merge和Merge前的Code Review等。然后以Developer小组为单位,创建基于模块的Branch,所有的Developer,在各自的Branch上进行开发。每个基于模块的Branch,以3天为单位,由Architect负责将代码Merge到主Branch上,同时做Code Review。在Trunk上,以周为单位,保持可运行版本。
分享到:
评论
1 楼 youjianbo_han_87 2011-10-27  
有些观点不赞成,有点理想化

相关推荐

    基于ssm物业管理系统

    收费管理,初步想法是管理员向业主发出收费通知(物业、水电等),可以向所有业主群发,也可以向指定业主发送。业主的界面会收到通知,业主线下缴费后线上确认,然后管理员确认即可完成缴费全过程。 停车管理,业主...

    学生考勤管理系统C语言链表版

    本程序为基于C语言开发的学生学籍管理系统,主要功能如下:学生基本信息的录入、学生考勤信息的批量登记(签到、迟到、早退、缺勤)、学生考勤信息修改、学生考勤信息统计、考勤分模式排序(考勤分、迟到、早退、...

    配电项目可行性报告.rar

    总之,这份配电项目可行性报告是大学生创业过程中的重要参考资料,它不仅帮助创业者系统地思考和规划他们的商业想法,也为潜在的投资者或合作伙伴提供了详尽的信息,以便他们可以做出明智的决策。重新回答||

    基于GPT等大语言模型的长篇小说生成器(python)

    本项目的目标是根据用户提供的初步想法(例如:我想写一部xxx样的小说),通过AI不断完善和构建小说内容,最终生成达到人类作家水平的长篇小说。 关键特性 结构化写作:通过层次化的大纲/章节/正文来进行结构化写作...

    【创新创业材料】储备局二期可行性研究报告代项目建议书.zip

    该报告是专为大学生创业而设计的一个综合性研究文件,旨在帮助他们将初步的创业想法转化为一个具体、系统的计划。在这个过程中,它不仅提供了对项目的全面分析,包括市场调研、产品或服务的可行性、财务预测等关键...

    【创新创业材料】油气集输总厂调度中心软件系统可行性报告.zip

    通过这份报告,大学生创业者可以获得一个全面的、系统的创业计划,它不仅能够帮助他们更好地理解油气集输总厂调度中心软件系统的市场需求和技术挑战,还能够指导他们在商业策划、资金筹集和项目管理等方面做出明智的...

    基于GPT等大语言模型的长篇小说生成器,它采用层次化的大纲/章节/正文结构,以把握长篇小说的连贯剧情,通过上下文管理优化API

    本项目的目标是根据用户提供的初步想法(例如:我想写一部xxx样的小说),通过AI不断完善和构建小说内容,最终生成达到人类作家水平的长篇小说。 关键特性 结构化写作:通过层次化的大纲/章节/正文来进行结构化写作...

    asp.net知识库

    关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory...

    perch:基于Golang的微服务平台,vue和golang管理员

    项目主要目的是对自己的技能的总结和部分想法的实现。目前项目部署实例为部署方式为部署中以kubernete容器方式进行部署。采用到的kubernetes资源有 pod运行前端服务和初步服务 服务扩大内部网络访问 入口允许外部...

    【创新创业材料】改制可行性报告方案.zip

    《改制可行性报告方案.zip》是一个专门为大学生创业而设计的详细文档,它深入剖析了将一个创意或初步想法转化为实际商业项目的可能性。该报告不仅包括市场调研和分析,还涵盖了产品或服务的定位、商业模式的构建、...

    PerCM个人代码管理软件

    为了强化前一段时间所做的努力,需要有“项目系统分析”,对技术的选择也要能够大胆有规划。这样,几个软件实现之后,才能够全面地提高能力。 需要研究的技术以下几类 1、现有的代码管理软件的组织构造,自己合理...

    【创新创业材料】30类可行性研究报告编制大纲与要求参考.zip

    通过这份文档,大学生能够学习到如何系统地思考和规划一个创业项目,从初步的想法发展到具体的执行步骤,每一步都显得条理清晰、逻辑严谨。此外,这份文档也强调了创业计划书的编写技巧,比如如何有效地传达自己的...

    mozkportal:对于网站 mozillakerala.org

    初步规划 本项目使用的技术: AngularJS(前端框架) SailsJS(后端框架) 节点 ExpressJS EJS(模板引擎) MVC架构 MariaDB(数据库) Redis(网络存储) 永远(生产服务器守护进程) Bootstrap(CSS 框架...

    azure-machine-learning-studio:适用于Azure Machine Learning Studio的.NET模块

    :construction:解决方案基础概述在与我们的合作伙伴开会期间,诞生了创建用于管理Azure Machine Learning Studio的工具的想法。 我们的合作伙伴正在寻找可帮助自动化和扩展Azure ML Studio门户中的实验的解决方案。...

    book:DataLad手册的来源

    呈现的版本在: : ,目前正在初步开发中。 该手册是一门实用的动手实践课程,旨在学习和体验DataLad。 您无需成为程序员,计算机科学家或Linux狂客。 如果您以前从未接触过计算机的外壳,那么您会没事的。 不管您...

    fightOfTheMasters

    大师之战 Geekshubs学院的格斗游戏。...丹尼尔·卡斯蒂略( Daniel Castillo) -想法和初步工作 另请参阅参与此项目的贡献者列表。 :party_popper: 致谢 也非常感谢Roo的某些功能。 复古任天堂/世嘉游戏。

    Jusic-serve:一起听歌吧(同步点歌听歌),多房间版本也已开源

    初步:本项目 : 安装 克隆项目 git clone https://github.com/JumpAlang/Jusic-serve.git 安装Redis 安装音乐基础服务 3.1网易云音乐(后面会改成nodejs,参照 ):你需要一个可以提供音乐的服务,本项

    xray-junit-extensions:增强的JUnit 5与Xray Test Management的Jira集成

    这是一个初步发行版,因此随时可能更改。 概述 可以在测试管理工具中跟踪以@Test方法实现的自动化脚本的结果,以提供有关这些脚本所针对的质量方面及其影响的见解。 因此,在执行测试期间附加一些相关信息非常重要...

    计算机论坛开发毕业设计.doc

    计算机论坛开发毕业设计 目 录 绪论 1 1 计算机论坛的调查及初步分析 2 1.1计算机论坛的开发背景 2 1.1.1 项目背景 2 1.1.2 项目的选题意义 2 1.2 关于开发工具的描述 3 1.3 计算机论坛的需求分析 6 1.3.1 需要解决...

Global site tag (gtag.js) - Google Analytics