🤓 作为有效实施途径的任务分析

  • 站长在线_到期时间:2022年11月11日
  • 请说明来源:站长在线,站长资源,站长工具,网站建设程序,模板,源代码,CMS源代码,网站建设教程,站长信息,技术教程,站长软件,资源站,站长在线-一个全面的博客,专注于站长学习和交流,有了大量免费的网站建设程序和模板,并提供丰富的CMS源代码和网站建设教程,实时分享最新的站长信息,站长就来了——站长在线!

    Introduction

    嘿,大家好!👋 现在是时候分享我在任务分析主题上的经验,让程序员尽可能高效地执行它们。

    Originally, I was inspired by article on 哈勃 (in Russian) and thought that I could modify some points from it a bit with my experience.

    你在读我的东西!

    📝 Table of contents

    Analyzing the task and trying to identify the final needs

    We read the task, think about it and try to understand what the programmer ultimately wants to get. It is not always possible to do this immediately, because other people 换个角度思考,而程序员往往有“职业变形”,这使得理解“非程序员”在想什么更加困难。

    我们只有两个选择:

    • If the task refers to 任何部分 of the product being developed, then go there, "click" the buttons and see what happens, re-read the task, check it against what you see on the screen.
    • If the task concerns some 新的方向或功能, or 不关心 the developed product at all, then we study the business process. Here the base is the business process.

    ☝️ 虽然第一个选项也有一个业务流程,但它不是立即可见的。

    因此,这个谜题必须在你的头脑中出现。我不了解其他人(请在下面的评论中分享你的经验), but in my head immediately arise possible solutions.

    Even without the period of understanding the task as such: if there are 解决方案的选项,那么就理解了任务,实现了这个阶段的目标!

    ↑ 目录

    Exploring a subject area

    This is more 复杂的 and 更容易的 at the same time. At this stage, you don't have to think much, you have to 研究:

    1. 第一,业务流程(在阶段的上下文中,业务流程是任务将在其中工作的环境).
    2. 然后是软件产品。
    3. 下一步,实现现有部分。
    4. 最后,代码工作的环境和依赖关系。

    了解应用程序的体系结构很重要。尤其是,如果你以前没用过的话。但是无论如何,你必须看看架构是否被修改过,如果是的话,是什么类型的。随着时间的推移,应用程序的体系结构、它的外部依赖性将一直在您的脑海中。

    ☝️ This does not exclude the existence of documentation. It must be! There is simply other option.

    只有将主题区域的所有部分放在一起,你才能进入解决方案选项。

    ↑ 目录

    🤓  作为有效实施途径的任务分析,matching solution options,第1张

    Matching solution options

    Hopefully, you have previously researched and understood everything that is required. OK, now you can 开始认真思考.

    Yes, choosing the right option is sometimes 极其 difficult, because for the chosen variant it's necessary to be responsible.

    🤔 责任是几乎每个人最大的恐惧。

    Each option 必须 meet several requirements:

    • 解决问题。
    • 必须在足够的时间内实施。
    • 而不是“破坏”应用程序的体系结构。
    • 它不应该引入“垃圾”和不必要的“拐杖”。
    • 便于最终用户使用。

    Have you chosen your options? Now, try to choose the one that is 更有用. 这里有两个边境州:

    1. 它做得很快,但这是一个一次性的解决方案;
    2. 它需要更长的时间,但它是通用的;

    Oh, but we need to choose something in between... To make it as efficient as possible, there are some little tips I've learned during more than 12 years of development in different teams.

    ↑ 目录

    Do not put into your code features that you do not need now

    立即切断你现在不需要,但将来可能需要的功能的想法。通常,这些特征将以大约70%的概率“恒载”。

    ↑ 目录

    Trying the chosen option on your picture of understanding

    如果我告诉你选择的选项是错误的?当然,你会回答说,这不可能,因为你已经经历了一系列的选择,并选择了正确的一个。

    OK. So be it! But what happens if we start to implement it? What are the odds that nothing will break? Just these questions need to be answered at this stage.

    For a better understanding, I will give you an example of the 安西布尔 approach.

    ☝️ For those who are not familiar with 安西布尔, it's a tool to automate the processes of deploying off-the-shelf infrastructure on a remote server. Please, read the 官方文件 for more information!

    Ansible has a special mode of operation, called "dry run", where it "plays" the given playbook (file in 亚马尔 format), but does make any changes. After making sure that the option does not "break" anything, Ansible runs the 真正的变革过程 on the target server.

    同样,您需要在头脑中“试运行”所选的实现,看看它会产生什么影响。如果有机会“打破”某些东西,我们会后退一步,寻找新的选择。

    ↑ 目录

    Specifying details

    Some additional data or examples may be needed 之前 implementation.

    If you have gathered everything you might need, you are ready. At this point, you have to understand that 没有什么 is stopping you from writing code:

    • 网络工作。
    • 软件许可证仍然有效。
    • 你的椅子和桌子很舒服。
    • 把咖啡或茶倒进你最喜欢的杯子里。
    • ……等等😉

    ↑ 目录

    Implementing

    我们终于在写代码了!不要太激动,这有它自己的陷阱。在编写代码时,很可能会发现一些没有考虑的问题。

    🤷‍♀️ 好吧,这是真的!但我们不要停滞不前,继续前进。重要的是不要惊慌,也不要认为这是你的错。

    Just answer the question: 新数据是否干扰了实现,还是仅仅是一种修正? If they only make clarifications, then you are 幸运的, and you can move on.

    But if they interfere with the implementation, then we 回去 at least three steps. Yes, you read that correctly. In a critical scenario, it's better to go back and go all the way again with changed data.

    OK. But what about task's 截止日期, if I've to turn back?

    这正是许多人害怕的,他们无法为自己选择的实施方案承担责任。有一个简单的方法不止一次地把我和我的开发团队从不可避免的技术债务和糟糕的决策中解救出来。

    🎯 我们慢慢来,把事情做好,而不是按他们的方式去做.

    你只要和给你这个任务的人谈谈,试着解释一下困难。学会维护你的权利,创造真正伟大的代码!

    ☝ ️ 我向您保证,在项目交付后,任何项目经理都不会向客户解释最终产品是什么(虽然现在可以了)有许多未知的时刻,可能是项目未来发展的一个问题。

    ↑ 目录

    Photos and videos by

    P.S.

    如果你想要更多→ 在下面写一条评论;跟着我。谢谢!😘

    本站资源均为互联网收集而来,本站不修改、不篡改、不破解任何源码和软件,也不代表本站的观点和立场,如有侵权请联系本平台处理。
    站长在线,站长资源,站长工具,cms源码,建站教程,站长资讯 » 🤓 作为有效实施途径的任务分析
    您需要 登录账户 后才能发表评论

    发表评论

    欢迎 访客 发表评论

    一个令你着迷的主题!

    签到兑换VIP会员 加入QQ交流群