Focus on four dimensions:
- Process, focusing on processes from permissions management, code acquisition, deployment, and code integration.
- People, connecting stakeholders, third-party partners (out-of-organization), collaborative teams (within the organization), team members, and more.
- Tech, including technical vision, documentation (documents), project code, technology stack, software library management, etc.
- Business, covering the requirements of business features such as business vision, business needs, and cross-functional requirements.
0. Technology Vision
Description: In terms of technology, what are we pursuing?
1.Documentation
- Path to Production
- golive and release diary
- other wikis and documentation
Description: The document is the code - a good documentation should be versionable.
2.Architecture
- system architecture diagram, such as C4Model mode
- existing technology stacks and their relationships
3.Code base
- construction guide
- architecture decision record
- editor configuration and code style specification
- mode and style guide
4.Project Evolution
- future technology stack
- system evolution plan
5. Security
- security standard. Is safety more important, or is the experience more important?
- data encrypt in the code.
- code security.
0. Project Process
- Project's Roadmap? Project duration, deadlive, etc.
- features's lifecycle. Such as Story card workflow in agile
- How to communicate? Such as IM, Email and agile daily standup, remote meeting, Retro, etc.
1.Path to Development
- development machine and network permission preparation and so on
- code repositroy permission management
- editor and related tool application setup
Note: different organizations have their own special situations, such as the opening of PC ports, network permissions, codebase permissions, etc., which require a certain process.
2.Path to Production
- the process of golive's every step
- related key people
- the tools needed for each step
- the process required for each step. such as quality assurance people & process, and golive process
Note: Path to Production in the code is just a description - for developers, and here's a more detailed explanation.
3.Path to Roll Off Note: What do you need when you change a project?
1.Teammate
- Who are you looking for each problem?
- Team members' technical stack and level
- How to bring everyone's skill level: Coach, Pairing, Teach
- Project-independent technology, who can find "entertainment" together?
- 1 to 1 Meetings
2.Stakeholders
- Learn about each stakeholder (Level 1). As a developer, most of the time there is no direct communication with stakeholders.
- Stay in communication with the stakeholders (Level 2). Proper communication can help the project to work better.
3.Cross-team collaboration
- What are the relevant partners and who are the respective interfaces?
- Team in same project or organizations.
0.Business Vision
Explanation: What are we doing, where are we going?
1.Business
- Is there a list of requirements that are close to full? At a certain time (such as iterations), the demand should be stable.
- How does demand go from verbal to to-do list? Is there an irregular problem in the middle?
- How is the business changed?
2.Cross-functional requirements
- Operational quality. Quality observed during system operation, such as security and ease of use
- Evolution quality. Software system structure and quality related to the development process, such as software testability, maintainability, scalability, scalability, etc.
关注于四个维度:
- Process,关注于从权限管理、获取代码、部署上线、代码集成等的流程。
- People,连接利益相关者、第三方合作伙伴(组织外)、协作团队(组织内)、团队成员等相关的人。
- Tech,包含了技术远景、文档(文档即代码)、项目代码、技术栈、软件库管理等。
- Business,涵盖了业务远景、业务需求、跨功能需求等业务相关功能的需求。
0. 技术远景
说明:在技术上,我们有什么追求?
1. 文档
- Path to Production
- 上线及发布日记
- 项目相关的 wiki 和文档记录
说明:文档即代码——好的文档应该是版本管理的。
2. 架构
- 系统相关的架构图,如 C4Model 方式描述
- 现有的技术栈及其关系
3. 代码库
- 搭建指南
- 架构决策记录
- 编辑器配置和代码风格规范
- 模式和风格指南
4. 项目演进
- 未来的技术栈
- 系统的演进方案
5. 安全
- 安全标准。安全更重要,还是体验更重要?
- 代码中的数据加密。
- 代码安全。
0. Project Process
- 项目的 Roadmap?时间长短,上线时间等。
- 项目功能的生命周期。如敏捷中的故事卡工作流
- 沟通方式?如 IM,邮件,还有敏捷的每日站会,远程会议,Retro 等
1. Path to Development
- 开发机申请及网络等权限准备
- 代码库权限管理
- 编辑器和相关的工具申请
说明:不同的的组织包含自身特别的情况,如 PC 端口、网络权限、代码库权限等的开通都需要一定的流程。
2. Path to Production
- 上线每一步的流程
- 相关的关键人
- 每一步所需要的工具
- 每一步所需要的流程。如 QA 测试流程,上线流程
说明:代码中的 Path to Production 只是一份说明——针对于开发人员的,而这里的则需要一个更详细的说明。
3. Path to Roll Off
说明:换一个项目时,需要哪些东西?
1. 团队成员
- 非技术问题找谁?
- 团队成员的技术栈及水平
- 每个人的技术水平,应该怎么带:Coach(教练式), Pairing(结对式), Teach(教学式)
- 项目无关的技术,可以找谁一起“娱乐”?
- 1 to 1 Meetings
2. 利益相关者
- 了解各个相关者(Level 1)。如作为一个开发人员,大部分时间并不会和利益相关者有直接的沟通。
- 和相关者保持沟通(Level 2)。适当沟通,可以帮助项目更好地进行。
3. 跨团队协作
- 相关的合作方有哪些,各自的接口人是谁?
- 同组织、项目下的其它团队。
0. 业务远景
说明:我们在做什么,我们要去哪里?
1. 业务需求
- 有没有接近全的需求列表。在一定的时间(如迭代内),需求应该是稳定的。
- 需求是如何从口头到待办列表的?中间是不是存在不规范的问题
- 业务是如何进行变更的?
2. 跨功能需求
- 运行质量。在系统运作时观察到的质量,例如保安性及易用性等
- 演进质量。软件系统结构及开发过程有关的质量,例如软件可测试性、可维护性、可扩展性、可伸缩性(scalability)等
© 2019 A Phodal Huang's Idea. This code is distributed under the MIT license. See LICENSE
in this directory.