CTO 对软件工程似乎不太了解,感觉很不好

2017-08-09 08:07:15 +08:00
 sfree2005
从老板那了解到 CTO 在软件行业里也有十几年经验了,虽然不是科班出身,但应该也会了解到很多吧。

但刚刚接到的的项目,他只是需要客户提供些界面设计草图和澄清一些问题,就开始设计数据库写代码。

如果这个 app 简单,或者是模仿某个现有 app 还好说,但现实是里面的核心功能是完全独有的,高定制的。

在我看来,不是应该先有剧本(use case),各种 UML 图,然后再有界面的设计草图吗?没有这些,作为后端的我几乎不知道干啥。我也可以想象到前端移动端更不知道除了按界面设计图画模板外还能做些什么。

需求一直改是肯定的,但在剧本和 UML 图阶段就改掉部分绝对是节约大量时间的。如果跳过这个过程,去改 code 甚至数据库设计的话那将会很头疼呀。

作为后端,我实在坐不住,就有主动做些需求分析工作,写下 use case,画些图和设计数据库之类,CTO 人也好的,他有鼓励我做这些。但没有项目管理层去领导或者推动,感觉还是不对。

CTO 自己花时间在根据新需求改界面设计草图,我实在不能同意这样的工作流程。这些改动完全可以在 use case 阶段修改从而节省大量时间。

大家的经验又是怎样的呢?没有花时间在软件设计上真的可以?在我看来就等同于没有图纸建大楼呀。

P.S. 我想在回复里会有人说“要么忍,要么滚”,由于个人原因,我是会两个月之后离职的。
7419 次点击
所在节点    职场话题
61 条回复
tabris17
2017-08-09 14:09:13 +08:00
UML 画给自己看么?你确定工期来得么?

其实很多情况只要有用例就可以了
rswl
2017-08-09 14:09:38 +08:00
当 CTO 开始设计数据库的时候说明脑海已经画通了
sfree2005
2017-08-09 14:10:25 +08:00
@zyltd1990 我觉得我目前的状况就是你说的那种创业公司,我就是为了避免我日后需要返工才更主动做需求分析。敏捷开发也要需求分析的,不是吗?只是变成产品局部模块的需求分析。
huanglexus
2017-08-09 14:11:32 +08:00
严格的 UML 和 Use Case 定义只有教科书或者外包公司才会用。

现在这些互联网公司用的所谓的敏捷开发,Scrum 框架,1 周或 2 周为周期作为一个 sprint,鬼才有时间做什么 UML 和 UseCase,都是看完 prd 文件直接开撸原型
hitmanx
2017-08-09 14:26:40 +08:00
看公司吧.上家公司设计阶段,架构师肯定是要出 UML 的,具体类的继承关系,接口函数什么的.也需要把各种用户用例的边界条件\异常处理讨论清楚.现在这家公司没有,不过伪代码和数据结构这些在设计文档里还是有的.
chmlai
2017-08-09 14:26:42 +08:00
要看什么样的系统, 和大公司小公司没有关系; 要是业务非常复杂的系统靠几个 UI 原型就开工的多半会坑爹;
justfindu
2017-08-09 14:32:13 +08:00
CTO 为啥要做这些工作
sampeng
2017-08-09 14:40:43 +08:00
除了非常复杂的逻辑画一下 uml。其他的脑子里都有了。。有点浪费时间
Taojun0714
2017-08-09 15:00:56 +08:00
@facetest
@huanglexus 敏捷开发就是最常见软件工程,国外正经互联网公司敏捷开发 scrum 框架,uml 用的少,但必然要有 Use case,user story
Shazoo
2017-08-09 15:04:53 +08:00
完整的 UML 图是应该有的。但是,并不是说非它不可。

规模小的时候,为了速度,不写这个也没啥问题。(只要沟通及时)

