如何成为一名敏捷的程序员?

发布于 2024-09-26 01:51:14 字数 1459 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

三生路 2024-10-03 01:51:14

关键词是勇气。

勇于评估和讨论您的工作

勇于开始研究细节不足的小故事

勇于与客户交谈以详细阐述所述故事

勇于建设性地批评团队成员的代码

勇于(公开)审查您的错误并从中吸取教训

勇于发布“未完成但良好且可交付的”代码,当它已经交付价值时。

当管理层有一个好主意时,有勇气坚持商定的团队流程

;当找到更好的方法时,有勇气修改团队中商定的流程;

有勇气使用测试驱动开发和持续集成来交付高质量的代码。

...

注意:未完成的部分并不意味着“低质量”,它意味着让客户满意、干净地实施、测试、准备好发货。然而达不到开发者完美的想法,即spring配置有点笨拙,可以进行一些重构,一些自动配置,一些速度改进,一些极端情况......我发现一些开发者拿“用户故事作为人质”并使其无法发货,直到完美为止。如果好的就应该放手,更好的是为了下一个冲刺。

The keyword is Courage.

Courage to estimate and discuss your work

Courage to start work on small stories with insufficient detail

Courage to talk to customers to elaborate said stories

Courage to constructively critique team members code

Courage to review your mistakes (in public) and learn from them

Courage to release "unfinished but good and shippable" code when it already delivers value.

Courage to stick to the agreed team processes when management has a bright idea

Courage to amend agreed processes in team when a better way is found

Courage to deliver high quality code using test driven development and continuous integration.

...

Note: The unfinished part does not mean "low quality", it means satisfying the customer, cleanly implemented, tested, ship-ready. However falling short of the developers idea of perfection, i.e. spring configuration is a bit clunky, some refactoring can be made, some auto configuration, some speed improvement, some corner cases... I found that some developers take the "user story hostage" and keep it unshippable till it is perfect. If it is good, you should let go, better is for the next sprint.

唠甜嗑 2024-10-03 01:51:14

在我的组织中,你所要做的就是声明自己是一名敏捷程序员。神奇的是,对计划和文档的需求消失了。

In my organization, all you have to do is declare yourself to be an Agile Programmer. Magically, the need for planning and documentation disappears.

够运 2024-10-03 01:51:14

敏捷编程的第一步应该是什么?

请在此处阅读敏捷宣言的 12 条原则。理解并尝试理解每一项,并按照它们的说明简单地实施它们。

  1. 尽管敏捷原则可以单独采用,但在我看来,它应该在组织级别或至少项目级别采用。敦促您的团队和您的项目使用更敏捷的 SDLC 方法,例如 Scrum,例如,如果您正确采用 Scrum,您将自动变得敏捷。

  2. 对于敏捷编程 - 结对编程,配置持续集成和构建系统,使用测试驱动开发,通过代码审查、设计讨论持续关注代码质量和设计最佳实践,并具有较高的单元测试代码覆盖率。< /p>

What should be my first step in Agile programming?

Read the 12 principles of the Agile Manifesto over here. Understand and try to make sense out of each one and implement them as simply as they are stated.

  1. Although agile principles can be adopted individually, it should be adopted on an organisation level or at least project level IMO. Urge your Team and your project to use SDLC methodologies which are more agile like Scrum for e.g. If you adopt Scrum properly you will automatically be agile.

  2. As for Agile programming - Pair program, configure a Continuous Integration and Build system, use Test Driven Development, pay continuous attention to code quality and design best practices by doing Code Reviews, design discussions and have high unit testing code coverage.

