没有编程经验的,至少需要掌握哪些知识,才能胜任软件产品的需求分析工作?
在这里首先要注意编程经验和懂编程,编码和软件工程是两回事情。举个例子你没有在生产线做过工人,但是不代表你不可以了解一个产品从原材料开始如何从生产线生产出来的。你可以当生产线去参观和学习,当然如果你能够在生产线实习一段时间印象更加深刻。
所以对于没有编程经验的,最好的方式还是做过编程,哪怕只是一小段时间。如果这个都没有那么最好能够参与过一个完整的软件开发项目,不管你在里面从事什么样的岗位,通过这种参与最大的目的就是要搞清楚从一个需求开始,到一个软件产品出来全软件生命周期究竟是怎么回事情?所以在这里软件工程为基础展开的仍然是最基础的知识,有这个基础了才可能详细的学习需求域相关的各项知识。这个时候需求作为上游工序,究竟应该提供哪些输入内容,一个完整的软件产品才能够开发出来,以及提供这些内容的原因,在软件开发过程中究竟会用到哪些地方。
需求属于对现实域的描述,设计开发属于抽象领域的建模,需求分析工作不用去完整的了解抽象和建模的过程,但是必须清楚如何提供这个完整的需求素材。
项目经理和架构师的区别在哪里?
项目经理核心职责是在项目已有的各种假设和约束的前提下,按照项目的目标按时高质量的交付产品和服务成果。那么这就是一个过程,即项目生命周期,项目经理对项目生命周期中发生的所有事情,包括计划,执行,监督,风险等都必须关注。否则无法达到项目目标,没有达到目标,那么项目管理过程中就存在缺漏,目标驱动是项目经理最核心的思维意识。
对于架构师而言,架构设计只是软件产品研发中的一个过程或阶段,架构师并不对完整的项目目标负责,架构师的职责是关注输入的需求到设计开发过程的衔接。架构师确保的是对于产品的构思和需求是可以实现的,是能够落地的,是可以通过优良的架构设计来保障各种功能性需求和非功能性需求的。
架构师和项目经理的协同,一个方面是帮助项目经理确认需求是可落地和实现的,衔接好需求和设计开发过程;一个方面是通过架构设计,转串行工作为并行工作,提升资源的利用和缩短项目周期。同时技术类风险的识别架构师起关键作用,项目经理应该根据识别的技术风险把控和调整项目。
软件开发工作,工作经验两年,是选择做开发好,还是开始做项目管理啊?( 工作两年多,Java方向,总是会感觉到开发水越来越深,要学的东西还有很多,但是部门给机会开始做项目管理,开始犹豫是要在近几年继续专注技术呢?还是提前开始转入管理领域,纠结啊,看看大家怎么说? )
个人建议你不要轻易的丢掉技术,所以要看下你说的项目经理究竟是啥?有些部门的项目管理本身就是技术型的,类似开发经理和团队开发负责人。如果是这种情况下就可以开始做,既可以进一步锻炼小组和团队管理,任务拆解和分配能力,又可以进一步的钻研技术,提升架构设计能力。
如果是单纯的项目管理岗位,完全的丢弃技术,那么建议慎重考虑,因为这种情况下你会发现2年的技术积累是远远不够的,特别是项目管理团队再发展壮大后,根本无技术说服力能带得住团队。
青春就应该这样绽放 游戏测试:三国时期谁是你最好的兄弟!! 你不得不信的星座秘密