Skip to main content

软件工程把人困死之一

发信人: liangmaomao (翟欣欣--程序员克星), 信区: Programming
标  题: 码工命苦啊,软件工程把人困死之一
发信站: BBS 未名空间站 (Sun Feb 25 14:33:21 2018, 美东)

最近两年,公司进行了一系列改变,码工过去的好日子一去不复返了。

1. Agile-SCRUM-JIRA-Sprint

全面实行Agile,没感觉出比waterfall好啊。倒是平添了许多overhead。

SCRUM,来了个女SCRUM master,教大家推广SCRUM,如何把一个项目细分,如何分工合
作。专门抽了一个小时,大家围成一圈,站在一起,互相传几个乒乓球,体会分工合作
是怎样完成的(你妈这是幼稚园吗?)。三五句话,能说清楚的事,非要这么搞?有的
码工闲来无事,干脆从裆下传球,引大家哈哈大笑。这个女SCRUM master,把什么都管
死,叫你做项目一,你就不能准备项目二。严格规定,只能有一个项目in progress,
如果你有两个,需要把另一个move回ToDo.每天来回几次,move between InProgress
and ToDo,你妈烦不烦?

JIRA, 后台是JAVA, 慢得要死,点一下,等三到五秒才刷新. 一帮PM, trigger happy,
create 一堆 JIRA story, 每个story下面预设好一堆JIRA task, 也不事先和码工商量
,story划分的驴头不对马嘴,然后就在会上对码工说,“嗟,来食!”

Sprint,一个Sprint两个星期,做完了做下一个,条块分割,他的report上看着好看了
,项目实际上根本不是那么回事.

基本上开发维护效率降低一半,是所有的IT码工现在都是这样,大趋势,包括BAT?
FANG? startup?

 发信人: liangmaomao (翟欣欣--程序员克星), 信区: Programming
标  题: Re: 码工命苦啊,软件工程把人困死之一
发信站: BBS 未名空间站 (Sun Feb 25 20:10:00 2018, 美东)

挖来一个CICD专家,长着一个meat head,CI系统搞出什么R branch ( release ), M
branch ( maintenance ), master branch ( production ) merge来, merge去, 脱
裤子放屁。一年半了, 完全 manual, 0 automation。 现在他人手不够,手下又找来
几个人帮他manual build. 他混进高级经理。

我亲见此人用JIRA+BitBucket Merge code, 先Create 一个JIRA story, 再Create 一
堆 JIRA Tasks under it. 然后干一点小事就去move JIRA Task.可能他的众多Story+
Task every day, every week, 在 JIRA 的monthly report上特别好看,极得大老板欣
赏。在一次部门大会上,他建议所有Developer任何事情超过15分钟,都要log一个JIRA
item.。到目前为止还没有Developer响应他的号召(不过要真有人愿意干的话,估计
会深得大老板欣赏)。我蹲厕所超过15分钟也要log一个JIRA item?

【 在 walkrandom (walkrandom) 的大作中提到: 】
: Jira 这么烂的软件卖的到处是的。
: 用过最好的是github private,公司都不愿意用。

发信人: cuteguylol (lollolol), 信区: Programming
标  题: Re: 码工命苦啊,软件工程把人困死之二
发信站: BBS 未名空间站 (Sun Feb 25 15:59:32 2018, 美东)

what are you talking about?
CI/CD这一套很好,我这边git push出去,那边自动deploy到test server.然后tester
直接就能开始做test,test完一个键deploy到UAT.

比起以前苦哈哈写deploy documentation,再加上regression test不知效率高了多少
倍。
你们自己搞不定是水平不行。


【 在 liangmaomao (翟欣欣--程序员克星) 的大作中提到: 】
: 最近两年,公司进行了一系列改变,码工过去的好日子一去不复返。
: 2. GIT-BitBucket-codereview-Bamboo-CI
: CI系统,搞出什么R branch ( release ), M branch ( maintenance ), master
: branch ( Production )
: merge来, merge去, 脱裤子放屁。并没有搞什么 automation, 完全 manual。
: 以下摘自某公司码工job description:
: Implement well-defined (sub-)tasks and commit code to peer review
: Attend daily SCRUM meetings, sprint planning meetings, etc.
: Create and maintain unit and integration tests and software documentation
: 看来这些都是逃不了的。
: ...................
 

Comments

Popular posts from this blog

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checking a shared sec

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into /opt/course/1/context_default_no_kubectl.sh , but without the use of k