![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术管理
Matea1024
致力于构造高效IT组织的理论与实践,大规模团队敏捷实践和管理再造,以及企业级技术应用趋势和技术战略的研究等
展开
-
远程连接本地磁盘
远程连接本地磁盘原创 2022-04-28 09:24:31 · 230 阅读 · 0 评论 -
软件工程中技术架构和组织架构的关系
一、 软件工程中技术架构和组织架构的关系不知道你有没有观察过:通常系统架构和组织架构是相似的。比如说前后端分离的架构,那么在组织上一般也会分前端组和后端组;而微服务架构,则分组是和服务相关的,可能一个组就是负责一个微服务。其实组织架构和技术架构相似这个现象不是偶然的,这个现象背后有个定律叫康威定律 (Conway’s Law)。康威(Melvin Conway)博士在 1967 年提交的一篇论文《How Do Committees Invent?》中最有名的一句话是:Organizations wh原创 2021-10-11 08:00:00 · 906 阅读 · 0 评论 -
软件开发团队规模
网上曾有一张流传甚广的关于各大公司的组织结构图。这张图形象生动的描述了各大公司的组织结构,各具特色。然而这些大厂的组织结构具体细分到软件项目开发团队的时候,却惊人的相似:那就是一个软件项目开发团队都不会太大,一般不会超过 10 个人,如果超过就会被分拆。最著名的就是亚马逊的“两个披萨原则”,也就是团队的人数不应该多到让两个披萨不够吃。其实大厂的软件项目都采用小团队的原因很好理解,那就是团队规模越大,交流就越复杂,成本也越高!要想沟通更高效,那么就要求团队的规模必须足够小。组织架构的小型化也会对软件架原创 2021-10-09 07:08:31 · 979 阅读 · 0 评论 -
软件项目失败的原因
一、软件项目失败的原因从四个方面去分析软件项目失败的原因,那就是外部环境、技术管理、项目管理和组织文化。二、细化总结出一些具体的常见的失败原因:不切实际或者不明确的项目目标;对项目所需要的资源估算不准确;需求不明确或者频繁变更;没有对风险进行有效管理;和客户之间沟通不畅;无法解决项目的复杂性;没有好的开发实践;糟糕的项目管理;上层的政治斗争;商业压力。软件项目失败并不可怕,最重要的还是在失败后,总结原因,吸取教训。...原创 2021-10-06 07:56:40 · 2210 阅读 · 0 评论 -
程序员的业余项目失败的原因
程序员的业余项目失败的原因想法大,时间少;过于追求技术,缺少约束;缺少产品能力和运营能力。这几点是程序员业余项目失败的主要原因。针对想法大、时间少的问题,可以借助软件项目金三角的理论,去缩小范围,在做项目时,可以采用 MVP 的开发模式,先实现核心需求,再逐步增加功能。针对过于追求技术、缺少约束的问题,应该要对你的项目制定计划,设定里程碑,把时间点告诉你的家人和朋友,让他们监督你执行,通过 Dead Line 来保障项目的进度。针对缺少产品能力和运营能力的问题,需要有针对性地去学习相关知原创 2021-10-03 07:24:52 · 162 阅读 · 0 评论 -
最佳实践:小团队如何应用软件工程?
小团队在软件项目开发上的主要问题是:对成本敏感、人少活多和缺少流程规范。相应的,我们就需要从团队建设和流程建设两个地方入手,去解决这些问题。在团队建设方面,需要从四个方面入手:招人、培养人、管理人和开人。招人的时候,找一些有潜力的培养,也要注意梯队建设,中间有技术骨干补充;对团队的人才要悉心培养,通过给新人安排师傅的方式培养新人,日常注意- 代码审查,内部技术分享是个不错的共同提高的方式,技术高手要注意不只是闷头干活,也要承担一定的带人的工作;管理人核心在于营造好的氛围,鼓励成员自我驱动去做事原创 2021-09-30 07:46:20 · 156 阅读 · 0 评论 -
Windows10关闭占用某一端口号的进程
查看指定端口的使用情况使用命令:netstat -ano | findstr 端口号手动关闭进程方法一:运行命令:tasklist | findstr 进程号查看进程的详细信息,第一个参数是启动该进程的程序,即图中java.exe,使用任务管理器将其关闭方法二:运行命令:taskkill -PID 进程号 -F 执行此命令强制关闭指定进程号的进程...原创 2021-09-28 17:58:21 · 161 阅读 · 0 评论 -
自动化测试代码金字塔结构
1. 自动化测试确实会耗费很多时间。自动化测试代码通常是金字塔结构:单元测试(小型测试)代码最多,执行也最快,占总比例的 70% 左右,通常 1 分钟内;集成测试(中型测试)代码其次,执行比较快,占比 20% 左右,控制在 10 分钟以内;端对端测试(大型测试)最少,执行慢,占比 10% 左右。一般 CI 里面跑单元测试和集成测试,耗时 10-15 分钟左右,其实还可以接受。2. 跑自动化测试,数据库有不同策略。单元测试不访问数据库,完全模拟。集成测试只访问本机数据库,或者模拟的内存数据库,每原创 2021-09-24 07:33:16 · 328 阅读 · 0 评论 -
如何做好项目复盘
回顾项目目标; 评估项目结果; 分析原因; 总结规律,落实行动。第一步:回顾项目目标每个项目在最开始的时候都会确定项目的目标,所以复盘的第一步,就是要回顾最初的项目目标,方便对最终结果进行评估。在这个环节,需要你描述清楚当初定的项目目标是什么?项目计划中制定的里程碑是什么?其中的关键就在于,对目标的描述要尽可能准确和客观。因为只有做到准确和客观,在后续你才能对目标的完成情况进行准确地评估。比如说:“我们的目标是做一款伟大的产品”,就不算是准确客观,因为“伟大”是一个根据主观评判的形容原创 2021-09-23 07:29:21 · 3581 阅读 · 0 评论 -
怎样搭建一套日志管理系统
怎样搭建一套日志管理系统?在了解了整个日志管理系统的基础架构后,再要去搭建这样一套日志管理系统,就可以做到心中有数了。你可以基于这套架构去寻找合适的工具,或者直接基于 ELK 去搭建一套日志管理系统。关于 ELK 网上已经有很多安装使用教程,比如这一本电子教程《ELK 教程》就写的很详细。ELK 本身是一套开源免费的工具,除了 ELK,还有一些类似的工具可以选择,可以和 ELK 配合使用。SplunkSplunk 是一套商业的日志管理系统,搜索功能非常强大,操作方便,就目前来说,要比.原创 2021-09-23 07:26:44 · 876 阅读 · 0 评论 -
自动化测试工具 Java等
Bug 跟踪工具在项目管理工具那一篇文章中,我已经给你介绍了一些任务跟踪系统,比如说Jira、禅道、TAPD、云效等,都可以用来跟踪 Bug。BugzillaBugzilla是由 Mazilla 公司提供的一款开源免费的 bug 跟踪系统。这是一款历史很悠久的产品。MantisBTMantisBT是一个简单但功能强大的开源 bug 跟踪系统,可以通过各种插件来扩展其功能。RedmineRedmine是一款开源的综合性的项目管理工具,不仅可以用于 Bug 跟踪,还可以用来跟踪项目进...原创 2021-09-21 08:39:37 · 389 阅读 · 0 评论 -
用好源代码管理工具原则
用好源代码管理工具,有三个简单可行的原则:原则一:要频繁的提交;原则二:每次提交后要跑自动化测试;原则三:提交的代码要有人审查。基于源代码的开发流程,要保证好两点:有一个稳定的代码分支;在合并分支之前,对代码有审查,自动化测试要能通过。用好源代码管理工具,设计好开发流程,保证好代码质量,协作才能更高效。...原创 2021-09-15 08:24:18 · 161 阅读 · 0 评论 -
自动测试配合持续集成的标准流程
自动测试配合持续集成的标准流程在提交代码前,先本地跑一遍单元测试,这个过程很快的,失败了需要继续修改;单元测试成功后就可以提交到源代码管理中心,提交后持续集成服务会自动- - 运行完整的自动化测试,不仅包括小型测试,还有中型测试;通过所有的测试后,就可以合并到主分支,如果失败,需要本地修改后再次提交,直到通过所有的测试为止。选择好自动化测试框架要写好自动化测试代码,首先要找对自动测试化框架。不同的语言,不同的平台,测试的框架都不一样。好在现在搜索引擎很方便,根据“你的语言 + 自动测试框架”原创 2021-09-15 07:55:57 · 281 阅读 · 0 评论 -
有哪些方法可以提高开发效率?
有哪些方法可以提高开发效率?一、积极主动,行动起来改变自己二、减少关注圈,扩大影响圈三、不要总盯着自己无法改变的部分,你需要要多花时间精力在影响圈上。四、以终为始,想清楚再开工五、经常停下来想想目标,制定原则,六、公开自己的计划七、要事第一,把时间用在刀刃上1.重要紧急的事情马上处理2.重要不紧急的要事,要花最多的时间在上面3.紧急不重要的事凑一起集中做4.不重要不紧急的事情能不做就不做总结:积极主动、 以终为始和要事第一,这三个原则以及其衍生出来的方法,正是帮助我逐步变成一个高效原创 2021-09-13 12:47:07 · 1107 阅读 · 0 评论 -
架构师思维
架构师思维,指的是要具备良好的抽象思维、分治思维、复用思维和迭代思维。另外没有架构师的头衔,也一样可以做架构设计,只要你有架构师的能力就可以了。而好的架构师,需要具备:有架构师思维;懂业务需求;有丰富的编码经验;良好的沟通能力。要想成为好的架构师,没有什么捷径可以走,首先需要要成为一个优秀的程序员,然后多模仿、多学习好的架构设计,最后还要早点选择好行业和平台,积累好行业的业务知识,借助平台获得大量的实践机会。...原创 2021-09-13 07:53:46 · 340 阅读 · 0 评论 -
技术选型方法论
技术选型,本质上是项目决策的一种,也符合项目决策的一些特点。技术选型的选择要受制于范围、时间和成本的约束,要分析可行性和风险,要考虑利益相关人。还有一些坑要小心避开,比如要避免把听到的观点当事实,要验证;要避免先入为主,不要有了结论再找证据。...原创 2021-09-13 07:51:30 · 291 阅读 · 0 评论