项目设计
几个问题
在我们考虑技术(采用怎样的编程语言和工具)之前,你首先应该停下来好好想一想关于你想要做出的产品的各种细节。
- 我到底想完成什么?
- 网站如何实现我们的目标?
- 做什么,以怎样的顺序,才能达成我的目标?
我到底想完成什么?
这是你需要想清楚的最重要的问题,因为它主导着所有其它的事情。列出你想要达到的所有目标。
我想做的
- 知识体系网站
- 语言学习网站
- 社交活动网站
- 资源共享网站
知识体系网站已经确定了;记录英语输入可以继续使用番茄打卡;社交活动目前刚起步,往后可以做个小程序;资源共享网站可以启动。
知识体系网站
记录我在成长过程中学到的所有知识、技能,组成我的知识体系。
软件项目流程
- 项目定义
- 需求分析
- 开发阶段
- 维护/结束
项目定义
需求分析
- 需求分析
- 目标
- 范围
- 可行性分析
- 预期结果
需求分析的前置考虑
项目要求,业务需求,用户需求,具体产出。
分析好所有需求,做好能做的预估,把问题摊开,由公司计算成本,决定是否要做。
需求分析的痛点
- 不想就做
- 照单全收
- 未沟通,未确认
- 放羊式管理
需求变更
考虑是否合理。项目工期,技术实现,对主体业务的影响。
沟通是王道,引导需求。 会哭有奶吃。不要抱怨,但可以要求一些事情。
技术栈的选择
通过需求分析可以确定技术栈。但也要考虑团队技术实力与业务需求结合。
能够复用的,坚决不重新造轮子;需要造轮子的,坚决不牵强。
怎么简单怎么来,多考虑时间,进度,质量等因素和成本。
开发阶段
- 自动化
- 规范化
- 标准化
- 文档化
维护/结束
对文档进行归纳,对项目进行总结,形成组织资产。
好的方案
对组织人员进行培训,转变思维,向自动化/规范化转型。 配合效率工具,对流程进行优化。 全员参与并实践。
DevOps
敏捷流程的一部分。
plan -> code -> build -> test -> release(发布) -> deploy(部署) -> operate(运维) -> monitor(监控)
1
这个循环的过程包含了版本控制,本地开发,自动化,文档管理,缺陷控制(JIRA)。