├── .github ├── ISSUE_TEMPLATE │ ├── документация.md │ ├── у-вас-ошибка-.md │ └── функционал.md └── workflows │ └── deploy.yml ├── .gitignore ├── .idea └── .gitignore ├── .prettierrc.yml ├── CODEOWNERS ├── LICENSE ├── README.md ├── babel.config.js ├── blog ├── 2023-03-31-version-1 │ └── index.mdx ├── 2023-07-31-version-2 │ └── index.mdx ├── 2024-06-21-new-main-page │ ├── img │ │ └── new-main-page.png │ └── index.mdx ├── 2024-06-27-featureban-how-to-play-the-game │ └── index.md └── authors.yml ├── docs ├── profession │ ├── _category_.yml │ ├── about.md │ ├── antipatterns.md │ ├── competencies │ │ ├── _category_.yml │ │ └── grades.md │ ├── good-to-know.md │ └── onboarding │ │ ├── 01-to-team.md │ │ ├── 02-to-company.md │ │ ├── _category_.yml │ │ └── index.md └── roadmap │ ├── _category_.yml │ ├── assets │ ├── dm-mindmap.svg │ └── dm-roadmap.svg │ ├── index.md │ ├── management │ ├── _category_.yml │ ├── change │ │ ├── _category_.yml │ │ ├── context-analysis │ │ │ ├── _category_.yml │ │ │ ├── cynefin-framework.md │ │ │ ├── diagram-ishikaw.md │ │ │ ├── five-whys.md │ │ │ ├── pdca.md │ │ │ └── reality-tree.md │ │ ├── index.md │ │ └── order │ │ │ ├── _category_.yml │ │ │ ├── adkar.md │ │ │ ├── index.md │ │ │ ├── kotter-8-steps.md │ │ │ └── model-kurt-lewin.md │ ├── environment │ │ └── index.md │ ├── groups │ │ ├── _category_.yml │ │ ├── index.md │ │ ├── organizations │ │ │ └── _category_.yml │ │ └── teams │ │ │ ├── _category_.yml │ │ │ ├── re-design │ │ │ ├── _category_.yml │ │ │ ├── team-topologies.md │ │ │ └── unfix.md │ │ │ └── start │ │ │ ├── _category_.yml │ │ │ └── kick-off.md │ ├── job │ │ ├── _category_.yml │ │ ├── frameworks │ │ │ ├── _category_.yml │ │ │ ├── lean.md │ │ │ └── six-sigma.md │ │ ├── index.md │ │ ├── system-design │ │ │ ├── _category_.yml │ │ │ ├── statik.md │ │ │ └── vsm.md │ │ └── tasks │ │ │ ├── _category_.yml │ │ │ ├── planning │ │ │ ├── _category_.yml │ │ │ ├── assets │ │ │ │ ├── Monte-Carlo-Burndown-chart-full.jpg │ │ │ │ ├── Monte-Carlo-Burndown-chart.jpg │ │ │ │ ├── Monte-Carlo-Result-Probably.png │ │ │ │ ├── Monte-Carlo-S-Curve.png │ │ │ │ ├── Monte-Carlo-Throughput.png │ │ │ │ ├── Monte-Carlo-with-risks.png │ │ │ │ ├── Monte-carlo-all-experiments.png │ │ │ │ └── monte-carlo-method.module.css │ │ │ ├── monte-carlo-method.md │ │ │ ├── revolvere.md │ │ │ └── weekly-monthly-quarterly.md │ │ │ └── prioritization │ │ │ ├── _category_.yml │ │ │ ├── risk-assessment │ │ │ ├── _category_.yml │ │ │ ├── raf.md │ │ │ └── roam.md │ │ │ └── scoring-models │ │ │ ├── _category_.yml │ │ │ ├── ice.md │ │ │ ├── rice.md │ │ │ └── wsjf.md │ ├── people │ │ ├── _category_.yml │ │ ├── index.md │ │ ├── roles │ │ │ ├── _category_.yml │ │ │ └── paei.md │ │ └── training │ │ │ ├── _category_.yml │ │ │ ├── coaching.md │ │ │ └── mentoring.md │ ├── product │ │ ├── business-domain │ │ │ └── _category_.yml │ │ ├── design │ │ │ ├── _category_.yml │ │ │ ├── assets │ │ │ │ └── triple-diamond.png │ │ │ └── triple-diamond.md │ │ ├── economy │ │ │ └── _category_.yml │ │ ├── index.md │ │ └── tools │ │ │ └── _category_.yml │ └── project │ │ └── index.md │ └── professional-growth │ ├── _category_.yml │ ├── coaching │ └── index.md │ ├── communications │ ├── _category_.yml │ ├── facilitation.md │ ├── index.md │ └── oratory.md │ ├── manage-information │ ├── _category_.yml │ ├── index.md │ └── knowledge-base │ │ ├── _category_.yml │ │ ├── second-brain.md │ │ ├── showcases.md │ │ ├── wiki.md │ │ └── zettelkasten.md │ ├── technical-skills │ └── index.md │ └── training │ └── index.md ├── docusaurus.config.js ├── package.json ├── sidebars.js ├── src ├── components │ ├── BlinkingSwitchboard │ │ ├── index.js │ │ └── styles.module.css │ ├── BlogHere │ │ ├── index.js │ │ └── styles.module.css │ ├── Faqs │ │ ├── index.js │ │ └── styles.module.css │ └── HomepageFeatures │ │ ├── index.js │ │ └── styles.module.css ├── css │ └── custom.css ├── pages │ ├── index.js │ └── index.module.css └── theme │ ├── Footer │ ├── Copyright │ │ └── index.js │ ├── Layout │ │ └── index.js │ ├── LinkItem │ │ └── index.js │ ├── Links │ │ ├── MultiColumn │ │ │ └── index.js │ │ ├── Simple │ │ │ └── index.js │ │ └── index.js │ ├── Logo │ │ ├── index.js │ │ └── styles.module.css │ ├── index.js │ └── styles.module.css │ └── Navbar │ ├── ColorModeToggle │ ├── index.js │ └── styles.module.css │ ├── Content │ ├── index.js │ └── styles.module.css │ ├── Layout │ ├── index.js │ └── styles.module.css │ ├── Logo │ └── index.js │ ├── MobileSidebar │ ├── Header │ │ └── index.js │ ├── Layout │ │ └── index.js │ ├── PrimaryMenu │ │ └── index.js │ ├── SecondaryMenu │ │ └── index.js │ ├── Toggle │ │ └── index.js │ └── index.js │ ├── Search │ ├── index.js │ └── styles.module.css │ └── index.js ├── static ├── .nojekyll ├── fonts │ ├── PTSansCaption-Bold.ttf │ ├── Ubuntu-Bold.ttf │ ├── Ubuntu-Light.ttf │ ├── Ubuntu-Medium.ttf │ ├── Ubuntu-Regular.ttf │ └── UbuntuMono-Regular.ttf └── img │ ├── Rating.jpg │ ├── Rectangle675.jpg │ ├── Rectangle677.jpg │ ├── Tooltip-1.jpg │ ├── Tooltip.jpg │ ├── about-delivery-manager-1-2.svg │ ├── about-delivery-manager-1.svg │ ├── about-process-arrow-2.svg │ ├── about-process-arrow.svg │ ├── blog-here-arrow.svg │ ├── blog-there.svg │ ├── delivery-manager.svg │ ├── docusaurus.png │ ├── faqs.jpeg │ ├── favicon.png │ ├── logo.svg │ ├── onboarding.png │ ├── plus-icon.svg │ ├── poster1-2.jpg │ ├── poster1.jpg │ ├── reading.png │ ├── roadmap.png │ ├── star.svg │ ├── up.svg │ └── useful.png └── yarn.lock /.github/ISSUE_TEMPLATE/документация.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Документация 3 | about: Предложите новую документацию или доработку текущей 4 | title: '' 5 | labels: documentation 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Какой раздел? 11 | Профессия, роадмап... 12 | 13 | ## Цель 14 | Зачем добавляем новую документацию или дорабатываем текущую 15 | 16 | ## Описание изменения 17 | Подробно опишите ваше изменение 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/у-вас-ошибка-.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: У вас ошибка! 3 | about: Опишите ошибку, чтобы мы могли стать лучше 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Шаги воспроизведения 11 | Описывать их максимально подробно, чтобы любой человек мог пройти по указанным шагам и повторить ошибку 12 | 13 | ## Фактический результат 14 | Указать к чему привели шаги, описанные выше 15 | 16 | ## Ожидаемый результат 17 | То, что ожидалось получить 18 | 19 | ## Возможное решение 20 | Если у вас есть предположение, почему происходит ошибка, то опишите его здесь 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/функционал.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Функционал 3 | about: Новый функционал или изменение текущего 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Цель 11 | Зачем добавляем новый функционал или изменяем текущий 12 | 13 | ## Описание изменения 14 | Подробно опишите ваше изменение 15 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to GitHub Pages 2 | 3 | on: 4 | pull_request: 5 | branches: [main] 6 | push: 7 | branches: [main] 8 | 9 | permissions: 10 | contents: write 11 | 12 | jobs: 13 | test-deploy: 14 | if: github.event_name != 'push' 15 | runs-on: ubuntu-latest 16 | steps: 17 | - uses: actions/checkout@v3 18 | - uses: actions/setup-node@v3 19 | with: 20 | node-version: 18 21 | cache: yarn 22 | - name: Install dependencies 23 | run: yarn install --frozen-lockfile 24 | - name: Test build website 25 | run: yarn build 26 | deploy: 27 | if: github.event_name != 'pull_request' 28 | runs-on: ubuntu-latest 29 | steps: 30 | - uses: actions/checkout@v3 31 | - uses: actions/setup-node@v3 32 | with: 33 | node-version: 18 34 | cache: yarn 35 | - uses: webfactory/ssh-agent@v0.5.0 36 | with: 37 | ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }} 38 | - name: Deploy to GitHub Pages 39 | env: 40 | USE_SSH: true 41 | run: | 42 | git config --global user.email "actions@github.com" 43 | git config --global user.name "gh-actions" 44 | yarn install --frozen-lockfile 45 | yarn deploy 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # VS code 2 | .history/ 3 | 4 | # Dependencies 5 | /node_modules 6 | 7 | # Production 8 | /build 9 | 10 | # Generated files 11 | .docusaurus 12 | .cache-loader 13 | 14 | # Misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json* 25 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # GitHub Copilot persisted chat sessions 7 | /copilot/chatSessions 8 | -------------------------------------------------------------------------------- /.prettierrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | printWidth: 120 3 | semi: false 4 | singleQuote: true 5 | trailingComma: 'es5' 6 | arrowParens: 'always' 7 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | @vshitov @mikovall @michael-martynov @pavelpower 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # База знаний профессии Деливери менеджер 2 | База знаний профессии Деливери менеджер (Delivery Manager). Изучать удобнее всего на [нашем сайте](https://deliverymanager.ru). 3 | 4 | ## Зачем это всё 5 | Профессия Деливери менеджер молодая, можно сказать не устоявшаяся. Мы хотим рассказать о ней как можно большему количеству людей и поэтому решились на серьезный шаг - создание базы знаний профессии. 6 | 7 | ## Для кого 8 | В первую очередь для тех, кто уже Деливери менеджер или хочет им стать. Так же практики и инструменты профессии будут полезны и другим менеджерам: тимлидам и руководителям отделов, владельцам продуктов, проектным менеджерам и другим. 9 | 10 | ## Как вы можете помочь 11 | 1. Нас можно поддержать, поставив этому репозиторию :star: звёздочку. Те, кто поставили - вы крутые! 12 | 2. Добавить информацию или внести исправление по правилам контрибьютинга 13 | 3. Подсказать нам что-нибудь или принести обратную связь можно по каналам, указанным в разделе "Как связаться" 14 | 15 | ## Как связаться 16 | * Приходи в наш [telegram-канал](https://t.me/chat_tac) 17 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /blog/2023-03-31-version-1/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Version 1.0 3 | authors: 4 | - 'michael-martynov' 5 | tags: [release] 6 | --- 7 | Привет 👋 8 | 9 | Наша команда рада представить ежеквартальное обновление профессии Деливери менеджера. 10 | 11 | Давайте посмотрим, что новенького попало в релиз. 12 | 13 | * Улучшение понятности страницы Профессия 14 | * Карта развития Деливери менеджера 15 | * Онбординг в профессию 16 | 17 | 18 | 19 | ## Обновили тексты 20 | Вместе с редакторами потрудились, чтобы тексты стали более человечные, понятные – меньше абстракции и больше конкретики. Это касается [описания профессии](/docs/profession/about) и раздела с [грейдами](/docs/profession/competencies/grades). Где-то мы умышленно оставили размытые формулировки, чтобы не давать вам чёткие шаги и не ограничивать вашу фантазию. Мы обозначили берега, а какие они – лучше решать вам. 21 | 22 | ## Появилась карта развития Деливери менеджера 23 | Если у вас нет понимания какой инструмент или практику применить к тому контексту или задачам, которые перед вами стоят, то у нас есть для вас отличное решение - [Карта развития](/docs/roadmap). Можно выбрать ветку, которая вас интересует, например – управлением изменениями и изучить все практики и методы, которые помогают эти изменения проводить. Сейчас карточки инструментов пустые, но мы собираемся их потихоньку наполнять, обогащать кейсами, рекомендациями и личным опытом. 24 | 25 | ## Добавили раздел онбординга 26 | Профессия – это хорошо, но как в неё войти, что делать когда только попал в компанию или в команду? Ответы можно найти на страницах онбординга [в компанию](/docs/profession/onboarding/to-company) и [в команду](/docs/profession/onboarding/to-team). 27 | 28 | Как онбордиться в профессию пока не описали, так как этот многогранный процесс нам нужно ещё раз прожить самим, провести CustDev и потом обработать полученные знания. 29 | 30 | ## Появилась страница анти-паттернов 31 | Можно сказать, что на странице [анти-паттернов](/docs/profession/antipatterns), мы собрали вредные советы. Это то, что делать не надо, а если вы будете заниматься тем, что там написано, то жди беды, выгорания или чего ещё хуже. 32 | 33 | ## Планы на Q2 2023 34 | В новом релизе мы планируем поработать над улучшением читаемости текста теперь уже новых станиц, добавить онбординг в профессию, наполнить описаниями инструменты Деливери менеджера. 35 | 36 | Актуальную дорожную карту можно посмотреть в [DM Knowledge Base - Roadmap](https://github.com/Delivery-Manager/knowledgebase/issues/1) 37 | 38 | ## Как помочь проекту или связаться с нами 39 | Прочитайте разделы [Как вы можете помочь](https://github.com/Delivery-Manager/knowledgebase#как-вы-можете-помочь) и [Как связаться](https://github.com/Delivery-Manager/knowledgebase#как-связаться) 40 | -------------------------------------------------------------------------------- /blog/2023-07-31-version-2/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Version 2.0 3 | authors: 4 | - 'mikovall' 5 | tags: [release] 6 | --- 7 | Привет друзья 👋 8 | 9 | Наша команда рада представить ежеквартальное обновление профессии Деливери менеджера. 10 | 11 | Список основных изменений: 12 | 13 | * Новые цвета и шрифты в проекте 14 | * Новый логотип 15 | * Новые страницы в Карте развития 16 | * Новая страница "Полезные материалы" 17 | 18 | 19 | 20 | Мы рады представить вам новинки в развитии профессии Деливери менеджера. 21 | 22 | ## Вы продаёте дизайн? Нет просто показываю. Красивое. 23 | 24 | Вы уже должны были заметить, что на сайте обновились цвета и шрифты. Продолжаем делать проект визуально привлекательным. Мы решили, что спокойные, но яркие пастельные тона помогут отразить спокойствие и системность профессии, а шрифтовые пары покажут её технологичность. 25 | 26 | Так же появился новый логотип, который говорит "В процессах всё ок, я лично проверил" 🙂 27 | 28 | Пока продолжаем использовать движок [Docusaurus](https://docusaurus.io/), но будем и дальше дорабатывать внешний вид под цели и задачи проекта. 29 | 30 | ## Новый раздел "Полезные материалы" 31 | 32 | Кто бы мог подумать, что в данном разделе могут быть реально полезные материалы и они там есть! Пока не много, но мы будем продолжать наполнять раздел книгами, видео и подкастами, которые лучше раскрывают профессию, помогают обрасти нужными навыками для решения ежедневных задач. Также в материалах можно найти для себя новые точки зрения на старые проблемы, расширить кругозор за счёт чужого опыта и просто приятно провести вечер. 33 | 34 | [Проникнуться пользой](/docs/profession/good-to-know) 35 | 36 | ## Начали наполнять Карту развития 37 | 38 | В прошлом релизе была анонсирована Карта развития Деливери менеджера, а сейчас она начала заполняться. Появилось описание [раздела по проведению изменений](/docs/roadmap/management/change), а в нём [последовательности изменений](/docs/roadmap/management/change/order). Раскрыли [Метод Монте-Карло](/docs/roadmap/management/job/tasks/planning/monte-carlo-method) и модель [Восьмь шагов Коттера](/docs/roadmap/management/change/order/kotter-8-steps). 39 | 40 | ## Планы на Q3-4 2023 41 | 42 | Идей много, глаза горят, профессия всё ещё находится в зоне "Очень интересно, но мало что понятно" и мы продолжим её кристаллизировать: 43 | 44 | - Новая главная страница, чтобы с разу было понятно что это за проект такой 45 | - Онбординг в профессию Деливери менеджера. Страница, которая расскажет как стать Деливери менеджером 46 | - Матрица хард-скиллов. Навыки, без которых в профессии будет сложно 47 | - Как работать с Деливери менеджером, если я его нанимаю 48 | - Как работать с Деливери менеджером, если он работает над улучшением процессов в моем направлении 49 | 50 | Актуальную дорожную карту можно посмотреть в [DM Knowledge Base - Roadmap](https://github.com/Delivery-Manager/knowledgebase/issues/1). 51 | 52 | ## Как помочь проекту или связаться с нами 53 | Прочитайте разделы [Как вы можете помочь](https://github.com/Delivery-Manager/knowledgebase#как-вы-можете-помочь) и [Как связаться](https://github.com/Delivery-Manager/knowledgebase#как-связаться). 54 | -------------------------------------------------------------------------------- /blog/2024-06-21-new-main-page/img/new-main-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/blog/2024-06-21-new-main-page/img/new-main-page.png -------------------------------------------------------------------------------- /blog/2024-06-21-new-main-page/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: Новая главная страница 3 | authors: 4 | - 'michael-martynov' 5 | tags: [feature] 6 | --- 7 | Новая, сочная главная страница профессии уже здесь 8 | 9 | ![Новая главная страница](./img/new-main-page.png) 10 | 11 | Команда проекта рада объявить о запуске новой домашней страницы базы знаний профессии деливери-менеджера. 12 | Разрабатывая дизайн, мы хотели передать новизну профессии, её креативность. Не забыли и пасхалки оставить. Уже нашли парочку? 13 | 14 | ### Слова благодарности 15 | Такая крутая главная страница была бы невозможна без продуктового дизайнера Марии Нестерович, frontend-разработчиков [Ирины Лесь](https://github.com/MRCUCUMBER1234) и [Самандара Булатова](https://github.com/mephistorine). 16 | Спасибо вам за ваше время, креатив и вовлечённость. 17 | 18 | ### Что дальше 19 | Мы возвращаемся к активному развитию проекта: в блоге начнут регулярно появляться полезные посты, больше инструментов обретут свои карточки с описаниями. 20 | Чтобы ничего не пропустить, подписывайтесь на telegram-канал [T-Process Improvement](https://t.me/channel_TAC). 21 | 22 | Можно бесконечно смотреть на три вещи: как горит огонь, как течет вода и как смотрится дизайн на новой главной [deliverymanager.ru](https://deliverymanager.ru). -------------------------------------------------------------------------------- /blog/authors.yml: -------------------------------------------------------------------------------- 1 | 'michael-martynov': 2 | name: Michael Martynov 3 | title: Maintainer 4 | url: https://github.com/michael-martynov 5 | image_url: https://github.com/michael-martynov.png 6 | 7 | 'pavelpower': 8 | name: Pavel Akhmetchanov 9 | title: Maintainer 10 | url: https://github.com/pavelpower 11 | image_url: https://github.com/pavelpower.png 12 | 13 | 'vshitov': 14 | name: Viktor Shitov 15 | title: Maintainer 16 | url: https://github.com/vshitov 17 | image_url: https://github.com/vshitov.png 18 | 19 | 'mikovall': 20 | name: Maria Koval 21 | title: Maintainer 22 | url: https://github.com/mikovall 23 | image_url: https://github.com/mikovall.png 24 | 25 | 'BroDrew': 26 | name: Andrey Markin 27 | title: Author 28 | url: https://github.com/BroDrew 29 | image_url: https://github.com/BroDrew.png -------------------------------------------------------------------------------- /docs/profession/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Профессия' 2 | className: bold 3 | -------------------------------------------------------------------------------- /docs/profession/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Описание профессии 3 | sidebar_position: 1 4 | --- 5 | import Tabs from '@theme/Tabs'; 6 | import TabItem from '@theme/TabItem'; 7 | 8 | # Описание профессии Деливери менеджер 9 | **Деливери менеджер (Delivery Manager)** — data-driven менеджер изменений, который отвечает за сквозной процесс доставки итогового продукта до пользователя: сокращает время от идеи до выхода продукта на рынок и увеличивает прогнозируемость. Если нет запроса на сквозной процесс — отвечает за всю доступную цепочку. 10 | 11 | Не стоит сравнивать с такими профессиями, как Service Delivery Manager, Scrum Master или Agile Coach — даже по-отдельности они не характеризуют роль Delivery Manager. 12 | 13 | ## Зачем нужен 14 | * Ускорять поставку продуктов на рынок в условиях растущей сложности ИТ систем, процессов и самих продуктов 15 | * Пересобирать и улучшать процессы растущего или изменяющегося бизнеса, чтобы компании не теряли гибкость и эффективность при масштабировании 16 | * Накапливать и делиться практиками и опытом с организацией, командами, сотрудниками, комьюнити 17 | 18 | ## Что делает 19 | Задачи Деливери менеджера делятся на две группы: управление изменениями и масштабируемость практик. 20 | 21 | 22 | ```mermaid 23 | flowchart TD 24 | 25 | ``` 26 | 27 | 28 | 29 | 30 | 31 | ```mermaid 32 | graph TD 33 | %%{ init: { 'flowchart': { 'curve': 'monotoneY' }}}%% 34 | A(Управление изменениями процессов поставки ценностей) --> B[Выявление неудовлетворенностей] 35 | B --> C[Разработка стратегии и плана по улучшению процессов] 36 | C --> D[Определение сервисов
продуктовых команд] 37 | D --> D1[Поиск и проработка узких мест] 38 | C --> E[Разработка системы для поставок продукта
в нужный срок] 39 | E --> E1[Сократить распределения работ
- хвост в распределении Cycle Time] 40 | E1 --> E2[При необходимости
ускорение процесса работы над фичами] 41 | C --> F[Повышение прозрачности работы] 42 | F --> F1[Визуализация работы команд] 43 | F1 --> F2[Формирование процесса сбора метрик] 44 | F2 --> F3[Организация взаимодействия
между отделами, командами, бизнес-линиями] 45 | F3 --> F4[Горизонтальное масштабирование
Upstream + сопровождение] 46 | F4 --> F5[Вертикальное масштабирование] 47 | ``` 48 | 49 |
50 | 51 | 52 | ```mermaid 53 | graph TD 54 | %%{ init: { 'flowchart': { 'curve': 'monotoneY' }}}%% 55 | A(Масштабируемость практик) --> B[Повышение зрелости команды] & C[Организация обмена знаниями] 56 | B --> B1[Обучение лидов и руководителей отделов
проведению изменений] 57 | C --> D[Создание и развитие базы знаний] & E[Оценка работы команд] 58 | E --> E1[Консультация по лучшим практикам] 59 | ``` 60 | 61 |
62 |
63 | 64 | ## Как делает 65 | Чтобы выполнять свои задачи Деливери менеджер выступает в трех ролях — владелец производственного процесса, менеджер изменений и коуч. 66 | 67 | **Владелец Продукта "Производственный процесс"** работает с доставкой продукта от идеи до получения продукта пользователем, выстраивает горизонтальные и вертикальные партнерские связи между всеми участниками создания ценности. Он визуализирует процессы, чтобы они были понятными и управляемыми, а еще работает над улучшением метрик Discovery и Delivery и формирует прозрачную стратегию планов развития производственных процессов с учетом целей компании. 68 | 69 | **Агент изменений** управляет изменениями используя инструменты менеджмента, вовлекает людей в общее дело. Он масштабирует процессы и рабочие практики чтобы сохранить гибкость компании и работает с метриками, используя data-driven подход. Помогает командам поддерживать такой уровень осознанности, чтобы они могли самостоятельно улучшать процессы. 70 | 71 | **Коуч** помогает командам решать конфликты и приходить к лучшим решениям с помощью инструментов фасилитации. Накапливает знания и практики, адаптирует под контекст и делится ими с коллегами. А еще коуч поддерживает в людях проактивную позицию участия в жизни компании и ее процессов, инвестирует в обучение и развитие через практики коучинга и менторинга. Помогает составлять индивидуальные планы развития специалистов и процессов. 72 | -------------------------------------------------------------------------------- /docs/profession/antipatterns.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Анти-паттерны 3 | hide_table_of_contents: true 4 | --- 5 | 6 | # Анти-паттерны в работе Деливери менеджера 7 | 8 | Собрали список того, что нужно делать, чтобы стать самым неэффективным Деливери менеджером в мире: 9 |

10 |

  • Не давать себе время на отдых, думать о работе постоянно. И в выходные тоже
  • 11 |
  • Не фиксировать договоренности
  • 12 |
  • Не делать того, что пропагандируешь сам
  • 13 |
  • Не включать камеру на встречах
  • 14 |
  • Не подводить итоги и забивать на логическое завершение изменений
  • 15 |
  • Проводить много параллельных изменений в одной команде
  • 16 |
  • Геройствовать и делать изменения вопреки желаниям заказчика
  • 17 |
  • Долго не выходить на связь с заказчиком, не синхронизироваться с ним потому что «Он занят. Не буду его отвлекать»
  • 18 |
  • Делать работу за заказчика изменений. Например, вместо заказчика сообщать командам о причинах изменений и того, что от них хотим
  • 19 |
  • Ставить кучу встреч одну за другой, чтобы не было времени делать что-то другое
  • 20 |
  • Делать именно так и никак иначе, потому что так написано в умной книжке. Не подвергать написанное конструктивной критике и применимости к своему контексту
  • 21 |
  • Помогать тем, кому это не нужно
  • 22 |
  • Помогать тем, у кого нет запроса на помощь
  • 23 |
  • Начинать работать с человеком через изменение его взглядов при помощи менторинга и коучинга
  • 24 |
  • Не формировать ожидания на ранних стадиях работ
  • 25 |
  • Не замыкать потоки информации внутри команды
  • 26 |
  • Делать все, о чем тебя просят
  • 27 |
  • Быть для всех хорошим
  • 28 |
  • Сравнивать команды между собой
  • 29 |
  • Работать сразу со 100500+ командами
  • 30 |
  • Составить единый план цифровой трансформации на много лет вперед
  • 31 |
  • Все стандартизировать
  • 32 |
  • Забыть, что проверяешь гипотезы. Делай так и не думай!
  • 33 |
  • Не сомневаться в своей правоте
  • 34 |
  • Брать только на себя всю ответственность за результат
  • 35 |
  • Лечить всех одной таблеткой
  • 36 |
  • Не занимать нейтральную позицию
  • 37 |
  • Писать амбициозные планы, но не реализовывать их
  • 38 |
  • Делать много всяких действий с малой ценностью
  • 39 |
  • Делать «дешевую» работу. Например, заполнять excel за других, писать отчеты и фиксировать за команду договоренности на встречах
  • 40 |
  • Больше думать про процессы и инструменты, а не про людей и их взаимодействие
  • 41 |
  • Замыкать процессы на себе
  • 42 |
  • На все процессы писать подробную документацию
  • 43 |
  • Давать на все готовые ответы, не вникая в контекст задачи
  • 44 |
  • Забирать ответственность у руководителей команд и делать все за них
  • 45 |
  • Всеми силами пытаться исправить и изменить людей
  • 46 |
  • Приходить в команды в обход их руководителей и рассказывать, как им нужно работать и что делать
  • 47 |

    48 | -------------------------------------------------------------------------------- /docs/profession/competencies/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Компетенции' 2 | position: 2 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/profession/competencies/grades.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide_table_of_contents: true 3 | --- 4 | 5 | # Грейды 6 | 7 | ## Описание 8 |
    9 | 10 | | Грейд | Чем занимается | 11 | |---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 12 | | Junior | | 13 | | Junior+ | Улучшает процессы в средних командах, самостоятельно решает до 80% внутрикомандных проблем и до 50% вопросов кросс-командных взаимодействий | 14 | | Middle | | 15 | | Middle+ | | 16 | | Senior | Улучшает сквозную доставку больших или сложных продуктов во всей области, до которой возможно дотянуться | 17 | | Lead | | 18 | 19 |
    20 | 21 | ## Матрица 22 | 23 | :::caution 24 | Каждый следующий грейд включает в себя компетенции предыдущего 25 | ::: 26 | 27 | | Грейд | Junior | Junior+ | Middle | Middle+ | Senior | Lead | 28 | |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| 29 | | **Ответственность**
    Количество людей, за чей результат или процесс работы ответственность на Деливери менеджере |

    ≈ 20+

    Работа внутри команды разработки
    ex: 1-2 команды разработки |

    ≈ 35+

    + зависимости между командами
    ex: 3-4 команды разработки |

    ≈ 55+

    + бизнес
    ex: отдел разработки + менеджеры продукта / заказчики |

    ≈ 75+

    + зависимые команды
    ex: платформенные сервисы и запросы поддержки |

    ≈ 90+

    Реализовывает решения через приемников (тимлиды / руководители отделов /групп)
    ex: End-to-End поставка ценности |

    ≈ 150+

    Реализовывает решения через приемников (тимлиды / руководители отделов /групп) и других деливери-менеджеров
    ex: редизайн бизнес-линии | 30 | | **Сложность/объем**
    1 - сравнительно независимая команда разработки
    2 - синхронизация команд (ИТ и бизнес) по зависимостям или команд внутри платформы
    3 - консультирование или коучинг
    4 - редизайн команд | 1 | 1 → 2 | 2 | 2 → 3 | 3, 4 | 4 | 31 | | **Зона влияния (рекомендаций)**
    Количество людей, на работу которых оказывают влияние предложенные и реализованные Деливери менеджером решения |

    ≈ 30+

    Команды-разработки |

    ≈ 50+

    + бизнес и заказчики |

    ≈ 70+

    + бизнес и заказчики |

    ≈ 100+

    + платформы и поддержка |

    ≈ 140+

    + заинтересованные подразделения |

    Не ограничена

    + руководители высшего звена | 32 | | **Числовые метрики**
    На какие метрики решения Деливери менеджера оказывают влияние | + метрики, отражающие результат работы с bottleneck | → Middle | | → Senior | End-to-End Time to Market | Доп. запрос от СТО / СРО | 33 | | **Результат**
    Кто дает обратную связь по итогам работы | + ментор (ex: Senior/ Lead DM) | + ментор (ex: Senior/ Lead DM) | + руководитель отдела | | | | 34 | | **Самостоятельность** | Получает задачу с шагами
    Нужна поддержка в генерации решения | Получает задачу с шагами
    Нужна валидация решения | Получает цель (высокая степень конкретики)
    Нужна валидация решения | Получает запрос (низкая степень конкретики)
    Нужна валидация решения | Получает запрос (низкая степень конкретики)
    Синхронизация решения со стратегией | Получает запрос (низкая степень конкретики)
    Формирует стратегию | 35 | | **Обучение** | Практики уровня команды и Delivery-цикла
    Продажа локальных изменений
    Фасилитация небольших групп | → Middle | Кросс-командные практики + синхронизация с бизнесом (практики Discovery) | Фасилитация больших групп | Фреймворки масштабирования
    Продажа длительных или многоступенчатых изменений | Организационный (ре-)дизайн | 36 | | **Комьюнити** | Чем выше грейд, тем больше участия и ответственности за проекты внутри профессии | 37 | -------------------------------------------------------------------------------- /docs/profession/good-to-know.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Полезные материалы 3 | toc_max_heading_level: 2 4 | --- 5 | 6 | import Tabs from '@theme/Tabs'; 7 | import TabItem from '@theme/TabItem'; 8 | 9 | # Полезные материалы: книги, видео, подкасты для менеджера 10 | 11 | :::tip 12 | Внутри каждого раздела материалы расположены по возрастанию сложности сверху-вниз. Советуем всегда начинать изучение с более "верхних" материалов, а потом спускаться ниже. 13 | ::: 14 | 15 | ## Это база 16 | Сложно представить себе менеджера, который бы не читал эти книги 17 | 18 | :closed_book: Цель. Процесс непрерывного совершенствования (Элияху Голдратт) 19 | 20 | :closed_book: Deadline. Роман об управлении проектами (Том ДеМарко) 21 | 22 | ## По направлениям 23 | 24 | 25 | 26 | 27 | #### Анализ/изучение контекста 28 | :spades: [Комплект фасилитационных карт по управлению изменениями](https://l.tinkoff.ru/yad_dm) 29 | Набор [Change Management Game](https://management30.com/practice/change-management-game/) из Management 3.0 Евгений Адамов и Евгений Степченко перевели карты на русский язык и дополнили, на основе своего опыта, практиками Prosci:registered: и Six Source of Influence. 30 | Набор можно использовать как фасилитационный инструмент при планировании изменений, ретроспективе. 31 | 32 | Подробнее об инструменте и примерах использования можно прочитать [в статье](https://t.me/channel_TAC/193). 33 | 34 | --- 35 | 36 | #### Последовательность 37 | :movie_camera: [Как не навредить себе и коллегам, когда проводишь изменения в компании](https://youtu.be/lrri_EcgeZ4) (Михаил Мартынов) 38 | 39 | :blue_book: Управляя изменениями. Как эффективно управлять изменениями в обществе, бизнесе и личной жизни (Ицхак Адизес) 40 | 41 | ##### 8 шагов Коттера 42 | :blue_book: Наш Айсберг тает. Как добиться результата в условиях изменений (Джон Коттер) 43 | 44 | :blue_book: Впереди перемен (Джон Коттер) 45 | 46 | ##### ADKAR 47 | :movie_camera: [Пять этапов для успешных изменений ADKAR](https://youtu.be/Jd-vYeL3Kb4) (Римма Денисовец) 48 | 49 | 50 | :blue_book: Boss бесподобный или бесполезный (Рэй Иммельман) 51 | 52 | :blue_book: Корпоративное племя (Даниэль Браун,Итске Крамер) 53 | 54 | 55 | 56 | #### Теория ограничений 57 | :blue_book: Цель. Процесс непрерывного совершенствования (Элияху Голдратт) 58 | 59 | :movie_camera: [Работа с узкими звеньями процесса](https://youtu.be/eKNWH29NKs0) (Алексей Пименов) 60 | 61 | --- 62 | 63 | #### Задачами 64 | ##### Оценка 65 | :movie_camera: [Как прогнозировать время выполнения задач? Методики прогноза](https://youtu.be/cw1U5XXXuiI) (Павел Ахметчанов) 66 | 67 | --- 68 | 69 | #### Проектирование систем 70 | ##### Valuе Stream Mapping 71 | :movie_camera: [Проблемы в работе деливери-менеджера и способы их решения. Valuе Stream Mapping (VSM)](https://youtu.be/5YARzGJcDHg) (Виктория Педченко) 72 | 73 | ##### S.T.A.T.I.K. 74 | :movie_camera: [Системный подход в Kanban. S.T.A.T.I.K. – сервисная археология](https://youtu.be/uI5D00zav58) (Евгений Степченко) 75 | 76 | 77 | -------------------------------------------------------------------------------- /docs/profession/onboarding/01-to-team.md: -------------------------------------------------------------------------------- 1 | # В команду 2 | Онбординг в команду помогает Деливери менеджеру быстрее понять контекст в котором находится выбранная команда, ее процессы, текущее состояние, потенциальные проблемы и точки роста. 3 | 4 | Одна из основных целей Деливери менеджера – построить End-to-End процесс поставки ценности. Реализация этой цели состоит из [двух групп задач](/profession/about.md#что-делает): управление изменениями и масштабируемость практик. План онбординга задает необходимый темп выполнения таких задач и помогает понять последовательность реализации. Все пункты выполнять не обязательно, план нужен только для самоконтроля. 5 | 6 | :::info Примечание 7 | Как настроить рабочее место, получить доступ в основные системы, познакомиться со структурой компании рассказали в [онбординге в компанию](to-company). 8 | ::: 9 | 10 | | Период | Задачи | Результат | 11 | |------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 12 | | Первый день |
    1. Познакомиться с командой
    2. Собрать основные артефакты работы команды
    | | 13 | | Первая неделя |
    1. Проанализировать как построена работа в команде
    2. Встретиться с руководством и основными заказчиками
    | | 14 | | Первый месяц |
    1. Провести встречи по командной рефлексии
    2. Составить бэклог проблем, их причин и последствий, если над ними не работать
    3. Оценить сложность решения проблем
    4. Приоритизировать бэклог проблем и гипотез по улучшению процессов
    5. Сформировать план изменений на основе выявленных проблем и презентовать его команде
    6. Запустить первые изменения
    | | 15 | | Первые три месяца |
    1. Вовлечь участников изменений в процесс, поработать с сопротивлением
    2. Запустить базовые принципы и практики: визуализация, прозрачность, управление потоком
    | | 16 | | Первые полгода |
    1. Завершить большинство запланированных изменений
    2. Планомерно настраивать в команде самостоятельную работу по постоянному эволюционному развитию
    3. Поощрять и поддерживать инициативу, лидерство и всё больше активностей проводить силами команды, а не своими
    | | 17 | | Первый год |
    1. Довести команду до необходимого уровня зрелости и постараться перейти в консультационный режим, сконцентрировавшись на других более приоритетных задачах
    2. Собрать информацию об End-to-End процессе поставки ценности продукта, даже если он выходит за рамках команды/отдела/управления
    3. Составить и начать реализовывать план изменений нацеленный на весь End-to-End процесс
    | | 18 | -------------------------------------------------------------------------------- /docs/profession/onboarding/02-to-company.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: В компанию 3 | --- 4 | 5 | # В компанию, отдел или бизнес-юнит 6 | Онбординг в компанию нужен чтобы понять как выглядит организационная и управленческая структура, какие есть корпоративные нормы и правила. Возможно есть ежемесячные, ежеквартальные или годовые активности, о которых Деливери менеджеру будет полезно знать и принимать в них участие. 7 | 8 | **Бизнес-юнитом** может быть вся компания компания, продукт целиком, какая-то его функциональность, отдел или команда. 9 | 10 | **В первые дни в новой компании нужно:** 11 | * Получить необходимое оборудование, если компания его предоставляет. 12 | * Получить доступы к ресурсам первой необходимости: корпоративный портал, локальная сеть, система ведения задач (Jira, Kaiten, Redmine, Asana и другие), пространства ведения документации (Confluence, MS Teams, Notion и другие). 13 | * Пройти обязательные курсы техники пожарной и информационной безопасности, подписать все необходимые документы. 14 | 15 | | Период | Задачи | Результат | 16 | |------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 17 | | Первые две недели |
    1. Познакомиться с руководителем и узнать его ожидания от работы Деливери менеджера
    2. Установить плагины и расширения для анализа процессов: Jira Helper, Jira Flow Companion, Scope360° и другие
    | | 18 | | Первый месяц |
    1. Узнать цели компании на ближайший год или несколько лет
    2. Узнать цели своего руководителя, его заместителей, команд с которым вам предстоит работать и их тимлидов
    3. Узнать цели бизнеса и ИТ на ближайших год или несколько лет
    4. Проанализировать запрос руководителя
    5. Провести собственный анализ текущего состояния компании и процессов в ней
    6. Изучить документацию продуктов и систем с которыми предстоит работать
    7. Разобраться в постоянных встречах в компании и попросить коллег добавить вас на них: ежемесячное общее планирование, ежеквартальные отчеты о бизнес-метриках и проделанной работе с планам на следующий квартал, стратегические сессии и т.д.
    8. Составить свой план работы над процессами на ближайшие 3 месяца на основе запроса от руководителя, целей компании и бизнеса, результатов своего анализа текущего состояния компании и процессов
    | | 19 | | Первые три месяца |
    1. Подготовить презентацию о проделанной работе за три месяца: какие проблемы обнаружились, какие улучшения были сделаны или начаты, метрики, достигнутые результаты, планы на будущее
    2. Подготовить бэклог точек роста или проблем в компании, командах, процессах, которые были замечены за первые три месяца
    | | 20 | -------------------------------------------------------------------------------- /docs/profession/onboarding/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Онбординг' 2 | position: 2 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/profession/onboarding/index.md: -------------------------------------------------------------------------------- 1 | # Онбординг 2 | Онбординг — процесс знакомства, интеграции и адаптации в профессию, компанию или команду. Это все, что помогает человеку быстрее освоиться, обрасти знаниями и начать приносить ценность. 3 | 4 | ## Виды онбординга для Деливери менеджера 5 | 1. [В команду](onboarding/to-team) 6 | 2. [В компанию](onboarding/to-company) 7 | 8 | ## Как ускорить онбординг и улучшить качество решений 9 | Чтобы быстрее адаптировать и обучить новичка, можно и нужно привлекать опытных коллег. Для новичка работа с buddy или ментором снижает уровень стресса и сокращает риски принятия сомнительных решений в период адаптации. 10 | 11 | ## Работа с напарником (buddy) 12 | Напарник или buddy – это коллега по работе, готовый ответить на все вопросы и помочь с адаптацией новичка. 13 | 14 | Buddy закрепляется на время испытательного срока. Его задача — сократить срок адаптации новичков и дать им всю необходимую информацию для выполнения своей роли. 15 | 16 | **Buddy нужен**, когда новичок выходит туда, где нет других Деливери менеджеров и ему придется работать одному. 17 | 18 | **Buddy не нужен**, если новичок выходит в команду к более опытному Деливери менеджеру, который и будет отвечать за онбординг. 19 | 20 | ## Работа с ментором 21 | Ментор (наставник) — это опытный профессионал, источник знаний и ответов. Он вдохновляет и помогает развиваться своему менти. 22 | 23 | В отличии от buddy, ментор строит долгосрочные отношения для развития своего подопечного и помогает решать текущие проблемы. Он сосредоточен на общем развитии человека. Ментор применяет инструменты коуча, фасилитатора и даже психолога. 24 | -------------------------------------------------------------------------------- /docs/roadmap/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Карта развития' 2 | className: bold 3 | -------------------------------------------------------------------------------- /docs/roadmap/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide_table_of_contents: true 3 | --- 4 | import Tabs from '@theme/Tabs'; 5 | import TabItem from '@theme/TabItem'; 6 | import RoadmapSvg from './assets/dm-roadmap.svg'; 7 | import MindmapSvg from './assets/dm-mindmap.svg'; 8 | 9 | # Карта развития 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | ## Как пользоваться? 27 | 28 | Мы подготовили два сценария, но мы уверены, что есть гораздо больше! Выбери тот, что подходит именно тебе, и просто следуй ему! 29 | 30 | ### Изучение профессии 31 | 32 | Здесь у нас карта навыков. В центре - наша профессия - "Деливери менеджер". Отсюда отходят три ветки, которые, по нашему мнению, важно знать и совершенствовать. В каждой ветке представлены отдельные навыки. 33 | 34 | > Пример: От "Деливери менеджер" двигаемся влево к "Профессиональному развитию" и там видим навык "Коучинг". Так что изучаем Коучинг и растем как специалист! 35 | 36 | ### Поиск инструментов для решения задач 37 | 38 | В этом сценарии перед тобой карта инструментов. В центре снова наша профессия - "Деливери менеджер". От нее идут задачи, которые у тебя могут возникнуть. В каждой задаче ты найдешь инструменты для ее решения. 39 | 40 | > Пример: От "Деливери менеджер" двигаемся вправо к задаче "Управление изменениями". Внутри мы видим, из чего состоит эта задача и уточняем, что именно нам нужно. Затем выбираем подходящий инструмент и решаем задачу! -------------------------------------------------------------------------------- /docs/roadmap/management/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Управление' 2 | position: 100 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Управление изменениями' 2 | position: 10 3 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Анализ контекста' 2 | position: 1 3 | collapsible: false 4 | link: 5 | type: generated-index 6 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/cynefin-framework.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | draft: true 4 | --- 5 | # Модель «Кеневин» 6 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/diagram-ishikaw.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Диаграмма Исикавы 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/five-whys.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Пять почему 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/pdca.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # PDCA 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/context-analysis/reality-tree.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Дерево текущей/будущей реальности 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/index.md: -------------------------------------------------------------------------------- 1 | # Управление изменениями 2 | Управление изменениями — это важный процесс, который позволяет контролировать изменения, чтобы достичь поставленных целей и улучшить эффективность. Может включать в себя внедрение новых систем, изменение бизнес-процессов, пересмотр организационной структуры и многое другое. 3 | 4 | ## Из чего состоит 5 | 6 | ```mdx-code-block 7 | import DocCardList from '@theme/DocCardList'; 8 | 9 | 10 | ``` 11 | 12 | Важно понимать, что внесение изменений - это сложный процесс, который может как помочь, так и навредить. Поэтому очень важно провести **анализ контекста**, чтобы понять, какие изменения необходимо внести и как их внедрение повлияет на текущие процессы, людей и компанию в целом. Анализ контекста может включать в себя изучение текущего состояния, целей и задач, анализ внешней среды и т. д. Также важно изучить контекст, понять культуру, ценности и нормы поведения, чтобы определить, как изменения могут повлиять на сотрудников и как их можно подготовить к изменениям. 13 | 14 | Другим важным аспектом управления изменениями является определение **последовательности изменений**. Это включает в себя планирование, разработку и реализацию изменений. Необходимо определить, какие изменения необходимо внести, кто будет ответственным за их внедрение и какие ресурсы потребуются для успешного завершения проекта. Важно понимать, что последовательность изменений может быть различной для разных организаций и проектов. Поэтому необходимо провести анализ и изучение контекста, чтобы определить наиболее эффективный подход к внедрению изменений. 15 | 16 | Использование инструментов управления изменениями, таких как анализ и изучение контекста, а также определение последовательности изменений, помогает гарантировать успешное внедрение изменений и достижение поставленных целей. Не бойтесь вносить изменения, но не забывайте о необходимости правильного управления ими. 17 | 18 | ## Какие могут быть проблемы 19 | * Управление изменениями требуют системного подхода и знаний инструментов и методик. В противном случае могут возникнуть непредсказуемые проблемы, а результат будет далек от ожидаемого 20 | 21 | ## Дополнительные материалы 22 | * [Книги, видео, подкасты](/docs/profession/good-to-know#управление-изменениями) 23 | * [Анти-паттерны](/docs/profession/antipatterns) 24 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/order/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Последовательность 2 | position: 2 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/order/adkar.md: -------------------------------------------------------------------------------- 1 | # ADKAR 2 | 3 |
    4 | 5 | | Автор | Опубликовано | 6 | | ----------------- | :----------: | 7 | | Максим Фролов, Екатерина Чернова | 02.04.2024 | 8 | 9 |
    10 | 11 | **ADKAR** - инструмент оценки, разработанный компанией PROSCI. Он основан на данных ежегодных опросов об успешности работы с изменениями. С его помощью можно лучше понять, почему изменение не приживается и где именно возникает проблема. 12 | 13 | Когда проблема обнаружена - можно сфокусироваться на ней и не тратить силы на другие аспекты. 14 | 15 | Слово ADKAR представляет собой акроним от названий критериев **A**wareness (Понимание), **D**esire (Желание), **K**nowledge (Знание), **A**bility (Способность), **R**einforcement (Закрепление). 16 | 17 | ## Как измеряется 18 | 19 | По рекомендациям PROSCI измерение может быть как самооценкой, так и интервью или опросником. Чем больше людей участвует в измерении - тем более экономичные методы используются. 20 | В компании мы используем опросник, адаптированный под каждое конкретное изменение. Это значит, что раз в два месяца мы высылаем один и тот же список из 25 утверждений, по 5 утверждений на каждый критерий. Сотрудник выбирает свое отношение к каждому утверждению от "Согласен" до "Не согласен". Потом этот выбор преобразуется в численный эквивалент и усредняется. Так мы понимаем оценку каждого критерия по сотруднику и в целом по компании. 21 | 22 | ## Как работает 23 | 24 | Левый критерий с оценкой ниже 4 является блокером внедрения изменений. В ADKAR это называется "Барьер". Работать нужно именно с этим критерием, на остальные можно пока не обращать внимания. 25 | Пример: если я оцениваю свой уровень принятия изменений по внедрению новой рабочей CRM как A=4,D=3,K=2,A=3,R=3, то мой блокер сейчас Desire. Это значит, что несмотря на такие же или более низкие оценки критериев Knowledge, Ability, Reinforcement, со мной сейчас нужно работать именно в поле Желания меняться. Если руководитель попытается отправить меня на обучение (критерий K), то я просто буду спать на уроках, потому что я просто не хочу использовать новую CRM. 26 | Согласно примеру, мы проводим ADKAR, чтобы найти блокеры внедрения на уровне конкретных сотрудников, чтобы руководители могли помочь с принятием. 27 | 28 | ## Составляющие 29 | 30 | Каждый критерий оценивается набором утверждений. Утверждения точнее описывают, на что нужно обратить внимание для оценки. Обратите внимание, утверждения ниже - это и есть опросник. Именно их мы рассылаем раз в два месяца. 31 | Под утверждениями даны более конкретные рекомендации, что стоит делать, чтобы улучшить принятие изменений. Если у вас или вашего сотрудника блокер на одном из критериев - эти рекомендации могут вам помочь. 32 | 33 | ### Awareness/ Понимание 34 | 35 | Кратко: "Я понимаю, почему ..." 36 | Изменение начинается с понимания, зачем оно нужно. В чем именно состоит изменение? Зачем оно? Какие возникнут риски, если его не провести? 37 | 38 | Утверждения для проверки 39 | * Я понимаю, зачем внедрялся OKR 40 | * Я понимаю, почему OKR внедрялся именно в это время 41 | * Я понимаю риски, с которыми мы столкнулись бы, если бы не стали использовать OKR 42 | * Я понимаю, как руководство видит результат внедрения OKR 43 | * Я понимаю причины внедрения OKR 44 | 45 | ### Desire/ Желание 46 | 47 | Кратко: "Я решил..." 48 | Изменение требует приятия личных решений. Какая моя выгода от изменений? Готов ли я сделать выбор в пользу изменений? Решил ли я принять участие? 49 | 50 | Утверждения для проверки 51 | * Я вижу выгоды от внедрения OKR 52 | * Я поддерживаю работу с OKR 53 | * Я понимаю, что лично мне дало внедрение и использование OKR 54 | * Я принял(а) личное решение, что использую OKR 55 | * Я верю, что использование OKR увеличивает вероятность успеха компании 56 | 57 | ### Knowledge / Знание 58 | 59 | Кратко: "Я знаю, как ..." 60 | Изменение требует обладать знаниями. Я должен разобраться, как мне действовать по-новому. Мне нужны новые навыки. Я должен пройти обучение. 61 | 62 | Утверждения для проверки 63 | * Я четко понимаю, как OKR влияет на мои повседневные задачи и рабочие процессы 64 | * Я обладаю необходимыми знаниями, чтобы успешно работать пока мы переходим на OKR 65 | * Я обладаю необходимыми знаниями, чтобы успешно работать после перехода на OKR 66 | * Я не вижу пробелов в знаниях об OKR, которые негативно влияют на мою работу после завершения перехода на OKR 67 | * После пройденной подготовки, я чувствовал себя готовым(ой) к успешному участию в OKR 68 | 69 | ### Ability/ Способность 70 | 71 | Кратко: "Я могу..." 72 | Изменение требует правильной реализации. Могу ли я применить свои знания на практике? Готов ли я действительно поменять привычные действия на новые? 73 | 74 | Утверждения для проверки 75 | * Я считаю, что успешно применяю полученные об OKR знания в реальных рабочих ситуациях 76 | * Я уже применяю новые знания и поведение в реальных рабочих ситуациях 77 | * Я могу изменить свое поведение, инструменты и рабочие процессы для использования OKR 78 | * Я считаю, что полученные знания об OKR дают мне все необходимое для успешного использования OKR в реальной работе 79 | * При необходимости я могу получить дополнительную информацию об OKR и поддержку знающих коллег 80 | 81 | ### Reinforcement/ Закрепление 82 | 83 | Кратко: "Я буду и дальше..." 84 | Изменение нужно поддерживать, чтобы оно стало устойчивым. Что мы делаем, чтобы закрепить использование изменений? 85 | 86 | Утверждения для проверки 87 | * Я уверен(а), что компания будет и дальше использовать OKR 88 | * Компания обладает возможностями, чтобы продолжить использовать OKR 89 | * Я осознаю последствия отката на старые методы работы и целеполагания 90 | * Я получаю пользу от работы с OKR 91 | * Мою работу с OKR позитивно оценивают коллеги и руководитель 92 | 93 | ## Польза 94 | 95 | ### Для сотрудника 96 | 97 | По данным опросов PROSCI, при работе с изменениями сотрудники чаще всего испытывают проблемы с непониманием "Почему" и "Зачем" делаются какие-то изменения. Кроме того, страх вызывает смена ежедневных обязанностей, отсутствие поддержки от руководителей, либо недоверие к руководителям. Отдельно вызывает негодование отсутствие возможности повлиять на изменения и направить их по более эффективному пути. 98 | ADKAR стремится дать каждому сотруднику голос и адресную помощь. Опросник призван упростить коммуникацию проблем, предложений и недовольства с уровня рядового сотрудника на уровень руководителей. Например, чаще всего блокером является "Понимание", но случайным образом выхватывать сотрудников и заставлять их слушать лекции неэффективно. Мы используем ADKAR, чтобы работать только по делу, без лишних встреч и разговоров. 99 | 100 | ### Для менеджера среднего звена 101 | 102 | PROSCI утверждает, что самые частые проблемы руководителей среднего звена - это страх потери авторитета и контроля над привычным участком работы. Руководители не хотели бы терять свою стандартную роль из-за организационных изменений. Кроме этого, люди отвечают, что их беспокоит недостаток конкретики по задачам руководителя, отсутствие вовлеченности и влияния на ход изменений и рассогласованность мотивации. 103 | С помощью ADKAR мы помогаем руководителю сохранить авторитет и поддержать свою значимость через успешное внедрение улучшений процесса Тинькофф Кассы. Руководитель, который успешно работает с сотрудниками де-факто является хорошим менеджером. Помимо авторитета, умелое использование результатов ADKAR поможет прозрачно понять статус внедрения в своей команде, сфокусировать усилия руководителя на важном. 104 | 105 | ### Для топ-менеджера 106 | 107 | Опрос PROSCI выделяет две основных проблемы топ-менеджеров - непрозрачность и расфокус. Численные критерии ADKAR призваны показать топ-менеджеру, как работать с руководителями среднего звена, чтобы повысить вероятность успешности изменений. 108 | 109 | ## Антипаттерны 110 | 111 | ### Нет Понимания и Желания 112 | 113 | * Сотрудники раз за разом задают одни и те же вопросы 114 | * Падает производительность труда и в худшем случае растет текучесть кадров 115 | * Сотрудники не хотят делиться обратной связью и выделять ресурсы под работу с изменением 116 | * Внедрение изменения идет с задержками, натыкается на сопротивление 117 | 118 | ### Нет Знания и Способности 119 | 120 | * Меньше сотрудников работают с изменением или используют его неправильно 121 | * Сотрудники волнуются, смогут ли они справляться с работой в будущем, боятся за свой успех 122 | * Негативное влияние на коллег из смежных команды 123 | * Устойчивое падение производительности труда 124 | 125 | ### Нет Закрепления 126 | 127 | * Сотрудники возвращаются к старым методам работы 128 | * Фактическое использование изменения ниже запланированного 129 | * Появляется опыт неэффективных изменений "в прошлый раз это не сработало" 130 | 131 | ## Сложные кейсы при работе с ADKAR 132 | 133 | | Проблема | Предложение | 134 | |------------------|------------| 135 | | Никто в команде не заполняет ADKAR |Попробуйте собрать командную встречу и донести цели использования ADKAR и его выгоду для вас и для сотрудников. Чаще всего незаполнение опроса эквивалентно низкому рейтингу Awareness. Проще говоря, ваши коллеги просто не понимают что происходит и зачем им надо заполнять какой-то опрос.| 136 | | Все заполняют на максимальные ответы, чтобы от них отстали |Это зависит, почему это происходит:
  • Если люди не чувствуют себя в безопасности - расскажите им подробнее про сохранность данных и как они используются.
  • Если люди не вовлечены и просто хотят, чтобы от них отстали - скорее всего, они не понимают "Зачем" делается опрос и какую выгоду он несет.

  • Ваш контекст может отличаться - исходите из вашего контекста.| 137 | | ADKAR не прав, показывает блокер критерия у сотрудника, но с критерием всё окей |Да, так бывает. Попробуйте обсудить с сотрудником утверждения из опроса выше. Узнайте, почему сотрудник ответил, что не чувствует уверенности по отношению к ним. Если все в порядке и в опрос произошла ошибка - ничего страшного, просто порадуйтесь еще одному поводу пообщаться с коллегой.| 138 | | Сотрудник каждый раз встречает один и тот же блокер |Отнеситесь к этому серьезно. Если вы или ваш сотрудник постоянно натыкаетесь на один блокер - попробуйте выделить время и подробнее разобрать, что сейчас идет не так. Попросите помощи снаружи команды, чтобы вместе побрейнштормить идеи. Главное - не относитесь к этому формально.| 139 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/order/index.md: -------------------------------------------------------------------------------- 1 | # Последовательность 2 | Для определения последовательности изменений можно использовать различные модели. Далее расскажем, как выбрать подходящую, а на странице каждой из этих моделей раскрываем наши советы по их реализации. 3 | 4 | ## Инструменты 5 | 6 | ```mdx-code-block 7 | import DocCardList from '@theme/DocCardList'; 8 | 9 | 10 | ``` 11 | 12 | ## Как выбрать 13 | Для выбора подходящей нужно понимать цели организации, ее культуру и структуру, а также готовность сотрудников к изменениям. 14 | 15 | Если прямо здесь и сейчас давать какой-то совет, то он звучит так: PDCA и ADKAR подходят для небольших изменений, требующих изменения поведения, в то время как 8-ступенчатая модель Коттера и модель Льюина лучше всего подходят для крупномасштабных изменений, которые требуют культурного изменения. А если хочется создать культуру непрерывного улучшения и инноваций, то подойдет эволюционная модель. 16 | 17 | Но важно внимательно оценить каждую модель, чтобы определить, какая из них лучше всего подойдет для вашей организации. В этом процессе таблица сравнения разных моделей изменений может оказаться полезной, чтобы понять их плюсы и минусы. 18 | 19 | ### ADKAR и Kotter 20 | 21 | | Параметр | Модель Коттера | Модель ADKAR | 22 | |---------------------------|--------------------------------------------------------------|---------------------------------------------------------| 23 | | Количество этапов | 8 | 5 | 24 | | Ориентация | Большие, сложные изменения | Меньшие, более простые изменения | 25 | | Фокус | Мотивация сотрудников | Изменение поведения сотрудников | 26 | | Последовательность этапов | Действия выполняются последовательно | Действия выполняются одновременно или в параллели | 27 | | Результат | Постоянное изменение культуры и структуры организации | Постоянное изменение поведения сотрудников | 28 | | Ключевой фактор успеха | Мотивация и лидерство | Коммуникация и обучение | 29 | | Недостатки | Медленная реализация, не всегда подходит для малых изменений | Не уделяется достаточного внимания культуре организации | 30 | 31 | Как видно из таблицы, обе модели имеют свои преимущества и недостатки. Модель Коттера ориентирована на более крупные и сложные изменения, а модель ADKAR - на более простые и меньшие изменения. Модель Коттера предполагает последовательное выполнение этапов, в то время как модель ADKAR предлагает выполнение действий одновременно или в параллели. Ключевыми факторами успеха в модели Коттера являются мотивация и лидерство, а в модели ADKAR - коммуникация и обучение. 32 | 33 | ### Революционная и эволюционная модель 34 | 35 | | Категории | Революционная модель | Эволюционная модель | 36 | |---------------------|---------------------------------------------------|---------------------------------------------------------------| 37 | | Философия | Большой, глобальный и быстрый прыжок вперед | Медленное, но постоянное движение вперед | 38 | | Подход к изменениям | Радикальное пересмотрение | Инкрементальное улучшение | 39 | | Сфера применения | Масштабные преобразования в организации и бизнесе | Непрерывное улучшение внутренних процессов | 40 | | Тип лидерства | Руководитель как главный двигатель изменений | Руководитель как координатор изменений | 41 | | Роль сотрудников | Участие в революционных изменениях | Участие в улучшении текущих процессов | 42 | | Риски и сложности | Большой риск и высокие затраты на реализацию | Медленный прогресс и слабое привлечение внимания к изменениям | 43 | 44 | Как видно из таблицы, революционная модель изменений направлена на быстрое и радикальное пересмотрение текущего состояния организации и ее бизнес-модели, что может привести к значительным результатам в короткие сроки. Однако, это также связано с большими рисками и высокими затратами на реализацию изменений. 45 | 46 | С другой стороны, эволюционная модель изменений более ориентирована на непрерывное улучшение текущих процессов в организации. Это позволяет достигать результатов более медленно, но с меньшими затратами и рисками. Также эта модель более доступна для многих организаций, так как не требует крупномасштабных изменений в короткие сроки. 47 | 48 | Обе модели имеют свои сильные и слабые стороны, и выбор конкретной модели зависит от целей, ситуации в организации и ее культуры. 49 | 50 | ### Общие выводы 51 | 52 | Так или иначе все модели укладываются в три этапа 53 | 54 | **Поиск мотивации или стрессора к изменениям:** 55 | - Анализ текущего состояния и поиск проблемных областей (Коттер, АДКАР, Революционная модель) 56 | - Оценка степени готовности сотрудников к изменениям (Коттер, АДКАР, Революционная модель) 57 | - Выявление базовых причин сопротивления изменениям (Коттер, АДКАР, Революционная модель) 58 | 59 | **Рефлексия:** 60 | - Определение целей и планирование изменений (Коттер, АДКАР, Эволюционная модель) 61 | - Разработка стратегии изменений (Коттер, АДКАР, Эволюционная модель) 62 | - Построение коммуникационной стратегии (Коттер, АДКАР, Эволюционная модель) 63 | 64 | **Совершение акта лидерства:** 65 | - Реализация изменений (Коттер, АДКАР, Эволюционная модель) 66 | - Поддержка новых методов работы (Коттер, АДКАР, Эволюционная модель) 67 | - Оценка результатов и корректировка стратегии изменений (Коттер, АДКАР, Эволюционная модель) 68 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/order/kotter-8-steps.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: roadmap 3 | --- 4 | # Восемь шагов Коттера 5 | Скорее всего самая популярная модель, используемая при проведении изменений. Существуют 2 версии: 6 | 1. **8 шагов Коттера.** Предложена в 1995 г. и представлена последовательными шагами 7 | 2. **8 ускорителей Коттера.** Переработанная в 2014 г. первая версия, в которой шаги превратились в ускорители 8 | 9 | ```mermaid 10 | graph LR 11 | %%{ init: { 'flowchart: { htmlLabels: true, justify-content: center } } }%% 12 | A[1. Создание \n потребности] --> B[2. Создание \n команды] --> C[3. Создание \n образа] --> D[4. Вовлечение] --> E[5. Наделение \n полномочий] --> F[6. Вознаграждение] --> G[7. Поддержка] --> H[8. Закрепление] 13 | ``` 14 | 15 | ## Применимость 16 | В первую очередь модель нацелена на реализацию изменений в организациях. По модели ситуативного лидерства Херси и Бланшара относится к _Стилю участия_. То есть лидер делится своим мыслями, вовлекает их в процесс и тем самым проводит изменения снизу-вверх. В базовом варианте можно применять и к командам. 17 | 18 | ## Дополнительные материалы 19 | * [Книги, видео, подкасты](/docs/profession/good-to-know#8-шагов-коттера) 20 | -------------------------------------------------------------------------------- /docs/roadmap/management/change/order/model-kurt-lewin.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Модель Курта Левина 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/environment/index.md: -------------------------------------------------------------------------------- 1 | # Управление окружением 2 | 3 | ## Из чего состоит 4 | ```mermaid 5 | graph LR 6 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 7 | A[Управление окружением] --- B1(Культура) & B2(Доверие) & B3(Взаимопомощь) 8 | ``` 9 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Управление группами' 2 | position: 60 3 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: roadmap 3 | --- 4 | # Управление группами 5 | Когда в вашей зоне влияния становится более 1 человека, то вы начинаете работать с некоторыми группами людей. Это может быть команда, целая организация (отдел, департамент, сквад, трайб и прочее), а может не то и не другое. 6 | 7 | ## Из чего состоит 8 | ```mermaid 9 | graph LR 10 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 11 | A[Управление группами] --- B1(Организации) & B2(Команды) & B3(Племена/социальные группы) & B4(Комьюнити) 12 | ``` 13 | 14 | Здесь собраны инструменты, которые во-первых помогут идентифицировать группу в вашей зоне влияния, а во-вторых правильно с ней работать. 15 | 16 | ## Какие могут быть проблемы 17 | 18 | * Работа с группами может оказаться как более сложной, так и более интересной, чем работа с одним человеком. Когда вы имеете дело с группой, появляются взаимосвязи и зависимости, которых нет в случае работы с одним человеком. Поэтому важно научиться правильно взаимодействовать с группами. 19 | * Люди в группах часто ведут себя по-другому, чем в одиночку. Это связано с различными факторами, такими как социальная динамика, влияние других людей на поведение, принятие решений в группе и т.д. Понимание причин такого поведения и умение правильно с этим работать - крайне важно. 20 | * Также важно понимать, что инструменты, которые хорошо себя зарекомендовали в работе с одним человеком, могут не сработать с группой, состоящей из нескольких человек. Каждый инструмент имеет свою применимость, и его нужно уметь правильно использовать в зависимости от ситуации. 21 | 22 | ## Дополнительные материалы 23 | * [Анти-паттерны](/docs/profession/antipatterns) 24 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/organizations/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Организации 2 | position: 1 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Команды 2 | position: 2 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/re-design/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Ре-дизайн 2 | position: 3 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/re-design/team-topologies.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: roadmap 3 | --- 4 | # Team Topologies 5 | Подход, описанный в книге “Топологии команд” (“Team Topologies”) от авторов Manuel Pais и Matthew Skelton. 6 | 7 | ## Описание 8 | Авторы подхода предлагают при формировании структуры организации идти по принципу “team first”. В подходе выделяются проблемы и инструменты для их решений. Советуем до погружения в этот подход прочитать закон Конвея, т.к. его утверждения сильно перекликаются. 9 | 10 | ## Рекомендации по использованию 11 | При работе с группой, в которой есть множество команд, точно стоит посмотреть проблемы, которые выделяют авторы и добавить предлагаемые ими решения в свой пул. 12 | Точно стоит изучить когда вы работаете с командами, у которых есть общие точки внесения изменений (общая база данных, пример) или же такая общая точка планируется к созданию. В подходе отлично разбираются решения проблем, с которыми вы можете или уже столкнулись. 13 | 14 | ## Дополнительные материалы 15 | Серия статей Саши Поломодова https://apolomodov.medium.com/review-team-topologies-part-1-205533a027c0 16 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/re-design/unfix.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # unFix 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/start/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Запуск 2 | position: 1 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/groups/teams/start/kick-off.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Team Kick-off 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Управление работой' 2 | position: 30 3 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/frameworks/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Фреймворки/подходы 2 | position: 3 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/frameworks/lean.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Lean 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/frameworks/six-sigma.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Six Sigma 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/index.md: -------------------------------------------------------------------------------- 1 | # Управление работой 2 | 3 | ## Из чего состоит 4 | 5 | ```mdx-code-block 6 | import DocCardList from '@theme/DocCardList'; 7 | 8 | 9 | ``` 10 | 11 | ## Какие могут быть проблемы 12 | 13 | ## Дополнительные материалы 14 | * [Книги, видео, подкасты](/docs/profession/good-to-know#управление-работой) 15 | * [Анти-паттерны](/docs/profession/antipatterns) 16 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/system-design/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Проектирование систем' 2 | position: 2 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/system-design/statik.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # S.T.A.T.I.K. 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/system-design/vsm.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Value Stream Mapping 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Задачами 2 | position: 1 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Планирование 2 | position: 1 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Burndown-chart-full.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Burndown-chart-full.jpg -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Burndown-chart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Burndown-chart.jpg -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Result-Probably.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Result-Probably.png -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-S-Curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-S-Curve.png -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Throughput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-Throughput.png -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-with-risks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-Carlo-with-risks.png -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/Monte-carlo-all-experiments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/job/tasks/planning/assets/Monte-carlo-all-experiments.png -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/assets/monte-carlo-method.module.css: -------------------------------------------------------------------------------- 1 | .noWrap td { 2 | white-space: nowrap; 3 | padding: 2px; 4 | text-align: center; 5 | } 6 | 7 | .vertical td { 8 | white-space: nowrap; 9 | writing-mode: bt-rl; 10 | transform: rotate(-90deg); 11 | padding: 2px; 12 | text-align: center; 13 | } 14 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/revolvere.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Револьверное 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/planning/weekly-monthly-quarterly.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Недельное, месячное, квартальное, годовое и т. д. 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Приоритизация 2 | position: 2 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/risk-assessment/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Оценка рисков' 2 | position: 2 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/risk-assessment/raf.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # RAF 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/risk-assessment/roam.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # ROAM 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/scoring-models/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Скоринг модели' 2 | position: 1 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/scoring-models/ice.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # ICE 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/scoring-models/rice.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # RICE 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/job/tasks/prioritization/scoring-models/wsjf.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # WSJF 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Управление людьми' 2 | position: 20 3 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/index.md: -------------------------------------------------------------------------------- 1 | # Управление людьми 2 | 3 | ## Из чего состоит 4 | 5 | ```mdx-code-block 6 | import DocCardList from '@theme/DocCardList'; 7 | 8 | 9 | ``` 10 | 11 | ## Какие могут быть проблемы 12 | 13 | ## Дополнительные материалы 14 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 15 | * [Анти-паттерны](/docs/profession/antipatterns) 16 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/roles/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Роли 2 | position: 1 3 | collapsible: false 4 | link: 5 | type: generated-index 6 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/roles/paei.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # PAEI (код Адизеса) 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/training/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Обучение 2 | position: 2 3 | collapsible: false 4 | link: 5 | type: generated-index 6 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/training/coaching.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Коучинг 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/people/training/mentoring.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Менторинг 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/business-domain /_category_.yml: -------------------------------------------------------------------------------- 1 | label: Знание бизнес домена 2 | position: 1 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/design/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Проектирование 2 | position: 3 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/design/assets/triple-diamond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/docs/roadmap/management/product/design/assets/triple-diamond.png -------------------------------------------------------------------------------- /docs/roadmap/management/product/design/triple-diamond.md: -------------------------------------------------------------------------------- 1 | # Triple Diamond 2 |
    3 | 4 | | Автор | Опубликовано | 5 | | ----------------- | :----------: | 6 | | Мария Тихонова | 25.09.2024 | 7 | 8 |
    9 | 10 | **[Triple Diamond](https://medium.com/zendesk-creative-blog/the-zendesk-triple-diamond-process-fd857a11c179)** - фреймворк, разработанный компанией Zendesk (расширенная версия Double Diamond). Он описывает все этапы создания продукта, которые делятся на 4 основных блока (diamonds): 11 | 12 | 1. Problem Discovery: поиск и валидация проблем/потребностей/идей 13 | 2. Solution Discovery: поиск вариантов решений, постановка и проверка гипотез, выбор лучшего решения 14 | 3. Реализация и поставка лучшего решения 15 | 4. Постанализ 16 | 17 | Граница между 2 и 3 этапом - это граница между Discovery и Delivery. Точка, где принято решение о масштабировании решения на клиентов. 18 | 19 | ![Triple Diamond](./assets/triple-diamond.png) 20 | 21 | *адаптированная версия схемы Zendesk'а 22 | 23 | ### Почему ромбы? 24 | 25 | Процесс развития продукта воронкообразный, "пульсирующий": фазы расширения и сужения сменяют друг друга. Расширяя воронки, мы генерируем идеи. Отсеивая слабые идеи-сужаем воронки на каждом этапе. Это помогает находить самые сильные решения. 26 | 27 | Ромбы - это перевернутые воронки. 28 | 29 | ## Польза от фреймворка 30 | Внедрение Triple Diamond даёт: 31 | * Системное восприятие всего процесса развития продукта как единого и непрерывного 32 | * Повышение качества принимаемых решений за счет **отсева слабых идей** на каждом этапе 33 | * Повышение вероятности **появления прорывных идей** за счет генерации веера вариантов на каждом этапе 34 | * Фокус на клиента и улучшение его опыта 35 | * Делает развитие продукта более ясным, влияние на целевые метрики более управляемым 36 | 37 | Triple Diamond подойдет, если: 38 | * ваш продукт динамично развивается и непрерывно улучшается 39 | * рынок быстро развивается, требует прорывных и интересных решений, а бизнес - точных 40 | * есть большой бэклог идей, постоянно нужно выбирать лучшие и понимать, что в каком порядке реализовывать 41 | * у вашего продукта много клиентов/заказчиков или у клиента/заказчика много проблем/потребностей 42 | 43 | ## Подробнее про этапы Triple Diamond 44 | Важно, что до всех ромбов есть процесс, определяющий направление дальнейшего развития: создания стратегии/видения, постановки целей, ключевых бизнес-метрик и их целевых значений. 45 | 46 | ### 1. Problem Discovery 47 | Этап направлен на генерацию и отбор идей, проверку гипотез проблем и выбор лучших для следующего этапа. 48 | Можем выделить 2 основных блока работ: 49 | * **Поиск проблем/потребностей/идей**. На этом этапе продакт-менеджер/discovery-team формирует бэклог идей развития продукта из: 50 | * исследований 51 | * обратной связи пользователей 52 | * поддержки 53 | * анализа рынка/конкурентов 54 | * стратегии развития продукта 55 | * совместной генерации Discovery-team 56 | 57 | * **Валидация проблем/потребностей/идей и выбор тех, которые хотим решать** 58 | * убедиться, что проблема/потребность действительно есть 59 | * проанализировать, у какого количества пользователей есть эта проблема/потребность 60 | * понять, что получит и клиент, и бизнес от ее решения 61 | * приоритизировать и выбрать идеи для дальнейшей проработки 62 | 63 | **Итог:** приоритизированный список подтвержденных проблем/идей, соответствующих целям, по которым верхнеуровнево просчитана ожидаемая ценность. 64 | 65 | ### 2. Solution Discovery 66 | Этап включает поиск гипотез решения, их проверку и принятие решения о реализации. 67 | 68 | * **Генерация гипотез решений для списка подтвержденных проблем/идей** 69 | * поиск конкретных способов решения проблем/реализации идей: это гипотезы решения 70 | * к одной идее могут быть несколько гипотез решения 71 | * примеры формулирования гипотезы: 72 | * «Действие [X] позволит увеличить метрику [Y] на величину [Z], потому что [N]» ИЛИ 73 | * Мы полагаем, что... (реализовав это) 74 | * Для... (ЦА) 75 | * Мы получим... (ожидаемый результат) 76 | * Измерим следующим способом... 77 | * Это может повлиять на... (проверить, нет ли негативного влияния ли других) 78 | * Проверка гипотез и выбор лучшего решения 79 | * поиск самых быстрых и недорогих способов проверки гипотез 80 | * возможные способы проверки гипотез: 81 | * Качественные исследования (глубинные интервью, коридорные исследования, UX-тест, эксперименты) 82 | * Количественные исследования (опрос, исследования на исторических данных, исследование на внешних данных, модель Кано) 83 | * Кабинетные исследования (анализ рынка, конкурентов) 84 | * Безрелизные тесты на проде (безрелизные А/Б-тестирования, Fake Doors тесты, использование stories в сервисах, баннеры) 85 | * Релизные тесты на проде (самый дорогой способ проверки гипотез) 86 | * по итогам проверки гипотез Discovery-team принимает решение о дальнейшей реализации 87 | 88 | **Итог:** поставлены задачи на реализацию, выбранные на основе проверки гипотез. 89 | 90 | ### 3. Delivery 91 | Этап предполагает полную реализацию решения и поставку конечному пользователю. 92 | * формирование бизнес-требований к реализации 93 | * подготовка к реализации 94 | * реализация 95 | * тестирование 96 | * поставка 97 | 98 | После завершения этого этапа мы ожидаем получение просчитанной на Discovery ценности. 99 | 100 | **Итог:** клиент может воспользоваться новым решением, бизнес начинает получать ожидаемую ценность. 101 | 102 | ### 4. Постанализ 103 | Этап сбора и анализа данных, подведения итогов и принятие решений о дальнейшем развитии. 104 | * подсчет фактически полученной ценности от реализации идей 105 | * сравнение фактической и ожидаемой ценности 106 | * рефлексия и составление план дальнейших действий для принятия решений в дальнейшем 107 | * завершение цикла discovery или заход на новый круг 108 | 109 | **Итог:** подтвержденная/неподвержденная ценность для бизнеса, план дальнейшего развития как процессов, так и продукта. 110 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/economy/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Экономика/бюджетирование 2 | position: 3 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/index.md: -------------------------------------------------------------------------------- 1 | # Управление продуктом 2 | 3 | ## Из чего состоит 4 | ```mdx-code-block 5 | import DocCardList from '@theme/DocCardList'; 6 | 7 | 8 | ``` 9 | 10 | ## Дополнительные материалы 11 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 12 | * [Анти-паттерны](/docs/profession/antipatterns) 13 | -------------------------------------------------------------------------------- /docs/roadmap/management/product/tools/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Инструменты 2 | position: 4 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/management/project/index.md: -------------------------------------------------------------------------------- 1 | # Управление проектами 2 | 3 | ## Из чего состоит 4 | ```mermaid 5 | graph LR 6 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 7 | A[Управление изменениями] --- B1(Риски) & B2(Сроки) & B3(Бюджет) & B4(Документация) & B5(Безопасность) & B6(Планирование) & B7(Фреймворки/подходы) 8 | ``` 9 | 10 | ## Дополнительные материалы 11 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 12 | * [Анти-паттерны](/docs/profession/antipatterns) 13 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Профессиональное развитие' 2 | position: 200 3 | collapsible: false 4 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/coaching/index.md: -------------------------------------------------------------------------------- 1 | # Коучинг 2 | 3 | ```mermaid 4 | graph LR 5 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 6 | A[Коучинг] --- B1(Модель GROW) 7 | ``` 8 | 9 | ## О чём это направление 10 | 11 | ## Почему важно работать с этим направлением 12 | 13 | ## Дополнительные материалы 14 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 15 | * [Анти-паттерны](/docs/profession/antipatterns) 16 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/communications/_category_.yml: -------------------------------------------------------------------------------- 1 | label: Коммуникации 2 | position: 40 3 | className: disabled-category 4 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/communications/facilitation.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: roadmap 3 | --- 4 | # Фасилитация 5 | **Фасилитация** - это способ организовать эффективное взаимодействие команды во время общей встречи. 6 | 7 | Фасилитатором может выступать любой член команды, важно, чтобы ведущий не был заинтересован в каком-либо из решений и помог группе самостоятельно к нему прийти. 8 | 9 | Можно выделить следующие функции фасилитатора: 10 | 11 | Вовлекает в обсуждение всех членов группы 12 | Стимулирует и побуждает команду вместе принимать решения 13 | Поддерживает атмосферу общей ответсвенности за принимаемые решения 14 | Ограничивает команду от различных непродуктивных ситуации: обсуждение затягивается на часы, а решение так и не принято, кто-то из участников саботирует встречу и т.д 15 | 16 | ## Как начать фасилитировать? 17 | 18 | 1. Желательно пройти обучение по фасилитации. Рекомендуемое обучение: Тренинг от команды Co-Actors, получение ICP-ATF сертификации 19 | 2. Вне зависимости от наличия обучения, сразу начать пробовать, чем раньше начнете, тем быстрее получите фидбек и обнаружите ошибки в своей работе Материалы, которые могут помочь: 20 | * группа в telegram "Нестыдная фасилитация" 21 | * добавить еще ссылок 22 | 23 | ## Как подготовиться ко встрече, краткий обзор основных активностей: 24 | 25 | 1. Зачем встреча и кто на ней будет? 26 | * Понять цель: зачем команде эта встреча 27 | * Определить тип команды и кол-во человек: группа руководителей, команда разработки, группа контента и тд 28 | * Определиться с датой проведения и найти в календаре свободный слот для всей команды 29 | 2. Подготовить дизайн встречи, который будет различаться в зависимости от целей, типа команды и кол-ва человек (будет полезен пункт выше "Материалы, которые могут помочь") 30 | 3. После встречи зафиксировать результаты: action points, ответственные, сроки 31 | 4. При возможности желательно возвращать команду к принятым решениям, либо определить за это ответственного 32 | 33 | ## Ошибки в использовании 34 | * Фасилитатор навязывает свое мнение команде: даже если вы знаете решение - вы уверенны, что ваше решение точно верно? - как фасилитатор вы можете подвести группу к этому решению наводящими вопросами, либо напрямую спросить у команды, не будут ли ребята против, если попробуете обозначить "идею", но сразу обозначить, что конечное решение за командой 35 | * Дизайн встречи не подходит группе: возможно для апишников в свитерах не всегда лучшее решение прийти на встречу с дизайном карточек в виде котиков 36 | * Фасилитатор не соблюдает тайминг: приведет к тому, что встреча затянется, если команда не может принять решение, спросите у команды, возможно стоит отдельно обсудить этот вопрос, предварительно подготовив варианты решения? 37 | * дополнить... 38 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/communications/index.md: -------------------------------------------------------------------------------- 1 | # Коммуникации 2 | 3 | ## Из чего состоит 4 | 5 | ```mdx-code-block 6 | import DocCardList from '@theme/DocCardList'; 7 | 8 | 9 | ``` 10 | 11 | ## Дополнительные материалы 12 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 13 | * [Анти-паттерны](/docs/profession/antipatterns) 14 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/communications/oratory.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: roadmap 3 | --- 4 | # Ораторское искусство 5 | **Ора́торское иску́сство** (_красноре́чие, искусство красноречия_) — искусство публичного выступления с целью убеждения. Ораторское искусство — это гармоничное сочетание риторики, приёмов актёрского мастерства (подача) и психологических техник. 6 | 7 | Цель ораторского искусства — изложение оратором его позиции перед оппонентом или аудиторией, защита собственной точки зрения. Этой цели он достигает, используя подготовленную речь и технику ораторского мастерства. 8 | 9 | Ораторское искусство и свойства ораторской речи изучает наука риторика. 10 | 11 | Ораторская речь — это вид монологической речи, употребляемый в ситуации, когда говорящий обращается к многочисленной аудитории с целью убеждения. Речь оратора имеет свои особенности построения композиции и стиля, а также особое соотношение языковых и неязыковых средств общения. Можно выделить несколько основных качеств, которые отличают ораторскую речь от других видов речи. 12 | 13 | Оратор обращается к народу с ораторской речью — не только донести до слушателя информацию, но и получить ответную реакцию в виде заинтересованности (убедить) или каких-либо действий (побудить). Такая речь всегда имеет агитационный характер. Для этого оратор должен быть воодушевлён предметом своей речи и вкладывать в неё то, что он считает нужным и полезным для его слушателей. 14 | Для того, чтобы речь тронула и заинтересовала аудиторию, важен авторитет говорящего или его особый психологический настрой. Чтобы побудить слушателей совершить какие-то действия, оратор, прежде всего, сам делает усилие, требующее особого напряжения воли. Это усилие чувствуется в речи оратора и передаётся его слушателям, побуждая их к действиям. 15 | 16 | ## Важность понимания и владения ораторским искусством 17 | Для проведения изменений, диагностики проблематики, проведения встреч, презентаций своих идей командам/руководителям/топ-менеджменту критически важно обладать хорошими навыками ораторского мастерства. С развитым ораторским мастерством Деливери менеджер звучит убедительно, его идеи реже поддаются критике, он быстрее располагает собеседников к себе, позволяет быстрее договариваться и выстраивать крепкие партнёрские отношения. Навык чётко и ясно доносить свои мысли критически важен в данной роли. 18 | 19 | ## Дополнительные материалы 20 | * Курсы в Московской школы ораторов и публичного мастерства (онлайн + офлайн) https://orator.moscow/ 21 | * Школа менеджеров Яндекса. Мария Кутузова про презентации http://youtube.com/watch?v=S0r0fMJa9eA 22 | 23 | ## Лайфкахи 24 | 1. Можно использовать чёрные слайды-заглушки, чтобы переключить внимание со слайда на себя. Это хорошо, если надо что-то сказать аудитории, сфокусировать их внимание на себе 25 | 2. Смотреть выступления по теме до начала подготовки своего выступления. Воровать их слова или приёмы по теме – это не зашквар, если копировать с доработками 26 | 3. Заготовить 10+ фактов о себе которые перебирать в зависимости от аудитории 27 | 4. Никому не интересны пустые факты о том, кто ты, почему ты эксперт - хорошо начать с неожиданного вовлечения и потом подвести к своей экспертизе и знакомству 28 | 5. Комментировать ответ аудитории мастхев иначе ты ее можешь потерять 29 | 6. Вопросы из аудитории надо проговаривать вслух, если у говорящего нет микрофона, так как может идти запись и на ней будет слышно только ответ спикера. Очень раздражает, когда смотришь запись и слышишь ответ, но не понимаешь какой был вопрос 30 | 7. Создавать план динамики можно через карту того, что слушатель делает в каждый момент времени 31 | 8. Чтобы вовлечь аудиторию нужно не просто давать ей информацию, а заставлять думать вместе с тобой 32 | 9. Надо переводить телефон в авиарежим, чтобы при звонке не было параллельного звонка на MacBook, если идёт шаринг экрана 33 | 10. Важно максимально детально проработать вступление, так как если вступление прошло хорошо, то дальше выступление идёт как-то получше. Больше энергии и уверенности 34 | 11. Если ты выступаешь не один, то круто делать отсылки на коллег, которые выступали до тебя или будут после с анонсом времени и тем их выступлений. Это делает выступление более живым 35 | 12. В конце выступления можно оставить контакты и голосом проговорить про бесплатный консалтинг всем, кто напишет в личку или поставит встречу с понятной повесткой. Это может добавить ценности выступлению и повысить авторитет спикеру. Главное проговорить размер и количество таких бесплатных консультаций. 36 | 13. Читать вслух художествунную литературу и активно артикулировать верхней и нижней частью лица (верхняя и нижняя челюсть). 37 | 14. Перед выступлением стоит “прогреться” – рассказать кому ни будь историю, просто поговорить. Провести мини-презентацию. 38 | 39 | ## Упражнения для развития речи 40 | 1. Проговаривать вслух всё что видишь. Описывать объекты и людей. 41 | 2. Запись выступления на диктофон или видео. Потом просматривать и прослушивать, подмечать в каких ситуация начинается тупняк, запинание, экание и акание. Искать повторяющиеся паттерны. 42 | 3. Пересказ прочитанного текста. Исключать дробность речи. Не ставить точку после каждого слова, а лаконично говорить всё предложения повышая интонацию вверх к концу предложения или мысли. 43 | 4. Проговаривание звуков и букв с перестановкой. Перебираем: ИЭАОУЫИ. Произносим: КПТ(И); БГД(И); РТМ(И); КЧК(И); ВЗЛ(И)ВРТУ 44 | 5. Скороговорки – Сложные скороговорки для дикции 45 | 46 | ### Артикуляционная гимнастика 47 | Все упражнения делать не менее 10 повторений. 48 | Время разминки до 30 минут. 49 | 50 | #### Для губ, верхний и нижней части лица 51 | Расслабление через упражнение "Лошадка" – как лошадь выдуваешь воздух с расслабленными губами. 52 | 53 | 1. Уточка – улыбка – уточка – улыбка 54 | 2. Втягивание щёк 55 | 3. Попеременный оскал верхних и нижних зубов 56 | 4. Массаж губ прикусывая их нижними и верхними зубами 57 | 5. Вращение языком 360 градусов пытаясь достать самые крайние уголки рта – растягиваем мышцы языка 58 | 59 | Примеры этих и других упражнений на YouTube http://youtube.com/watch?v=XI1UwLLoKVA 60 | 61 | #### Для языка 62 | Расслабление через упражнение "Колокольчик" 63 | 64 | 1. Круговые движения языком перед и по зубам, по щекам 65 | 2. Язык попеременно упирается в щёки 66 | 3. Круговые движения за зубами 67 | 4. Тяги к ушам, подбородку, носу 68 | 5. Массаж языка зубами 69 | 6. Делаем язык в форме лопаты – трубочки 70 | 71 | Примеры этих и других упражнений на YouTube http://youtube.com/watch?v=wvTdKivTKZA 72 | 73 | ### Упражнения для голоса 74 | * Руки пульверизаторы и на Ф словно распыляем воду в оранжерее. Делать так не более 1 минуты, чтобы насытить организм кислородом 75 | * Плавно протянуть все гласные на одном выдохе 76 | * Петь Ом 77 | * Проговаривать одно и то же предложение, но в разных интонациях 78 | 79 | Примеры этих и других упражнений на YouTube http://youtube.com/watch?v=vzWgLkG-aXs 80 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Работа с информацией' 2 | position: 10 3 | className: disabled-category 4 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/index.md: -------------------------------------------------------------------------------- 1 | # Работа с информацией 2 | 3 | ## Из чего состоит 4 | 5 | ```mdx-code-block 6 | import DocCardList from '@theme/DocCardList'; 7 | 8 | 9 | ``` 10 | 11 | ## Дополнительные материалы 12 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 13 | * [Анти-паттерны](/docs/profession/antipatterns) 14 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/knowledge-base/_category_.yml: -------------------------------------------------------------------------------- 1 | label: 'Создание собственной базы знаний' 2 | position: 10 3 | collapsible: false 4 | className: disabled-category 5 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/knowledge-base/second-brain.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Второй мозг 5 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/knowledge-base/showcases.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Маркетплейсы/витрины знаний 5 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/knowledge-base/wiki.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Вики подобные способы организации 5 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/manage-information/knowledge-base/zettelkasten.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_class_name: disabled-page 3 | --- 4 | # Zettelkasten Никласа Лумана 5 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/technical-skills/index.md: -------------------------------------------------------------------------------- 1 | # Техническое совершенство 2 | 3 | ```mermaid 4 | graph LR 5 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 6 | A[Техническое совершенство] --- B1(Практики разработки) & B2(Качество) & B3(Настройка инструментов управления работой) & B4(Лёгкое кодирование/написание скриптов) 7 | ``` 8 | 9 | ## О чём это направление 10 | 11 | ## Почему важно работать с этим направлением 12 | 13 | ## Дополнительные материалы 14 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 15 | * [Анти-паттерны](/docs/profession/antipatterns) 16 | -------------------------------------------------------------------------------- /docs/roadmap/professional-growth/training/index.md: -------------------------------------------------------------------------------- 1 | # Обучение 2 | 3 | ```mermaid 4 | graph LR 5 | %%{ init: { 'flowchart': { 'nodeSpacing': 10, 'rankSpacing': 200 }}}%% 6 | A[Обучение] --- B1(Воркшопы) & B2(Менторинг) & B3(Индивидуальные планы развития) 7 | ``` 8 | 9 | ## О чём это направление 10 | 11 | ## Почему важно работать с этим направлением 12 | 13 | ## Дополнительные материалы 14 | * [Книги, видео, подкасты](/docs/profession/good-to-know) 15 | * [Анти-паттерны](/docs/profession/antipatterns) 16 | -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@docusaurus/types').DocusaurusConfig} */ 2 | import remarkMath from 'remark-math'; 3 | import rehypeKatex from 'rehype-katex'; 4 | const math = require('remark-math'); 5 | const katex = require('rehype-katex'); 6 | module.exports = { 7 | title: 'Деливери менеджер', 8 | tagline: 'Кто это, задачи, обязанности, как им стать, карта развития', 9 | url: 'https://deliverymanager.ru', 10 | baseUrl: '/', 11 | onBrokenLinks: 'log', 12 | onBrokenMarkdownLinks: 'warn', 13 | favicon: 'img/favicon.png', 14 | organizationName: 'Delivery-Manager', 15 | projectName: 'knowledgebase', 16 | trailingSlash: false, 17 | markdown: { 18 | mermaid: true, 19 | }, 20 | themes: [ 21 | '@docusaurus/theme-mermaid', 22 | [ 23 | require.resolve("@easyops-cn/docusaurus-search-local"), 24 | /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ 25 | ({ 26 | hashed: true, 27 | language: ["en", "ru"], 28 | }), 29 | ], 30 | ], 31 | themeConfig: { 32 | mermaid: { 33 | theme: { light: 'base', dark: 'dark' }, 34 | options: { 35 | flowchart: { 36 | curve: 'monotoneX', 37 | }, 38 | themeVariables: { 39 | 'primaryColor': '#E6E9F6', 40 | 'primaryTextColor': '#000000', 41 | 'primaryBorderColor': '#E6E9F6', 42 | 'lineColor': '#5E73E1' 43 | } 44 | } 45 | }, 46 | colorMode: { 47 | defaultMode: 'light', 48 | disableSwitch: true, 49 | respectPrefersColorScheme: false, 50 | }, 51 | tableOfContents: { 52 | minHeadingLevel: 2, 53 | maxHeadingLevel: 4, 54 | }, 55 | docs: { 56 | sidebar: { 57 | hideable: true, 58 | }, 59 | }, 60 | navbar: { 61 | title: 'DM Knowledge Base', 62 | logo: { 63 | alt: 'База знаний профессии Деливери менеджер', 64 | src: 'img/logo.svg', 65 | }, 66 | items: [{ 67 | type: 'doc', 68 | docId: 'profession/about', 69 | position: 'left', 70 | label: 'Документация', 71 | }, 72 | { to: 'blog', label: 'Блог', position: 'left' }, 73 | { 74 | href: 'https://github.com/delivery-manager/knowledgebase', 75 | label: 'Репозиторий', 76 | position: 'right', 77 | }, 78 | ], 79 | }, 80 | footer: { 81 | style: 'light', 82 | copyright: `© 2022-${new Date().getFullYear()} Delivery Manager`, 83 | links: [ 84 | { 85 | title: "О профессии", 86 | items: [ 87 | { 88 | label: "Описание профессии", 89 | to: "/" 90 | }, 91 | { 92 | label: "Анти-паттерны", 93 | to: "/" 94 | }, 95 | { 96 | label: "Полезные материалы", 97 | to: "/" 98 | } 99 | ] 100 | }, 101 | { 102 | title: "Компетенции", 103 | items: [ 104 | { 105 | label: "Грейды", 106 | to: "/" 107 | } 108 | ] 109 | }, 110 | { 111 | title: "Карта развития", 112 | items: [ 113 | { 114 | label: "Управление изменениями", 115 | to: "/" 116 | }, 117 | { 118 | label: "Управление людьми", 119 | to: "/" 120 | }, 121 | { 122 | label: "Управление работой", 123 | to: "/" 124 | }, 125 | ] 126 | }, 127 | { 128 | title: "Профессиональное развитие", 129 | items: [ 130 | { 131 | label: "Управление изменениями", 132 | to: "/" 133 | }, 134 | { 135 | label: "Управление людьми", 136 | to: "/" 137 | }, 138 | { 139 | label: "Управление работой", 140 | to: "/" 141 | }, 142 | ] 143 | } 144 | ], 145 | logo: { 146 | src: "img/logo.svg", 147 | href: "/", 148 | alt: "", 149 | width: 160, 150 | height: 51, 151 | } 152 | }, 153 | }, 154 | presets: [ 155 | [ 156 | '@docusaurus/preset-classic', 157 | { 158 | docs: { 159 | sidebarPath: require.resolve('./sidebars.js'), 160 | // Please change this to your repo. 161 | editUrl: 'https://github.com/delivery-manager/knowledgebase/edit/main/', 162 | remarkPlugins: [math], 163 | rehypePlugins: [katex], 164 | showLastUpdateAuthor: true, 165 | }, 166 | blog: { 167 | blogSidebarCount: 0, 168 | }, 169 | gtag: { 170 | trackingID: 'G-CNJ52NL21B', 171 | anonymizeIP: true, 172 | }, 173 | theme: { 174 | customCss: require.resolve('./src/css/custom.css'), 175 | }, 176 | }, 177 | ], 178 | ], 179 | stylesheets: [{ 180 | href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css', 181 | type: 'text/css', 182 | integrity: 'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM', 183 | crossorigin: 'anonymous', 184 | }, ], 185 | i18n: { 186 | defaultLocale: 'ru', 187 | locales: ['ru'], 188 | }, 189 | plugins: [], 190 | }; 191 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dm-knowledgebase", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start --no-open", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids" 15 | }, 16 | "dependencies": { 17 | "@docusaurus/core": "^3.4.0", 18 | "@docusaurus/plugin-google-gtag": "^3.4.0", 19 | "@docusaurus/preset-classic": "^3.4.0", 20 | "@docusaurus/theme-mermaid": "^3.4.0", 21 | "@easyops-cn/docusaurus-search-local": "^0.44.0", 22 | "@mdx-js/react": "^3.0.1", 23 | "@popperjs/core": "^2.11.5", 24 | "clsx": "^1.1.1", 25 | "file-loader": "^6.2.0", 26 | "hast-util-is-element": "^1.1.0", 27 | "react": "^18.0.0", 28 | "react-dom": "^18.0.0", 29 | "react-popper": "^2.3.0", 30 | "rehype-katex": "^7.0.0", 31 | "remark-math": "^6.0.0", 32 | "url-loader": "^4.1.1" 33 | }, 34 | "browserslist": { 35 | "production": [ 36 | ">0.5%", 37 | "not dead", 38 | "not op_mini all" 39 | ], 40 | "development": [ 41 | "last 1 chrome version", 42 | "last 1 firefox version", 43 | "last 1 safari version" 44 | ] 45 | }, 46 | "devDependencies": { 47 | "prettier": "2.4.1", 48 | "webpack-cli": "^4.8.0" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | start: [ 3 | { 4 | type: 'autogenerated', 5 | dirName: '.', 6 | }, 7 | ], 8 | }; 9 | -------------------------------------------------------------------------------- /src/components/BlinkingSwitchboard/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import s from './styles.module.css' 3 | 4 | function getRandomNumber(start, end) { 5 | return Math.floor(Math.random() * (end - start + 1) + start) 6 | } 7 | 8 | export default function BlinkingSwitchboard() { 9 | const rows = 5; 10 | const columns = 18; 11 | const transitionDuration = 250; 12 | // Cherry-pick a few lights to animate 13 | const indices = [7, 15, 19, 29, 26, 34, 46, 55, 60, 67, 70, 74, 83]; 14 | // Randomly animate between three states 15 | const states = ['off', 'medium', 'high']; 16 | 17 | const ref = React.useRef() 18 | 19 | const [ isHover, setIsHover ] = React.useState(false) 20 | 21 | React.useEffect(() => { 22 | const timeoutIds = []; 23 | 24 | const interval = setInterval(() => { 25 | indices.forEach((index) => { 26 | const light = ref.current.querySelector(`[data-index="${index}"]`); 27 | 28 | if (!light) { 29 | return; 30 | } 31 | 32 | // Pick a random next state 33 | const nextState = states[Math.floor(Math.random() * states.length)]; 34 | const currentState = light.dataset.state; 35 | 36 | const pulse = Math.random() > 0.2 && ( 37 | // Make sure we only pulsate going from "off" → "medium" → "high" 38 | (currentState === 'off' && nextState === 'high') || 39 | (currentState === 'off' && nextState === 'medium') || 40 | (currentState === 'medium' && nextState === 'high') 41 | ); 42 | 43 | if (pulse) { 44 | // Add an arbitrary delay between 100-500ms 45 | const delay = getRandomNumber(100, 500); 46 | 47 | timeoutIds.push( 48 | setTimeout(() => { 49 | light.style.transform = 'scale(2)'; 50 | }, delay), 51 | ); 52 | 53 | timeoutIds.push( 54 | setTimeout(() => { 55 | light.style.transform = 'scale(1)'; 56 | }, transitionDuration + delay), 57 | ); 58 | } 59 | 60 | // After a pulse, don't transition from "high" → "medium" 61 | if (currentState === 'high' && nextState === 'medium' && pulse) { 62 | light.dataset.state = 'off'; 63 | } else { 64 | light.dataset.state = nextState; 65 | } 66 | }); 67 | }, 1000); 68 | 69 | return () => { 70 | clearInterval(interval); 71 | timeoutIds.forEach(clearTimeout); 72 | }; 73 | }, []); 74 | 75 | return ( 76 |
    85 | {Array.from({ length: columns * rows }).map((_, i) => { 86 | return ( 87 |
    96 | ); 97 | })} 98 |
    99 | ) 100 | } 101 | -------------------------------------------------------------------------------- /src/components/BlinkingSwitchboard/styles.module.css: -------------------------------------------------------------------------------- 1 | .switchboard { 2 | padding: 1.5rem; 3 | } 4 | 5 | .light { 6 | width: 1px; 7 | height: 1px; 8 | border-radius: 9999px; 9 | position: relative; 10 | transition: transform var(--transition-duration) ease; 11 | 12 | &:after, 13 | &:before { 14 | content: ''; 15 | position: absolute; 16 | inset: 0; 17 | opacity: 0; 18 | width: inherit; 19 | height: inherit; 20 | border-radius: inherit; 21 | transition: opacity var(--transition-duration) ease; 22 | } 23 | 24 | &:before { 25 | /* Medium */ 26 | background: #3291FF; 27 | box-shadow: 0px 0px 2px 1px rgba(50, 145, 255, 0.25); 28 | } 29 | 30 | &:after { 31 | /* High */ 32 | background: #FFFFFF; 33 | box-shadow: 34 | 0px 0px 1px 1px rgba(50, 145, 255, 0.8), 35 | 0px 0px 2px 1px rgba(50, 145, 255, 0.25); 36 | } 37 | 38 | &[data-state='off'] { 39 | background: #707070; 40 | } 41 | 42 | &[data-state='medium']:before { 43 | opacity: 1; 44 | } 45 | 46 | &[data-state='high']:after { 47 | opacity: 1; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/components/BlogHere/index.js: -------------------------------------------------------------------------------- 1 | import BlogThereIcon from "@site/static/img/blog-there.svg" 2 | import StartIcon from "@site/static/img/star.svg" 3 | import ArrowIcon from "@site/static/img/blog-here-arrow.svg" 4 | import Tooltip from "@site/static/img/Tooltip.jpg" 5 | import Rectangle675 from "@site/static/img/Rectangle675.jpg" 6 | import Rectangle677 from "@site/static/img/Rectangle677.jpg" 7 | import Rating from "@site/static/img/Rating.jpg" 8 | import Link from '@docusaurus/Link'; 9 | import React from 'react' 10 | import s from './styles.module.css' 11 | 12 | export default function BlogHere() { 13 | return ( 14 |
    15 |
    16 |
    17 |
    18 | 19 | 20 | {/**/} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 |
    37 |

    38 | Мы ведём свой блог, где публикуем что изменилось в профессии, 39 | анонсируем конференции и просто делимся мыслями 40 |

    41 | 42 | 43 | 44 | 45 |
    46 |
    47 |
    48 |
    49 |
    50 |
    51 |
    52 | ); 53 | } -------------------------------------------------------------------------------- /src/components/BlogHere/styles.module.css: -------------------------------------------------------------------------------- 1 | .picsContainer { 2 | background-color: #FFD31B; 3 | overflow-y: clip; 4 | } 5 | 6 | .blogHere { 7 | display: flex; 8 | flex-direction: column; 9 | align-items: center; 10 | padding-right: 1rem; 11 | background-color: #FFD31B; 12 | } 13 | 14 | .blogHere_container { 15 | display: flex; 16 | flex-direction: column; 17 | padding: 15rem 0; 18 | z-index: 1; 19 | } 20 | 21 | .blogHere__article { 22 | width: 100%; 23 | max-width: 616px; 24 | /*margin-left: 8px;*/ 25 | font-weight: 400; 26 | font-size: 1.2rem; 27 | } 28 | 29 | .content { 30 | display: flex; 31 | align-items: center; 32 | } 33 | 34 | .content__icon { 35 | max-width: calc(100% - 2rem); 36 | } 37 | 38 | .content__arrowIcon { 39 | } 40 | 41 | .content__starIcon { 42 | /*margin-left: -75px;*/ 43 | margin-bottom: -210px; 44 | } 45 | 46 | .blogHere__link { 47 | display: flex; 48 | flex-wrap: nowrap; 49 | align-items: center; 50 | } 51 | 52 | .pics { 53 | display: flex; 54 | flex-direction: column; 55 | position: relative; 56 | transform: translate(0, 100%); 57 | width: 100%; 58 | height: 0; 59 | } 60 | 61 | .pics__container { 62 | background-color: #FFD31B; 63 | overflow-y: clip; 64 | } 65 | 66 | @keyframes slidein { 67 | 0% { 68 | margin-left: var(--start); 69 | } 70 | 71 | 100% { 72 | margin-left: var(--end); 73 | } 74 | } 75 | 76 | .pics > picture { 77 | overflow-x: clip; 78 | max-height: 15rem; 79 | } 80 | 81 | .pics > picture > img { 82 | --duration: 40s; 83 | --start: -20%; 84 | --end: 120%; 85 | 86 | border-radius: 15px; 87 | animation: var(--duration) linear infinite running slidein; 88 | max-height: inherit; 89 | } 90 | 91 | .pics > picture:nth-child(1) > img { 92 | --duration: 60s; 93 | --start: -15%; 94 | --end: 120%; 95 | margin-top: -2rem; 96 | } 97 | 98 | .pics > picture:nth-child(2) > img { 99 | --duration: 50s; 100 | --start: -30%; 101 | --end: 120%; 102 | margin-top: -2rem; 103 | } 104 | 105 | .pics > picture:nth-child(3) > img { 106 | --duration: 100s; 107 | --start: -50%; 108 | --end: 120%; 109 | margin-top: -3rem; 110 | } 111 | 112 | 113 | @media screen and (max-width: 966px) { 114 | .blogHere_container { 115 | padding: 10rem 0; 116 | } 117 | 118 | .pics > picture { 119 | overflow-x: clip; 120 | max-height: 5rem; 121 | margin-bottom: 10rem; 122 | } 123 | 124 | .pics > picture:nth-child(2) { 125 | max-height: 7rem; 126 | } 127 | 128 | .pics > picture:nth-child(1) > img { 129 | --duration: 60s; 130 | --start: -35%; 131 | --end: 120%; 132 | margin-top: -2rem; 133 | } 134 | 135 | .pics > picture:nth-child(2) > img { 136 | --duration: 50s; 137 | --start: -40%; 138 | --end: 120%; 139 | margin-top: -2rem; 140 | } 141 | 142 | .pics > picture:nth-child(3) > img { 143 | --duration: 100s; 144 | --start: -50%; 145 | --end: 120%; 146 | margin-top: -3rem; 147 | } 148 | 149 | } 150 | 151 | @media screen and (max-width: 1279px) { 152 | .pics > picture:nth-child(1) > img { 153 | --duration: 60s; 154 | --start: -35%; 155 | --end: 120%; 156 | margin-top: -2rem; 157 | } 158 | 159 | .pics > picture:nth-child(2) > img { 160 | --duration: 50s; 161 | --start: -50%; 162 | --end: 120%; 163 | margin-top: -2rem; 164 | } 165 | 166 | .pics > picture:nth-child(3) > img { 167 | --duration: 100s; 168 | --start: -45%; 169 | --end: 120%; 170 | margin-top: -3rem; 171 | } 172 | } 173 | 174 | -------------------------------------------------------------------------------- /src/components/Faqs/index.js: -------------------------------------------------------------------------------- 1 | import React, {useState} from 'react' 2 | import PlusIcon from "@site/static/img/plus-icon.svg" 3 | import s from './styles.module.css' 4 | 5 | function Question() { 6 | const [isOpen, setIsOpen] = useState(false) 7 | const onClick = () => { 8 | setIsOpen((prev) => !prev) 9 | } 10 | 11 | return
    12 |
    13 |

    Question text goes here

    14 |

    Answer text goes here

    15 |
    16 | {isOpen ? 17 | () : 18 | () 19 | } 20 |
    21 | 22 | } 23 | 24 | 25 | export default function Faqs() { 26 | 27 | const onQuestionClick = () => { 28 | 29 | } 30 | 31 | return (
    32 |
    33 |
    34 |

    Faqs

    35 |

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum 36 | tristique.

    37 |
    38 |
    39 |
    40 |
    41 | 42 | 43 | 44 | 45 | 46 |
    47 |
    48 |
    ); 49 | } -------------------------------------------------------------------------------- /src/components/Faqs/styles.module.css: -------------------------------------------------------------------------------- 1 | .faqs { 2 | color: #FFFFFF; 3 | background: #512DE2 url("/static/img/faqs.jpeg"); 4 | background-size: cover; 5 | } 6 | 7 | .layer { 8 | padding-top: 112px; 9 | padding-bottom: 112px; 10 | background-color: rgba(81, 45, 226, 0.7); 11 | width: 100%; 12 | height: 100%; 13 | display: flex; 14 | justify-content: center; 15 | } 16 | 17 | .faqs__content { 18 | width: 100%; 19 | max-width: 500px; 20 | margin-right: 64px; 21 | } 22 | 23 | .faqs__title { 24 | font-family: PT Sans Caption; 25 | src: url("/fonts/PTSansCaption-Bold.ttf") format("truetype"); 26 | font-size: 72px; 27 | font-weight: 700; 28 | line-height: 68px; 29 | letter-spacing: 0px; 30 | text-align: left; 31 | 32 | } 33 | 34 | .questions { 35 | width: 100%; 36 | max-width: 732px; 37 | } 38 | 39 | .question { 40 | border-bottom: 2px solid #FFD31B; 41 | display: flex; 42 | align-items: center; 43 | justify-content: space-between; 44 | } 45 | 46 | 47 | .question__innerTextShow { 48 | height: fit-content; 49 | animation: all 0.5s ease-in-out; 50 | transition: height 200ms ease 0ms; 51 | } 52 | 53 | .question__innerTextHidden { 54 | visibility: hidden; 55 | height: 0; 56 | margin: 0 !important; 57 | transition: height 200ms ease 0ms; 58 | } 59 | 60 | 61 | .question > div { 62 | width: 100%; 63 | display: flex; 64 | justify-content: space-between; 65 | flex-direction: column; 66 | } 67 | 68 | .question > div > p { 69 | text-align: left; 70 | margin: 20px 0; 71 | } 72 | 73 | .question__plusIcon { 74 | height: 32px; 75 | width: 32px; 76 | } -------------------------------------------------------------------------------- /src/components/HomepageFeatures/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './styles.module.css'; 4 | 5 | const FeatureList = [ 6 | { 7 | title: 'Описание профессии', 8 | description: ( 9 | <> 10 | Кто такой Деливери менеджер. Какие задачи выполняет. Как им стать 11 | 12 | ), 13 | }, 14 | { 15 | title: 'Карта развития', 16 | description: ( 17 | <> 18 | Поможет понять что должен знать и уметь Деливери менеджер, составить план развития, найти инструмент под конкретную задачу 19 | 20 | ), 21 | }, 22 | ]; 23 | 24 | function Feature({title, description}) { 25 | return ( 26 |
    27 |
    28 |

    {title}

    29 |

    {description}

    30 |
    31 |
    32 | ); 33 | } 34 | 35 | export default function HomepageFeatures() { 36 | return ( 37 |
    38 |
    39 |
    40 | {FeatureList.map((props, idx) => ( 41 | 42 | ))} 43 |
    44 |
    45 |
    46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding: 2rem 0; 5 | width: 100%; 6 | } 7 | 8 | .featureSvg { 9 | height: 200px; 10 | width: 200px; 11 | } 12 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | /** 4 | * CSS files with the .module.css suffix will be treated as CSS modules 5 | * and scoped locally. 6 | */ 7 | 8 | .heroBanner { 9 | padding: 4rem 0; 10 | text-align: center; 11 | position: relative; 12 | overflow: hidden; 13 | } 14 | 15 | @media screen and (max-width: 966px) { 16 | .heroBanner { 17 | padding: 2rem; 18 | } 19 | } 20 | 21 | .buttons { 22 | display: flex; 23 | align-items: center; 24 | justify-content: center; 25 | } 26 | 27 | .wrapper { 28 | max-width: 1280px; 29 | margin: 0 auto; 30 | padding-inline: 1rem; 31 | } 32 | 33 | .beginSectionWrapper { 34 | background-color: #512DE2; 35 | padding: 2rem 1rem; 36 | } 37 | 38 | .beginSection { 39 | display: grid; 40 | grid-template-rows: 300px 1fr; 41 | border-radius: 3rem; 42 | overflow: hidden; 43 | border: 0.1rem #FFD31B solid; 44 | } 45 | 46 | .beginSection__poster { 47 | 48 | } 49 | 50 | .beginSection__posterImage { 51 | height: 100%; 52 | object-fit: cover; 53 | width: 100%; 54 | } 55 | 56 | .beginSection__description { 57 | display: flex; 58 | gap: 1rem; 59 | flex-direction: column; 60 | justify-content: space-between; 61 | padding: 1rem; 62 | } 63 | 64 | .beginSection__descriptionContent { 65 | flex-grow: 1; 66 | color: white; 67 | font-size: 1.2rem; 68 | padding-top: 2rem; 69 | } 70 | 71 | @media screen and (max-width: 599px) { 72 | .beginSection__descriptionContent { 73 | padding-top: 0; 74 | } 75 | } 76 | 77 | .beginSection__descriptionActionButton { 78 | padding: 1rem 2rem; 79 | background-color: #FFD31B; 80 | border-radius: 3rem; 81 | color: black; 82 | font-weight: 500; 83 | width: 100%; 84 | text-align: center; 85 | font-size: 1.2rem; 86 | } 87 | 88 | .beginSection__descriptionActionButton:hover { 89 | text-decoration: none; 90 | color: black; 91 | background-color: #f6e4aa; 92 | } 93 | 94 | .aboutDeliveryManagers__wrapper { 95 | padding-top: 80px; 96 | padding-bottom: 210px; 97 | background-color: #FFD31B; 98 | /*padding-block-end: 15rem;*/ 99 | position: relative; 100 | overflow-x: hidden; 101 | } 102 | 103 | .aboutDeliveryManagers { 104 | display: flex; 105 | flex-direction: column; 106 | gap: 2rem; 107 | padding-top: 2rem; 108 | } 109 | 110 | .aboutDeliveryManagers > div, h2 { 111 | flex: 1; 112 | } 113 | 114 | .aboutDeliveryManagers__title { 115 | font-size: 2.3rem; 116 | font-weight: 700; 117 | line-height: 2.5rem; 118 | } 119 | 120 | .aboutDeliveryManagers__article { 121 | font-size: 1.1rem; 122 | font-weight: 400; 123 | line-height: 1.8rem; 124 | } 125 | 126 | .aboutDeliveryManagersMarqueeWrapper { 127 | overflow-x: clip; 128 | height: fit-content; 129 | /*position: absolute;*/ 130 | /*bottom: 0;*/ 131 | /*margin-bottom: -5rem;*/ 132 | margin-bottom: 5rem; 133 | margin-top: -5rem; 134 | } 135 | 136 | .aboutDeliveryManagersMarquee { 137 | --duration: 60s; 138 | --gap: 1rem; 139 | 140 | display: flex; 141 | overflow: hidden; 142 | user-select: none; 143 | gap: var(--gap); 144 | padding-block: 0.5rem; 145 | } 146 | 147 | .aboutDeliveryManagersMarqueeFirst { 148 | background-color: black; 149 | } 150 | 151 | .aboutDeliveryManagersMarqueeSecond { 152 | background-color: #5E73E1; 153 | } 154 | 155 | .aboutDeliveryManagersMarqueeReverse .aboutDeliveryManagersMarqueeItem { 156 | animation-direction: reverse; 157 | animation-delay: calc(var(--duration) / -2); 158 | } 159 | 160 | .aboutDeliveryManagersMarqueeItem { 161 | flex-shrink: 0; 162 | display: flex; 163 | align-items: center; 164 | justify-content: space-around; 165 | gap: var(--gap); 166 | min-width: 100vw; 167 | animation: scroll var(--duration) linear infinite; 168 | height: 50px; 169 | } 170 | 171 | .onboarding { 172 | display: flex; 173 | } 174 | 175 | .aboutWorkProcess { 176 | display: grid; 177 | grid-template-columns: 1fr; 178 | grid-auto-rows: min-content; 179 | gap: 1rem; 180 | padding-block: 1rem; 181 | margin-top: 120px; 182 | margin-bottom: 80px; 183 | } 184 | 185 | @media screen and (max-width: 599px) { 186 | .aboutWorkProcess { 187 | gap: 2rem; 188 | } 189 | } 190 | 191 | .aboutWorkProcessCard { 192 | border: 1px solid black; 193 | border-radius: 3rem; 194 | padding: 2rem; 195 | } 196 | 197 | .aboutWorkProcessCard__title { 198 | font-size: 1.5rem; 199 | font-weight: bold; 200 | margin-bottom: 8px; 201 | } 202 | 203 | .aboutWorkProcessCard__description { 204 | font-size: 1.1rem; 205 | line-height: 2; 206 | margin: 0; 207 | } 208 | 209 | .aboutWorkProcessCardSpecific { 210 | background: hsl(0 0% 11.0%); 211 | flex-grow: 1; 212 | } 213 | 214 | .aboutWorkProcessCardSpecificWrapper { 215 | border-radius: 3rem; 216 | overflow: hidden; 217 | } 218 | 219 | .aboutWorkProcessCardSpecificLink { 220 | display: flex; 221 | flex-direction: column; 222 | width: 100%; 223 | height: 100%; 224 | } 225 | 226 | .aboutWorkProcessCardSpecificLink:hover { 227 | text-decoration: none; 228 | } 229 | 230 | .aboutWorkProcessCardSpecific__title { 231 | color: white; 232 | font-size: 1.2rem; 233 | } 234 | 235 | .aboutWorkProcessCardSpecific__icon { 236 | width: 108px; 237 | } 238 | 239 | .aboutWorkProcessCardSpecificContent { 240 | background: black; 241 | display: flex; 242 | padding: 1rem; 243 | gap: 2rem; 244 | justify-content: space-between; 245 | align-items: center; 246 | } 247 | 248 | .aboutWorkProcessCardSpecificContentIcon { 249 | width: 50px; 250 | height: 50px; 251 | } 252 | 253 | .aboutWorkProcessMoreSection { 254 | border-top: 1px solid black; 255 | padding-block: 1rem; 256 | } 257 | 258 | .aboutWorkProcessMore { 259 | display: grid; 260 | gap: 2rem; 261 | margin-bottom: 112px; 262 | } 263 | 264 | .aboutWorkProcessMore__content { 265 | display: flex; 266 | flex-direction: column; 267 | justify-content: center; 268 | font-size: 1.1rem; 269 | font-weight: 400; 270 | line-height: 1.8rem; 271 | } 272 | 273 | .aboutWorkProcessMore__contentTitle { 274 | font-size: 3rem; 275 | font-weight: bold; 276 | flex: none; 277 | } 278 | 279 | .aboutWorkProcessMore__contentSubTitle { 280 | font-size: 0.9rem; 281 | flex: none; 282 | } 283 | 284 | .aboutWorkProcessMore__contentButton { 285 | width: fit-content; 286 | display: inline-block; 287 | margin-top: 0.5rem; 288 | padding: 0.5rem 1rem; 289 | border-radius: 3rem; 290 | border: 1px solid #512DE2; 291 | } 292 | 293 | .aboutWorkProcessMore__contentButton:hover { 294 | text-decoration: none; 295 | } 296 | 297 | @media (prefers-reduced-motion: reduce) { 298 | .aboutDeliveryManagersMarqueeItem { 299 | animation-play-state: paused; 300 | } 301 | } 302 | 303 | @keyframes scroll { 304 | 0% { 305 | transform: translateX(0); 306 | } 307 | 308 | 100% { 309 | transform: translateX(calc(-100% - var(--gap))); 310 | } 311 | } 312 | 313 | @media screen and (min-width: 599px) { 314 | .beginSectionWrapper { 315 | padding: 5rem 0; 316 | } 317 | 318 | .beginSection { 319 | grid-template-rows: initial; 320 | grid-template-columns: 1fr 1fr; 321 | border-width: 0.2rem; 322 | border-radius: 5rem; 323 | } 324 | 325 | .beginSection__description { 326 | padding: 5rem; 327 | } 328 | 329 | .beginSection__descriptionActionButton { 330 | width: fit-content; 331 | } 332 | 333 | .aboutDeliveryManagersMarquee { 334 | padding-block: 2rem; 335 | } 336 | 337 | .aboutDeliveryManagersMarqueeItem { 338 | max-height: 70px; 339 | } 340 | 341 | .aboutWorkProcess { 342 | grid-template-columns: 1fr 1fr; 343 | } 344 | 345 | .aboutWorkProcessCardSpecific__icon { 346 | width: 50px; 347 | } 348 | } 349 | 350 | @media screen and (min-width: 1279px) { 351 | .wrapper { 352 | padding-inline: 0; 353 | } 354 | 355 | .complexTask { 356 | grid-column: 1/3; 357 | } 358 | 359 | .professionDescription { 360 | grid-column: 3/-1; 361 | } 362 | 363 | .aboutWorkProcess { 364 | grid-template-columns: repeat(4, 1fr); 365 | /*grid-template-rows: 1fr 1fr;*/ 366 | gap: 2rem; 367 | } 368 | } 369 | 370 | @media screen and (min-width: 700px) { 371 | .aboutWorkProcessMore { 372 | grid-template-rows: 50px 1fr; 373 | grid-template-columns: 1fr 1fr; 374 | } 375 | 376 | .aboutDeliveryManagers { 377 | flex-direction: row; 378 | } 379 | } 380 | 381 | .aboutWorkProcessMore__img { 382 | max-width: 616px; 383 | max-height: 640px; 384 | border-radius: 5rem; 385 | width: 100%; 386 | height: 100%; 387 | object-fit: cover; 388 | } 389 | 390 | @media screen and (max-width: 599px) { 391 | .aboutWorkProcessMore__img { 392 | max-height: 320px; 393 | border-radius: 3rem; 394 | } 395 | } -------------------------------------------------------------------------------- /src/theme/Footer/Copyright/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | export default function FooterCopyright({copyright}) { 3 | return ( 4 |
    10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/Footer/Layout/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | export default function FooterLayout({style, links, logo, copyright}) { 4 | return ( 5 |
    9 |
    10 | {links} 11 | {(logo || copyright) && ( 12 |
    13 | {logo &&
    {logo}
    } 14 | {copyright} 15 |
    16 | )} 17 |
    18 |
    19 | ); 20 | } 21 | -------------------------------------------------------------------------------- /src/theme/Footer/LinkItem/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Link from '@docusaurus/Link'; 3 | import useBaseUrl from '@docusaurus/useBaseUrl'; 4 | import isInternalUrl from '@docusaurus/isInternalUrl'; 5 | import IconExternalLink from '@theme/Icon/ExternalLink'; 6 | export default function FooterLinkItem({item}) { 7 | const {to, href, label, prependBaseUrlToHref, ...props} = item; 8 | const toUrl = useBaseUrl(to); 9 | const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true}); 10 | return ( 11 | 21 | {label} 22 | {href && !isInternalUrl(href) && } 23 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /src/theme/Footer/Links/MultiColumn/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import LinkItem from '@theme/Footer/LinkItem'; 3 | function ColumnLinkItem({item}) { 4 | return item.html ? ( 5 |
  • 11 | ) : ( 12 |
  • 13 | 14 |
  • 15 | ); 16 | } 17 | function Column({column}) { 18 | return ( 19 |
    20 |
    {column.title}
    21 |
      22 | {column.items.map((item, i) => ( 23 | 24 | ))} 25 |
    26 |
    27 | ); 28 | } 29 | export default function FooterLinksMultiColumn({columns}) { 30 | return ( 31 |
    32 | {columns.map((column, i) => ( 33 | 34 | ))} 35 |
    36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /src/theme/Footer/Links/Simple/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import LinkItem from '@theme/Footer/LinkItem'; 3 | function Separator() { 4 | return ·; 5 | } 6 | function SimpleLinkItem({item}) { 7 | return item.html ? ( 8 | 14 | ) : ( 15 | 16 | ); 17 | } 18 | export default function FooterLinksSimple({links}) { 19 | return ( 20 |
    21 |
    22 | {links.map((item, i) => ( 23 | 24 | 25 | {links.length !== i + 1 && } 26 | 27 | ))} 28 |
    29 |
    30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/theme/Footer/Links/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {isMultiColumnFooterLinks} from '@docusaurus/theme-common'; 3 | import FooterLinksMultiColumn from '@theme/Footer/Links/MultiColumn'; 4 | import FooterLinksSimple from '@theme/Footer/Links/Simple'; 5 | export default function FooterLinks({links}) { 6 | return isMultiColumnFooterLinks(links) ? ( 7 | 8 | ) : ( 9 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/Footer/Logo/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Link from '@docusaurus/Link'; 4 | import {useBaseUrlUtils} from '@docusaurus/useBaseUrl'; 5 | import ThemedImage from '@theme/ThemedImage'; 6 | import styles from './styles.module.css'; 7 | function LogoImage({logo}) { 8 | const {withBaseUrl} = useBaseUrlUtils(); 9 | const sources = { 10 | light: withBaseUrl(logo.src), 11 | dark: withBaseUrl(logo.srcDark ?? logo.src), 12 | }; 13 | return ( 14 | 22 | ); 23 | } 24 | export default function FooterLogo({logo}) { 25 | return logo.href ? ( 26 | 30 | 31 | 32 | ) : ( 33 | 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /src/theme/Footer/Logo/styles.module.css: -------------------------------------------------------------------------------- 1 | .footerLogoLink { 2 | opacity: 0.5; 3 | transition: opacity var(--ifm-transition-fast) 4 | var(--ifm-transition-timing-default); 5 | } 6 | 7 | .footerLogoLink:hover { 8 | opacity: 1; 9 | } 10 | -------------------------------------------------------------------------------- /src/theme/Footer/index.js: -------------------------------------------------------------------------------- 1 | import React, {useCallback} from 'react'; 2 | import {useThemeConfig} from '@docusaurus/theme-common'; 3 | import s from "./styles.module.css" 4 | import Logo from "@site/static/img/logo.svg" 5 | import UpIcon from "@site/static/img/up.svg" 6 | import FooterLinks from '@theme/Footer/Links'; 7 | import FooterLogo from '@theme/Footer/Logo'; 8 | import FooterCopyright from '@theme/Footer/Copyright'; 9 | import FooterLayout from '@theme/Footer/Layout'; 10 | import Link from "@docusaurus/Link"; 11 | function Footer() { 12 | const {footer} = useThemeConfig(); 13 | if (!footer) { 14 | return null; 15 | } 16 | const {copyright, links, logo, style} = footer; 17 | 18 | const onClickUpButton = useCallback(() => { 19 | window.scrollTo({ 20 | top: 0, 21 | behavior: "smooth" 22 | }) 23 | }, []) 24 | 25 | return
    26 |
    27 |
    28 | 29 |
    30 |
    31 | 32 |
    33 | {/*
    */} 34 | {/*

    Соц. сети

    */} 35 | {/*
    */} 36 |
    37 | 40 |
    41 |
    42 | 43 |
    44 |
    45 | {copyright} 46 |
    47 | {/*
    */} 48 | {/*
      */} 49 | {/*
    • Политика приватности
    • */} 50 | {/*
    • Условия использования
    • */} 51 | {/*
    • Cookies
    • */} 52 | {/*
    */} 53 | {/*
    */} 54 |
    55 |
    56 | /*return ( 57 | 0 && } 60 | logo={logo && } 61 | copyright={copyright && } 62 | /> 63 | );*/ 64 | } 65 | export default React.memo(Footer); 66 | -------------------------------------------------------------------------------- /src/theme/Footer/styles.module.css: -------------------------------------------------------------------------------- 1 | .footerWrapper { 2 | padding: 1rem; 3 | background: black; 4 | color: white; 5 | } 6 | 7 | .footer { 8 | border: 1px solid white; 9 | border-radius: 3rem; 10 | display: flex; 11 | flex-direction: column; 12 | padding: 1rem; 13 | gap: 1rem; 14 | margin-bottom: 1rem; 15 | } 16 | 17 | .footer__logo { 18 | display: flex; 19 | justify-content: center; 20 | } 21 | 22 | .footer__upButton { 23 | background: transparent; 24 | border: none; 25 | cursor: pointer; 26 | } 27 | 28 | .footer__copyrights { 29 | display: flex; 30 | justify-content: space-between; 31 | max-width: var(--ifm-container-width); 32 | padding: 0 var(--ifm-spacing-horizontal); 33 | margin: 0 auto; 34 | } 35 | 36 | .footer__copyrightsList { 37 | display: flex; 38 | flex-wrap: wrap; 39 | list-style: none; 40 | gap: 1rem; 41 | color: white; 42 | } 43 | 44 | @media screen and (min-width: 700px) { 45 | .footer { 46 | margin: 4rem; 47 | padding: 3rem; 48 | flex-direction: row; 49 | justify-content: space-between; 50 | } 51 | 52 | .footer__logo { 53 | margin-right: 3rem; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/theme/Navbar/ColorModeToggle/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useColorMode, useThemeConfig} from '@docusaurus/theme-common'; 3 | import ColorModeToggle from '@theme/ColorModeToggle'; 4 | import styles from './styles.module.css'; 5 | export default function NavbarColorModeToggle({className}) { 6 | const navbarStyle = useThemeConfig().navbar.style; 7 | const disabled = useThemeConfig().colorMode.disableSwitch; 8 | const {colorMode, setColorMode} = useColorMode(); 9 | if (disabled) { 10 | return null; 11 | } 12 | return ( 13 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /src/theme/Navbar/ColorModeToggle/styles.module.css: -------------------------------------------------------------------------------- 1 | .darkNavbarColorModeToggle:hover { 2 | background: var(--ifm-color-gray-800); 3 | } 4 | -------------------------------------------------------------------------------- /src/theme/Navbar/Content/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useThemeConfig, ErrorCauseBoundary} from '@docusaurus/theme-common'; 3 | import { 4 | splitNavbarItems, 5 | useNavbarMobileSidebar, 6 | } from '@docusaurus/theme-common/internal'; 7 | import NavbarItem from '@theme/NavbarItem'; 8 | import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; 9 | import SearchBar from '@theme/SearchBar'; 10 | import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle'; 11 | import NavbarLogo from '@theme/Navbar/Logo'; 12 | import NavbarSearch from '@theme/Navbar/Search'; 13 | import clsx from 'clsx'; 14 | import styles from './styles.module.css'; 15 | function useNavbarItems() { 16 | // TODO temporary casting until ThemeConfig type is improved 17 | return useThemeConfig().navbar.items; 18 | } 19 | function NavbarItems({items}) { 20 | return ( 21 | <> 22 | {items.map((item, i) => ( 23 | 26 | new Error( 27 | `A theme navbar item failed to render. 28 | Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: 29 | ${JSON.stringify(item, null, 2)}`, 30 | {cause: error}, 31 | ) 32 | }> 33 | 34 | 35 | ))} 36 | 37 | ); 38 | } 39 | function NavbarContentLayout({left, right}) { 40 | return ( 41 |
    42 |
    {left}
    43 |
    {right}
    44 |
    45 | ); 46 | } 47 | export default function NavbarContent() { 48 | const mobileSidebar = useNavbarMobileSidebar(); 49 | const items = useNavbarItems(); 50 | const [leftItems, rightItems] = splitNavbarItems(items); 51 | const searchBarItem = items.find((item) => item.type === 'search'); 52 | return ( 53 | 57 | {!mobileSidebar.disabled && } 58 | 59 | 60 | 61 | } 62 | right={ 63 | // TODO stop hardcoding items? 64 | // Ask the user to add the respective navbar items => more flexible 65 | <> 66 | 67 | 68 | {!searchBarItem && ( 69 | 70 | 71 | 72 | )} 73 | 74 | } 75 | /> 76 | ); 77 | } 78 | -------------------------------------------------------------------------------- /src/theme/Navbar/Content/styles.module.css: -------------------------------------------------------------------------------- 1 | /* 2 | Hide color mode toggle in small viewports 3 | */ 4 | @media (max-width: 996px) { 5 | .colorModeToggle { 6 | display: none; 7 | } 8 | } 9 | 10 | .navbarLink > a { 11 | /*border: 1px solid black;*/ 12 | /*border-radius: 24px;*/ 13 | /*margin-right: 2rem;*/ 14 | /*padding: 8px 20px 8px 20px;*/ 15 | /*font-weight: normal;*/ 16 | } 17 | -------------------------------------------------------------------------------- /src/theme/Navbar/Layout/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import {useThemeConfig} from '@docusaurus/theme-common'; 4 | import { 5 | useHideableNavbar, 6 | useNavbarMobileSidebar, 7 | } from '@docusaurus/theme-common/internal'; 8 | import {translate} from '@docusaurus/Translate'; 9 | import NavbarMobileSidebar from '@theme/Navbar/MobileSidebar'; 10 | import styles from './styles.module.css'; 11 | function NavbarBackdrop(props) { 12 | return ( 13 |
    18 | ); 19 | } 20 | export default function NavbarLayout({children}) { 21 | const { 22 | navbar: {hideOnScroll, style}, 23 | } = useThemeConfig(); 24 | const mobileSidebar = useNavbarMobileSidebar(); 25 | const {navbarRef, isNavbarVisible} = useHideableNavbar(hideOnScroll); 26 | return ( 27 | 51 | ); 52 | } 53 | -------------------------------------------------------------------------------- /src/theme/Navbar/Layout/styles.module.css: -------------------------------------------------------------------------------- 1 | .navbarHideable { 2 | transition: transform var(--ifm-transition-fast) ease; 3 | } 4 | 5 | .navbarHidden { 6 | transform: translate3d(0, calc(-100% - 2px), 0); 7 | } 8 | -------------------------------------------------------------------------------- /src/theme/Navbar/Logo/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Logo from '@theme/Logo'; 3 | export default function NavbarLogo() { 4 | return ( 5 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/Header/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; 3 | import {translate} from '@docusaurus/Translate'; 4 | import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; 5 | import IconClose from '@theme/Icon/Close'; 6 | import NavbarLogo from '@theme/Navbar/Logo'; 7 | function CloseButton() { 8 | const mobileSidebar = useNavbarMobileSidebar(); 9 | return ( 10 | 21 | ); 22 | } 23 | export default function NavbarMobileSidebarHeader() { 24 | return ( 25 |
    26 | 27 | 28 | 29 |
    30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/Layout/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal'; 4 | export default function NavbarMobileSidebarLayout({ 5 | header, 6 | primaryMenu, 7 | secondaryMenu, 8 | }) { 9 | const {shown: secondaryMenuShown} = useNavbarSecondaryMenu(); 10 | return ( 11 |
    12 | {header} 13 |
    17 |
    {primaryMenu}
    18 |
    {secondaryMenu}
    19 |
    20 |
    21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useThemeConfig} from '@docusaurus/theme-common'; 3 | import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; 4 | import NavbarItem from '@theme/NavbarItem'; 5 | function useNavbarItems() { 6 | // TODO temporary casting until ThemeConfig type is improved 7 | return useThemeConfig().navbar.items; 8 | } 9 | // The primary menu displays the navbar items 10 | export default function NavbarMobilePrimaryMenu() { 11 | const mobileSidebar = useNavbarMobileSidebar(); 12 | // TODO how can the order be defined for mobile? 13 | // Should we allow providing a different list of items? 14 | const items = useNavbarItems(); 15 | return ( 16 |
      17 | {items.map((item, i) => ( 18 | mobileSidebar.toggle()} 22 | key={i} 23 | /> 24 | ))} 25 |
    26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/SecondaryMenu/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useThemeConfig} from '@docusaurus/theme-common'; 3 | import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal'; 4 | import Translate from '@docusaurus/Translate'; 5 | function SecondaryMenuBackButton(props) { 6 | return ( 7 | 14 | ); 15 | } 16 | // The secondary menu slides from the right and shows contextual information 17 | // such as the docs sidebar 18 | export default function NavbarMobileSidebarSecondaryMenu() { 19 | const isPrimaryMenuEmpty = useThemeConfig().navbar.items.length === 0; 20 | const secondaryMenu = useNavbarSecondaryMenu(); 21 | return ( 22 | <> 23 | {/* edge-case: prevent returning to the primaryMenu when it's empty */} 24 | {!isPrimaryMenuEmpty && ( 25 | secondaryMenu.hide()} /> 26 | )} 27 | {secondaryMenu.content} 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/Toggle/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; 3 | import {translate} from '@docusaurus/Translate'; 4 | import IconMenu from '@theme/Icon/Menu'; 5 | export default function MobileSidebarToggle() { 6 | const {toggle, shown} = useNavbarMobileSidebar(); 7 | return ( 8 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /src/theme/Navbar/MobileSidebar/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | useLockBodyScroll, 4 | useNavbarMobileSidebar, 5 | } from '@docusaurus/theme-common/internal'; 6 | import NavbarMobileSidebarLayout from '@theme/Navbar/MobileSidebar/Layout'; 7 | import NavbarMobileSidebarHeader from '@theme/Navbar/MobileSidebar/Header'; 8 | import NavbarMobileSidebarPrimaryMenu from '@theme/Navbar/MobileSidebar/PrimaryMenu'; 9 | import NavbarMobileSidebarSecondaryMenu from '@theme/Navbar/MobileSidebar/SecondaryMenu'; 10 | export default function NavbarMobileSidebar() { 11 | const mobileSidebar = useNavbarMobileSidebar(); 12 | useLockBodyScroll(mobileSidebar.shown); 13 | if (!mobileSidebar.shouldRender) { 14 | return null; 15 | } 16 | return ( 17 | } 19 | primaryMenu={} 20 | secondaryMenu={} 21 | /> 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /src/theme/Navbar/Search/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './styles.module.css'; 4 | export default function NavbarSearch({children, className}) { 5 | return
    {children}
    ; 6 | } 7 | -------------------------------------------------------------------------------- /src/theme/Navbar/Search/styles.module.css: -------------------------------------------------------------------------------- 1 | @media (max-width: 996px) { 2 | .searchBox { 3 | position: absolute; 4 | right: var(--ifm-navbar-padding-horizontal); 5 | } 6 | } 7 | 8 | @media (min-width: 997px) { 9 | .searchBox { 10 | padding: var(--ifm-navbar-item-padding-vertical) 11 | var(--ifm-navbar-item-padding-horizontal); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/theme/Navbar/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import NavbarLayout from '@theme/Navbar/Layout'; 3 | import NavbarContent from '@theme/Navbar/Content'; 4 | export default function Navbar() { 5 | return ( 6 | 7 | 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/.nojekyll -------------------------------------------------------------------------------- /static/fonts/PTSansCaption-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/PTSansCaption-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/Ubuntu-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/Ubuntu-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/Ubuntu-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/Ubuntu-Light.ttf -------------------------------------------------------------------------------- /static/fonts/Ubuntu-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/Ubuntu-Medium.ttf -------------------------------------------------------------------------------- /static/fonts/Ubuntu-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/Ubuntu-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/UbuntuMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/fonts/UbuntuMono-Regular.ttf -------------------------------------------------------------------------------- /static/img/Rating.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/Rating.jpg -------------------------------------------------------------------------------- /static/img/Rectangle675.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/Rectangle675.jpg -------------------------------------------------------------------------------- /static/img/Rectangle677.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/Rectangle677.jpg -------------------------------------------------------------------------------- /static/img/Tooltip-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/Tooltip-1.jpg -------------------------------------------------------------------------------- /static/img/Tooltip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/Tooltip.jpg -------------------------------------------------------------------------------- /static/img/about-delivery-manager-1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/img/about-process-arrow-2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/about-process-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/blog-here-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/blog-there.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/delivery-manager.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/docusaurus.png -------------------------------------------------------------------------------- /static/img/faqs.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/faqs.jpeg -------------------------------------------------------------------------------- /static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/favicon.png -------------------------------------------------------------------------------- /static/img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/img/onboarding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/onboarding.png -------------------------------------------------------------------------------- /static/img/plus-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/poster1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/poster1-2.jpg -------------------------------------------------------------------------------- /static/img/poster1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/poster1.jpg -------------------------------------------------------------------------------- /static/img/reading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/reading.png -------------------------------------------------------------------------------- /static/img/roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/roadmap.png -------------------------------------------------------------------------------- /static/img/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/img/useful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Delivery-Manager/knowledgebase/4fef9e7a53fa107ddbcc251d3c96494214bc9465/static/img/useful.png --------------------------------------------------------------------------------