项目开发进程中会遇到许多问题,今日共享十个常见问题及应对思路。

问题一,线上出bug了,是先找责任人,仍是先处理问题?

不是每一个问题都值得被追责的,指责也不能修复bug。发现问题后,关键是处理问题。问题处理后,再作复盘。复盘的目的也不是追责,而是为了防止问题再次发生。一个重大的过错应该被当作是一次学习而不是指责他人的机会。团队成员们在一同作业,应互相协助,而不是互相指责。把矛头对准问题,齐心协力找到处理办法,而不是去指责团队成员。

问题二、寻求研制速度,仍是寻求研制质量?

古语说:欲速则不达。但假如项目眼看着就要延期,怎样办?项目负责人有压力,研制人员相同也有压力。压力过大会让人走捷径,只看眼前利益。哪怕项目负责人不愿意走捷径,怎样履行呢?假如你考核开发人员要按时完成使命,你怎样确保他不会用一些”特殊方案“呢?堵不如疏,仍是要用流程来处理这个问题。能够跟团队成员约定好,在项目开发进程中,因为时刻不行,但有其他更简单的方案应对时,能够把处理方案抛出来,让大家一同决议。虽说我知道不走捷径自身便是走捷径。但有时候仍是要退让。尽管退让会给未来埋坑,但只要控制的好,有应对方案,风险就全体可控。

问题三、某个模块有缺点,需求时刻重构。可是新需求又许多,怎样办?

无论是前史原因,仍是啥原因,一旦发现某个模块没办法进行迭代的时候,就需求组织时刻检查、重构代码。做项目又不是比谁做的功用多。早期公司为了生存求快,能够了解。等到公司度过生存期进入发展期,就应该早点还技能债,不然越到后面越难改。

问题四、咱们在评论需求的时候,到底是对事仍是对人呢?

这是在做需求评论时,咱们都应该自问的一个问题。明明都知道应该对事不对人,但每个人或多或少都有一些自我主义。你很或许见过,对方案设计的评论失控变成了情绪化的指责——做决议是基于谁提出了这个观念,而不是权衡观念自身的利弊。

许多争论都是片面判别引起的,而处理的方案便是改变沟通方法。最好的沟通方法是yes,and 或许yes, if。先必定其观念,再提出疑虑或许新的东西。举个比如,同事A针对项目提出了一个实现方法,你觉得有问题。但不要直接说这个问题,应该先必定yes,谢谢A提供的方案,咱们是不是还需求考虑多端登录的问题?(and贡献新东西)。

问题五、写的代码因为人员变动,导致没人能保护。

一切的体系开发久了都会变得很杂乱,因而没有一个人能完全明白一切的代码。除了深化了解你正在开发的那部分代码之外,你还需求从更高的层面来了解大部分代码的功用,这样就能够了解体系各个功用块之间是如何交互的。我有一个观念,每一个开发人员都应该了解需求背面的目标或许理由。只要了解需求,你才懂你的代码。想要处理无法保护代码问题,需求从源头开端做标准。

  • 经常做代码审阅,让团队内的其他成员检查你运行的代码。在你不阐明的状况下,其他同事能看懂,直接阐明你的代码风格很清晰(注释很重要)
  • 做好单元测试,单元测试协助你很自然地把代码分层,分红许多可办理的小块,这样就会得到设计更好、更清晰的代码。一同,它能直观看到结果是否与你所想的一致。

问题六、我能力不行,开会时应不应该提出自己的见解?

团队存在的意义便是供认一个人干不过来,需求团队一同去干。每个人都会犯错。假如你预备提出一个主意,却忧虑有或许被讪笑,或许你要提出一个主张,却忧虑自己丢面子,那么你就不会自动提出自己的主张了。可是,好的软件开发作品和好的软件设计,都需求大量的创造力和洞察力。共享并融合各种不同的主意和观念,远胜于单个主意为项目带来的价值。事实上,许多公司都会组织一些初学者来提主张。

咱们每个人都会有好的主意,也会有不对的主意,团队中的每个人都需求自由地表达观念。即使你的主张不被全盘承受,也能对最终处理问题有所协助。不要害怕受到批判。记住,任何一个专家都是从这儿开端的。你不需求很超卓才干起步,可是你有必要起步才干变得很超卓。

问题七、领导在会议上决议履行一个过错的决议方案,你作为下级,是否当众提出疑问?

假如你十分确认决议方案有问题,我主张仍是要提的,只是要注意提主张的方法,不要用片面观念去质疑,而应该摆事实。(最好的方法是在会前提出)

假如你没提出,或许提出后方案仍是被确认了(不管是什么样的方案),那么就承受它。然后和团队成员通力合作,努力实现这个方案。

问题八、有一门新技能呈现,要不要运用?

依据自己的需求来挑选新技能。首要你得清晰你需求什么,要处理什么问题。依据详细的问题来评价运用新技能。其次,要了解新技能的利弊,每一个技能都是有局限性的。最适合的才是最好的。最后,你要清楚运用新技能需求支付的价值。

许多新技能都是基于现有技能和思想而开发的,这些新东西也是逐步完善。假如你紧跟技能改变,那么学习这些新东西对你来说便是了解这些增量的改变,假如你不盯梢改变,技能改变就会显得很忽然并很难了解。这就好比少小离家老大回,你会发现改变很大,许多当地都不记得了。可是,对于寓居在那里的人们,每天看到的都是小小的改变。所以十分适应。

假如你想测验一门新技能。我的主张是先小范围测验,宁可慢,不能错。

问题九、如何才干跟上技能改变的步伐呢?

  • 迭代和增量式的学习,每天方案用一段时刻来学习新技能,当你听到一些新的名词时,简要地记录,然后在方案时刻去了解。
  • 互联网给了一个我认为最好的方法,找到这个范畴里的某一位或几位牛人,跟着他们学。有线上课程的看课程,有线下活动的参加线下活动。出了书的看书。
  • 清晰自己不需求通晓一切技能,也不或许通晓每一项技能。只要你在某些方面成为专家,那很容易用相同的方法在新范畴成为专家。
  • 要了解新呈现的技能是为了处理什么问题而开发的,它能用在哪些范畴。然后规划自己的项目和职业生涯。
  • 应用技能时,有必要先评价新技能的优势。然后用一个小的原型体系去验证。
  • 打造一个学习型团队,每周固定时刻做共享会。让每个人参加,进步学习效率。

问题十、编码进程中发现需求有问题,怎样办?

首要,要清晰这种现象是正常状况。哪怕有需求评审会,咱们也没办法找出一切问题,有些问题只要在编码的进程中才会发现。

其次,不要自己想处理方案来规避或处理问题。有些你以为的问题,在业务上并不是。或许能够用一些非技能的手法来处理这个问题。

最后,整理清楚问题,然后跟产品负责人、开发负责人、项目经理一同评论。假如早上有晨会,能够在晨会上把问题抛出来,确认评论使命和时刻,但不在晨会上做详细评论。