献世佛 2024-10-03 01:51:14
  1. 询问需要做什么。
  2. 按优先级顺序对该列表进行排序。
  3. 编码、测试并交付清单上最重要的事情;当你这样做时,不要被打扰:如果有人试图打扰,请解释说你正在忙着做最重要的事情,并且因为你只专注于做那一件事,所以不会花很长时间,他们就会很快就会要求您做其他事情(此阶段称为“冲刺”)。
  4. 交付后,要求完成下一件最重要的事情,然后再做,等等。
  1. Ask what needs to be done.
  2. Sort that list in order of priority.
  3. Code, test, and deliver the most important thing on the list; resist being interrupted while you're doing that: if someone tries to interrupt, explain that you're busy doing the most important thing, and that because you're concentrating on only doing that one thing it won't take long and they they'll be able ask you to do something else soon (this phase is called the "sprint").
  4. Once you've delivered, ask for the next most important thing to be done, and then do that, etc.
梦毁影碎の 2024-10-03 01:51:14

根据我的理解,可以提出敏捷开发过程(正如 ChrisW 和 Peter 已经告诉过的:-)),类似于:

在指定时间内交付的工作应该具有敏捷性/移动/进展。

你需要:

1)自己选择/由老板分配一个有可接受时间段的任务
线。

2) 准备好正确估计要处理的工作的时间并获得
就此达成协议

3) 每天在冲刺/会议中与您的团队进行讨论(仅限:10-15 分钟)
老板/团队并解释你当天的目标/计划。

4)最好的做法是不要偏离你的任务,直到它完成为止。
成功完成,否则可能会扰乱您的时间安排。

5) 在一天结束时,发送工作状态的状态。

6)任务完成后,主动通知老板并接受下一个任务。

6) 更重要的是,你尽量习惯按时间线交付,不要失败。

As per my understanding Agile development process can be put forward ( as already told by ChrisW & Peter :-) ), something like :

There should be agility/movement/progress in the work being delivered in the specified time.

You need to be :

1) Choose yourself/ get allocated by your boss, a task with an accepted period of time
line.

2) Ready with a correct estimation of time for the bit of work to be handled and get
an agreement on that

3) Every day have a discussion in the sprint/meeting(just for : 10-15 min.) with your
boss/team and explain your goals/plans for that day.

4) It will be a best practice to not to get deviated from your bit of task until it is
finished successfully otherwise it can disturb your time lines.

5) At the end-of-the-day, send a status across, of the state of work.

6) Once your task has completed, inform and get your next task pro-actively from your boss.

6) More important is, you try to accustom to the time-line based delivery without fail.

浪漫人生路 2024-10-03 01:51:14

独自完成这一切将会非常困难。如果您遵循agilemanifesto网站上的原则,您会发现至少有6个项目涉及人群和团队。你需要得到同事和老板的支持。

我将从你的搭档开始。偶尔要求转一转。您可以尝试这样的操作,“让我们看看我是否理解这一点,我可以尝试添加下一个特征点吗?”

话虽这么说,甘地有一句很好的名言:“成为你想在世界上看到的改变。”您可以自己采取很多行动来提高游戏水平。编写测试,让持续构建工作,设定可实现的目标有一些过去经验的基础重构

还有 书籍对初学者非常有帮助。您的网站上可能有人愿意指导您。如果您表现出有兴趣继续学习,有人可能会帮助您。也和你的老板谈谈。如果他想从你这里得到什么,他至少应该能够为你指出可以提供帮助的人。

Doing this all by yourself is going to be very difficult. If you take the principles on the agilemanifesto site you'll see that at least 6 of the items deal with groups of people and teams. You're going to need some buy-in from your co-workers and boss.

I'd start with your pair partner. Ask for a turn occasionally. You could try something like so, "lets see if I undersdand this, can I try to add the next feature point."

That being said, there's a good Ghandi quote, "Be the change you want to see in the world." There are a lot of actions you can take by yourself to raise the level of your game. Writing tests, getting a continuous build working, set achievable goals that have some basis in past experience, refactoring.

There are also tons of books that will be very helpful to someone getting started. There's probably someone at your site who would like to mentor you. If you show you're interested in continuing to learn someone would likely be able to help you. Talk to your boss too. If he wants something from you he should be able to at least point you in the direction of someone who could help.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文