5.1 有点历史
当90年代互联网革命刚刚开始的时候,大家都不知道如何正确地开发互联网服务。 所有新功能立即对用户开放,这种方法与传统软件开发截然不同。
那时候最大搜索引擎公司Yahoo决定走新的路线,借鉴好莱坞的方法: 他们的经理甚至被称为制作人 :) 不奇怪,他们的尝试失败了。🤦♂️
Yahoo在收购其他公司方面是最大的失败者。在某些时候,他们有机会购买Google和Facebook。而在他们衰落时,微软曾希望以400亿收购他们,但他们再次拒绝。几年后,他们被以30亿收购。虽然在90年代的巅峰时期,他们价值2000亿,如果买了Google,现在可能价值几万亿。不要像Yahoo一样。
从互联网革命以来,测试了几十种不同的软件开发方法,如今情况已经稳定。 存在标准的角色和职责,标准的流程和标准的软件。
在学习过程中,你将学到所有你需要知道的,以便在现代IT公司中使用现代开发工具。
5.2 产品团队
典型的开发团队由以下成员组成:
-
决定产品应该具备哪些功能和特色的人
- Product Owner
- Business Analytic
-
实现所有功能的开发者
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
-
负责产品质量工作的人
- QA Automation
- DevOps
Product Owner在软件开发中扮演重要角色。他管理产品并确保开发团队专注于最重要的任务。他定义产品愿景,制定和优先化任务列表(backlog)。这有助于确保开发的每个阶段都最大程度地符合业务目标和用户需求。
UX Designer负责创造便捷高效的产品界面,包括研究用户需求、开发原型和测试界面。此工作旨在改善用户与产品的交互,使其尽可能直观和便捷。
DevOps专业人员负责优化软件开发和运营管理流程,以加速并简化产品更新的发布。他们的工作包括测试自动化、部署和系统监控,以及设置基础设施并确保持续集成和交付(CI/CD)。
5.3 开发团队
程序员负责实际的开发工作。可以大致分为五类:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
角色和内容可能因团队规模和产品特性而异,但大致情况如下:
Software Architect:负责设计复杂的软件系统架构。Architect开发技术基础设施,确定各组件的结构及交互方式,保证其可扩展性、性能和安全性。
Backend Developer:专注于应用程序的服务器端开发。Backend Developer的任务包括实现逻辑功能、整合数据库和数据管理系统、处理用户请求以及维护与前端的交互。
Frontend Developer:负责开发Web应用的用户界面。这个角色需要掌握HTML, CSS和JavaScript,以及用于创建互动和响应式界面的框架和库,以确保良好的用户体验。
Mobile Developer:负责开发移动设备的应用。Mobile Developer为不同操作系统(如iOS和Android)开发应用时,需要考虑平台特性、设备性能和用户体验。
DBA (Database Administrator):负责数据库管理,确保其可用性、安全性和优化。DBA需要执行数据库设置、监控和维护任务,并制定备份和数据恢复策略。
GO TO FULL VERSION