反之,开发日志和开发过程的实现文档是必须要得记录下来的。
otakustay
2017-08-09 15:26:08 +08:00
UML 是没必要的,但重点功能画几张草图留一点文档显然是必要的,楼上都把文档和设计当成啥了……
zyltd1990
2017-08-09 15:44:02 +08:00
@sfree2005 我想大家可能有个误解,把 USE CASE, UML 和 PRD 混为 一谈。 我不知道你们公司有没有 PRD 文件,PRD 文件应该要包含有需求说明,而 USE CASE 就是一种大家最为熟悉的需求说明。身为产品狗,我也经历过那种听了几个人的意见就开始撸原型,撸界面的时候,这种情况的结果通常都不会太好,不是产品没人用,就是体验相当差。
上面有人提到 Sprint,我想 use case 主要是由 product owner 或者是 product manager 决定的,这和 sprint 有什么关系,这些是在 sprint 开始之前就准备好的,如果没有这个凭空开发,那不是敏捷开发,那是瞎搞。
chztv
2017-08-09 15:46:57 +08:00
团队需要有默契吧,楼主家的 CTO 是刚来?还是楼主入了一个新团队?
每个团队只要有自己的默契就行,Boss 说要 UML,那就画呗,既然 CTO 觉得没必要 UML,楼主不用那么在意。
a591826944
2017-08-09 15:49:38 +08:00
美人花 UML 了。。很少很少的。。确定需求,PR,数据库设计等 就开工了
sfree2005
2017-08-09 16:15:21 +08:00
@facetest 说是敏捷开发,但我连产品需求很多都模模糊糊的时候,敏捷不起来呀。

@happinessnch 我是连基本的设计都不全下不了手呀

@taine 他想快点出东西,但对于我,我没进食(input )实在拉不出屎( output )呀。但他是支持我继续需求分析的,这不错。

@evefree2 小公司,他有时会客串

@ansheng 我也有和他讨论,也能发现自己设计中没有考虑好的地方

@imn1 我也会和客户沟通,客户挺不错,她对我的需求分析也感兴趣,我会给她讲解然后听她意见,最后修改设计和她确认
huanglongtiankon
2017-08-09 16:37:19 +08:00
UML 就没必要了吧,我都没见过,有明确需求就好,客户端的设计可以用各种原型工具,数据库设计只要需求大概定下来就能做的了啊,我觉得你主要的问题是需求不明确吧
imn1
2017-08-09 16:38:57 +08:00
@sfree2005
不是说你所提的想法不好,只是你的这种想法会被岁月和环境磨灭
其实你的 CTO 以前以前的想法是和你相同的,但他现在就是被磨灭的过来人

感觉你没分清 “客户” 和 客户 的区别

沟通一切顺畅,最后演示不通过的,遇的多了
因为沟通的那个人不是最后拍板给钱的那个,这就是“客户”和 客户 的区别
希望你这次遇到个好的客户吧
sfree2005
2017-08-09 18:16:32 +08:00
@jason19659 #32 简单的项目我也是这样,但这次的项目比较复杂或者说这种类型的项目我没有经验,真的需要好好分析才敢动手干。

@sampeng #48 嗯,我只是在业务复杂的那一部分画,而且也只能算是不正规的 UML 图。

@tabris17 #41 关键是我连用例都没有~~~UML 主要是自己看,还有和同客户沟通时确认。工期还好,不是太赶。

@rswl #42 数据库 CTO 有弄,我经过我自己的分析我有在上面更改,CTO 和我接收到的信息量是一样的,只是我比较有时间做些分析什么的

@huanglexus #44 我的 PRD 是简陋到不能再简陋那种,不敢马上就下手,或许是因为我的经验还不够吧。

@chztv #53 他不是刚来,有合作一段时间了。Boss 不会插手这些事,都是我们自己商量。

@a591826944 #54 关键是具体需求,PR,数据库设计这些都没有,我需要自己分析。

@huanglongtiankon #56 是的,非常的不明确。

@imn1 #57 还好 CTO 没有倚老卖老,禁止我去做那些事情。这次也算幸运的,拍板给钱和沟通的是同一个人。
eyp82
2017-08-10 06:46:10 +08:00
听楼主这么一说感觉这个 cto 为人还不错的样子
tabris17
2017-08-10 12:40:14 +08:00
@sfree2005 至少有个什么书面文档吧,难道都是口头描述?没有用例测试也没法测啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381532

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX