技术要不要懂产品?

Posted by 邹壮壮的博客 on August 20, 2020

2020-08-20-技术要不要懂产品?.md


layout: post title: 技术要不要懂产品 subtitle: NSAttributedString对齐方式 date: 2020-08-20 author: 邹壮壮 header-img: img/post-bg-ios9-web.jpg catalog: true tags:

- iOS
- iOS开发基础
- 产品

​ 一提到需求变更,一些研发会皱着眉头改代码,心里 mmp ,怎么又 TM 改需求啊;一些研发会让产品经理签字画押,作为日后打脸的呈堂证供;还有一些研发会直接拒绝,要改你来改啊,老子就不改……但事实上,业务稍微复杂一点的产品都会有需求变更,要求产品没有需求变更,相当于要求研发写的代码没有bug 。我相信没有一个研发敢摸着良心保证自己的代码没有一个 bug 。

Glyphs Metris

需求频繁变更,技术心中总是万马奔腾,觉得需求不靠谱,需求解读错误,需求不明确……除去市场、产品本身存在的问题,大多都是对自己研发的产品没有清晰的认识,不知道产品整体功能,只关注自己的一亩三分地,不关注产品未来的发展。版本迭代不光是解决bug,还有需求增加。我们技术在研发的时候也要具备一些前瞻性,跟得上产品的思维,理解需求,不要让自己觉得在做无聊的事。

1.考虑未来三个月内的扩展性

在做一些比较大的功能模块时,不能只考虑第一个版本的规划,还需要考虑未来两到三个版本的功能。了解未来产品要做成什么样子,哪些功能必须要做,哪些功能可能要优化。这样就可以提前做相关技术调研,规划技术架构,提高代码的可扩展性和可维护性,也可以节约自己的开发时间,提高研发效率。心中有谱做事不慌张,也可以保证代码的稳定性。

2.考虑特殊情况

一般正常情况大家都没问题,但是我们做移动端开发的心里要明白服务端是不可信的,接口会返回各种异常。

  1. 没有网络,网络条件不好,WiFi网络环境和非WiFi网络环境
  2. 没有数据,少量数据,大量数据,数据错误(不是自己需要的,空,null)

不是自己想要的结果,可能会因为各种异常造成崩溃,页面展示异常,不是很友好的提示。

3.明确优先级

1.要明白产品的主要功能

2.要清楚这个需求是不是必须的,紧急的

3.问题涉及的用户有多少,实现了这个需求,是不是能立马解决困扰用户很久的问题,这个需要使用频率高不高。