给初创企业工程团队的 5 个建议
每家公司都依赖软件,初创公司也不例外。软件已经从对每家企业都至关重要,变成了企业不可或缺的一部分。
软件创作是一门艺术、一门手艺、一个过程。
构建和发布软件是一场持续公司整个生命周期的马拉松。
为了有效地交付软件,您需要建立节奏和流程。在本文中,我们将讨论一个轻量级的框架以及一些初创公司可以遵循的技巧,以便定期有效地交付高质量的软件。
1. 设置冲刺
首先,你需要一个简洁的流程来确定要构建什么以及如何实际构建。没有流程就交付的团队最终会陷入混乱、压力重重,最终无法成功。
这是一个轻松的过程,称为 sprint,它将帮助您的团队每两周投入生产一次。
冲刺从规划构建内容开始。所有功能会被组织成两个列表:所有你想要实现的功能,以及你将在即将到来的冲刺中实际实现的功能子集。
在冲刺开始前,团队会聚在一起,重新确定所有功能的优先级。排序完成后,排名前 3-5 的功能将移入列表中,以便在下一个冲刺中完成。
一旦选定功能,它们将在本次冲刺中被锁定。您无法在冲刺过程中添加新功能。
这一点至关重要。在冲刺过程中进行更改会打乱时间表,并给你的工程团队带来巨大压力。务必避免这样做。
与拥有两个功能列表类似,您也应该拥有两个 Bug 列表。在每个冲刺开始之前,重新确定所有 Bug 的优先级,并将需要修复的 Bug 移到本次冲刺的列表中。
以下是您的冲刺的示例设置:
- 规划:开始前3天
- 修复错误:第一天:星期三
- 修复错误:第二天:星期四
- 代码:第 3-7 天:星期五 - 星期四,周末除外 🙂
- 测试:第 8 天:星期五
- 测试:第 9 天:星期一
- 发货:第 10 天:星期二
- 设置冲刺有一些技巧。
切勿在周五或晚上投入生产。
为什么?因为东西很容易出问题,然后你可能会毁掉你的周末,或者整晚都困在办公室。
第二个技巧是,在编写新功能之前,务必先修复错误。这样,你就能确保在坚实的基础上构建新功能。
如果你的冲刺周期是两周,那么你有5天的时间来编写新功能。假设你把功能分解成小块,这段时间就足够了。事实上,这个系统会强制你这样做。你一直在进步,不断改进产品,不断前进。
冲刺的最后部分是测试并确保发布高质量的软件。
每次冲刺的最后几天应该感觉像一个螺旋。
测试、发现错误并修复。距离发布越近,发现的错误应该越少。一旦没有发现任何错误,就可以发布产品了。
在发布工作的最后阶段,大家一起专注于特定的错误或功能是有益的。当大家齐心协力时,就能更快地解决错误,然后继续处理下一个问题。这种策略有助于整个团队共同努力,最终顺利发布。
2. 确定优先级并处理紧急情况
除了实施冲刺之外,还要让您的团队始终对功能和错误进行优先排序和堆叠排名。
当每件事都很重要时,什么也做不了。
使用简洁明了的语言,方便每个人在讨论优先事项时使用。例如:
- P1 – 最高优先级,业务关键
- P2 – 重要,需要完成,但不是关键
- P3 – 不重要,有就好
如果在生产环境中发现 P1 错误,并且该错误影响了业务,则需要暂停发布,并将修复程序推送到生产环境中。这种情况应该很少见。
如果你发现这种情况总是发生,那么你在冲刺的最后阶段没有很好地测试和修复错误。你需要重新审视你如何处理即将发布的螺旋式下降。
当你回顾你的功能和 Bug 列表时,你会重新排序并重新分配优先级。在冲刺之间调整优先级完全没问题,但不能在冲刺期间调整。
3. 配对程序并测试
敏捷软件开发提供了一系列方法,帮助构建高质量的软件。我最喜欢的两个方法是结对编程和测试。
结对编程实际上就是两个工程师一起工作。一个写代码,另一个在一旁观察。
结对编程可能看起来像是在浪费时间,但它实际上是一种更有效的编码方式,尤其是对系统的关键部分而言。
结对编程可以提高代码质量,并在团队成员之间建立良好的团队精神。你可以编写出清晰、无错误的代码。
测试,尤其是单元测试,是确保代码质量的另一种策略。编写和维护大量的代码测试实际上相当困难,但这样做是必要的,而且很有价值。毕竟,如果你不测试某个东西,你怎么知道它真的有效呢?
有两种类型的测试特别有用。第一组测试针对软件的关键部分;这些部分绝对不能出错。第二组测试用于暴露你发现的bug。每当你发现一个bug,首先编写一个测试来暴露它,然后修复代码。这样你就可以确保如果bug再次出现,你的测试能够捕获它。
4. 重构代码
就像宇宙中的其他一切一样,软件也会随着时间的推移而衰败。这或许不那么明显,因为我们在代码中很难发现“锈迹”,但它确实存在。随着时间的推移,大型软件会变得错综复杂、脆弱不堪,需要进行重构。
解决这个问题的方法是不断重构或改进你的软件。就像你定期去看牙医一样,你需要主动清理你的代码。
鼓励工程师删除不必要的代码,不断改进软件,使其变得更好。
此外,每6-8周安排一次清理和改进冲刺。在这个冲刺中,团队的重点不是业务功能,而是清理代码、改进代码和编写测试。
5. 打造一支快乐高效的工程团队
削弱工程团队确实很容易,大多数初创公司都能很快做到这一点。
初创公司在混乱中蓬勃发展,但用混乱的方式构建软件根本行不通。这就像试图在马拉松比赛中全力冲刺——你根本做不到。
编写软件是一项极具创造力和智力的活动,需要保持清醒的头脑、清晰的思路和特定的节奏。软件工程既可能带来无比的回报,也可能带来无比的压力。
设置冲刺并明确优先事项是创建快乐高效的工程团队的重要第一步。
通过创建节奏,您可以减轻压力。通过让您的团队频繁地交付生产,您可以让工程师感到高兴。毕竟,没有什么比看到自己编写的代码能够正常工作并为世界带来真正的改变更令人欣慰的了。
请与我们分享您在创业公司中构建软件所使用的策略和技术。
鏂囩珷鏉ユ簮锛�https://dev.to/alexiskold/5-tips-for-startup-engineering-teams-4fei