Как стать автором
Обновить
220.75

Управление разработкой *

Планирование, отслеживание и контроль

Сначала показывать
Порог рейтинга
Уровень сложности

Основные команды Pip для разработчиков Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.4K

Pip, система управления пакетами для Python, является незаменимым инструментом для каждого программиста на этом языке. Работаете ли вы над веб-разработкой, машинным обучением, Data Science или любым другим проектом на Python, pip позволит вам легко получить доступ к обширному репозиторию библиотек и фреймворков.

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

Новости

Сильные продукты создаются сильными структурами и процессами: анатомия NPD-модели, как всё устроено

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров354

Наш бизнес - это контрактная разработка продуктов, промышленный дизайн, помощь в постановке продуктов на производство.

Работаем с самыми разными продуктами: электроника, машиностроение, фарм, мебель, продукты питания, FMCG, станкостроение, транспорт, реабилитационное оборудование, IT, банковские и страховые продукты... - подходы к созданию всех продуктов очень похожие, поэтому мы намеренно избегаем продуктовой специализации, а тонкие компетенции привлекаем в виде внешних команд.

По работе и в целях обучения посещаем много компаний в Европе, Северной Америке, Юго-Восточной Азии, где процессы создания и запуска новых продуктов поставлены на высокоэффективный уровень.

Некоторым клиентам помогли выстроить NPD* - процессы, и оргструктуры, речь идёт о компаниях, которые поработав с нами захотели выстроить эффективные продуктовые процессы внутри своих компаний.

Читать далее
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Как оценить эффективность IT-команд и с умом задебажить процессы

Время на прочтение6 мин
Количество просмотров2.9K

Привет, Хабр! Это Оля Муттер, руководитель IT-проектного офиса в Купере (ex СберМаркет). Жизнь заставила меня научиться настраивать процессы как боженька. Я стартовала карьеру в роли бизнес-аналитика, доросла до директора продукта в финтехе, успела побывать наставником для проджектов, создать несколько проектных офисов и центров компетенций — всего за десять лет.

Сейчас я рулю проектным офисом в Купере (ex СберМаркет) — это 1300+ человек в IT-команде. Как понять, работает ли такая большая система эффективно? И что делать, если какая-то веточка этого гигантского дерева растет не в ту сторону? Об этом моя сегодняшняя статья. 

Спойлер: надо дебажить процессы, а для этого придется много работать с цифрами и общаться с людьми. За это у нас в компании отвечают delivery-менеджеры.

Читать далее
Всего голосов 9: ↑5 и ↓4+2
Комментарии8

Как мы отлавливаем флаки-тесты в СУБД Platform V Pangolin. Показываю бэкенд решения

Время на прочтение5 мин
Количество просмотров1.6K

Красные тесты — это неприятно, но есть кое-что похуже — тесты, которые то красные, то зеленые. С флаки-тестами сталкивается каждый продукт. И чем больше вы тестируете, тем больше мучительных выяснений, какие тесты — флаки, а какие — нет.

Меня зовут Александр Милов, я отвечаю за тестирование в Platform V Pangolin — это основная СУБД в Сбере, специальная сборка PostgreSQL, созданная для хранения и обработки данных в высоконагруженных приложениях.

Мы начали делать Pangolin в 2019 году. Долгое время флаки-тесты анализировались вручную, а информация о них передавалась от тестировщика к тестировщику каждую неделю. По мере роста числа тестов это перестало быть возможным (одно дело — отслеживать так 5–10 тестов, другое — 30–50). Сейчас мы запускаем 5000 тестов, и в таких масштабах за всеми флаки не уследишь без автоматизации.

Поэтому полгода назад мы сделали свой велосипед флаки-анализатор. Я покажу основные его детали под капотом. Надеюсь, это будет полезно командам тестирования, которые раздумывают о похожем инструменте. Прошу под кат.

Читать далее
Всего голосов 17: ↑17 и ↓0+26
Комментарии0

Истории

Git. Скачем между ветками как древесные лягушки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров16K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Всего голосов 63: ↑63 и ↓0+75
Комментарии57

Design thinking в IT-проектах

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров491

История дизайн-мышления (design thinking) началась более полувека назад, когда Герберт Саймон озвучил идею дизайн-мышления в 1969 году в книге «Науки об искусственном» (The Sciences of the Artificial). В своей работе он привёл тезис об общности творческого подхода к различным видам деятельности, будь то написание музыкального произведения или, например, разработка техники [1].

В 70-80-х годах прошлого века этот подход проникает в менеджмент. В 1978 году Дэвид Келли создаёт вместе со своим университетским другом Дином Хови компанию Hovey-Kelley Design, которая в последствие станет ядром компании IDEO, сделавшей своей официальной доктриной дизайн-мышление [2]. Сотрудники IDEO учат своих клиентов думать, как дизайнеры, чтобы улучшить качество работы. В портфолио компании разработка Palm V, первой мыши для Apple, первый ноутбук [3, 4].

Позднее идею развили учёные Стэнфордского университета и основали в 2005 году Стэнфордский институт дизайна, или d.school, который продвигает идею дизайн-мышления [5]. Своей целью институт ставит построение методов, которые позволят развить навыки креативности, применимые к самым разнообразным областям. Для этого применяемся инструмент «радикального сотрудничества», когда студентов с разных факультетов, а также преподавателей и практиков из совершенно разных областей объединяют вместе [6]. Цель такого эксперимента обеспечить многообразие точек зрения на одну и ту же проблему и привить умение смотреть на один и тот же вопрос с разных сторон.

Дальнейшее развитие методологии представлено в виде появления множества школ, курсов, а также событийных мероприятий, которые предлагают за пару часов или несколько дней постичь всю суть дизайн-мышления. Что на самом деле несколько сомнительно, но об этом будет сказано далее.

Читать далее
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Делегируй это

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.8K

Знакомо ли тебе слово "делегирование"?

На первый взгляд, с ним всё понятно: одной рукой хватаешь задачу, другой – счастливчика из своей команды и запихиваешь делегируешь! Сотрудник – с бесценным опытом, ты – с кучей свободного времени и высоким перформансом команды.

Или нет? Иногда вместо бесценного опыта сотрудник остаётся без свободного времени и премий; ты – без повышения, перформанса и доверия к команде. К сожалению, мало у кого делегирование с первого раза работает как надо. Это – отдельный и сложный менеджерский скилл.

Как, делегируя, приносить команде и себе пользу, а не вред?

Под катом разберём важные составляющие успеха.

Читать далее
Всего голосов 9: ↑6 и ↓3+4
Комментарии3

Программист никому не должен доверять, и даже самому себе

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.1K

Программисты должны быть параноиками.

  • «Я дважды проверил код»
  • «Код проходит все тесты»
  • «Ревьюер одобрил мой код»

«Так ли корректен мой код?»

Писать код корректно трудно, а подтвердить корректность кода невозможно.
Вот некоторые из причин этого:

  • Всеобщность: даже если код правильно вёл себя один раз, будет ли он вести себя так во всех случаях на всех машинах и всегда?
  • Ложное прохождение теста: непрохождение тестов указывает на наличие багов, но прохождение тестов не гарантирует их отсутствия.
  • Отсутствие определённости: можно написать формальное доказательство корректности кода, но теперь нужно задаться вопросом, корректно ли доказательство. Потребуется доказать доказательство. Эта цепочка проверки проверок никогда не закончится.

Безумно было бы стремиться к определённости корректности кода. Баг может скрываться в зависимости, которую вы никогда не найдёте. Однако отчаиваться не стоит, всё равно можно снизить вероятность багов, расширяя своё понимание и внимательность.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+31
Комментарии4

Методики, Методологии, Методы, Фреймворки  –  Что к чему

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3K

В последнее время много обсуждаются разные новомодные методики управления проектами, Agile-методики, методики разработки продукта… Или не «методики», а «методологии»?.. Или «методы»?.. Как правильнее-то?

Вроде интуитивно разница чувствуется. И даже чувствуется, что в 90% случаев (в контексте управления проектами), эти термины полностью взаимозаменяемы. Но иногда, нет-нет, но все-таки вспоминаются слова из песни: «непонятно, что конкретно ты имела в виду»*…

Надо бы разобраться…

Читать далее
Всего голосов 10: ↑9 и ↓1+11
Комментарии2

Стадии запуска продукта на примере Cloud.ru Evolution: почему ввели новый процесс и что это дает нам и нашим клиентам

Время на прочтение9 мин
Количество просмотров679

На связи снова Никита Бутримов — лидер продуктового направления в Cloud.ru. Недавно я рассказывал про облачный free tier, а сегодня хочу поделиться опытом нашей компании по внедрению новых стадий запуска продукта — рассказать, как мы работали раньше, как пришли к новому процессу, зачем это было нужно и что мы получили на выходе. Процесс разберем на примере запуска новой облачной платформы Cloud.ru Evolution. Поехали!

Читать дальше
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Ачивки за коммиты в git. Пятничный пост

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров5K

Кратко: сохраняем лог git в файл и кидаем в браузер тут.

Привет Хабра. Год назад я писал о разных визуализаторах статистики git и своем велосипеде. За это время удалось внести много улучшений, в том числе существенно увеличить набор ачивок для программистов. Но настал творческий тупик и мне уже не хватает фантазии придумывать новые ачивки. Они должны быть смешные, с издевкой и легко переводиться на другие языки. Может у вас будут идеи?

Читать далее
Всего голосов 34: ↑33 и ↓1+36
Комментарии31

Разбираемся, зачем нужен и как выбрать оптимальный загрузочный экран для вашего веб-продукта

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.3K

Хабр, привет! Меня зовут Антон, я дизайнер b2b продуктов в X5 Tech. Мне нравится моя работа и я стараюсь проектировать реализуемые интерфейсы, поэтому постоянно закапываюсь в технические нюансы.

Я неоднократно сталкивался с необходимостью создания загрузочных экранов на веб-продуктах, с которыми я работал. И хочу поделиться с вами своим опытом, наблюдениями и рассуждениями по этой теме. В статье  затрагиваю технические аспекты и даю классификацию загрузочных экранов, а заодно, помогаю выбрать оптимальный вариант для вашего продукта.

Окунуться
Всего голосов 7: ↑7 и ↓0+9
Комментарии13

Управление через коммуникацию

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.6K

Мы привыкли жаловаться на бесконечные встречи и чаты, на то что не хватает времени на главное, всё занято текучкой. И даже воспринимаем это как данность, как необходимое зло, издержки профессии. Так ли это? Посмотрим, сколько рефально стоит коммуникация. Команде в целом, и руководителям лично. С помощью каких инструментов сократить эти расходы и какой выигрыш можно получить.

Читать далее
Всего голосов 3: ↑2 и ↓1+2
Комментарии1

Ближайшие события

12 – 13 июля
Геймтон DatsDefense
Онлайн
19 сентября
CDI Conf 2024
Москва

Чек-лист по разработке облачных приложений. Часть 2 — аспекты безопасности

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров952

Всем добрый день, я Станислав Тибекин, CEO компании Nixys. Мы продолжаем серию переводов статей Эяля Эстрина из AWS про особенности создания cloud-native приложений. В этой части обсудим вопросы безопасности.

Посмотреть чек-лист
Всего голосов 4: ↑4 и ↓0+5
Комментарии3

Как мы победили техдолг в RuStore

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.9K

Приветствую всех! На связи Михаил Емельянов, руководитель Android-направления в RuStore.

За последние два года наш проект достиг впечатляющих результатов: более 50 миллионов установок, около 40 тысяч приложений и более 10 тысяч разработчиков.

Однако быстрый рост не проходит без вызовов, включая такие проблемы, как технический долг. В этой статье я расскажу, как управлять техдолгом, не останавливая разработку новых фич.

Читать далее
Всего голосов 23: ↑21 и ↓2+26
Комментарии5

ТОП-10 ошибок при создании сайта

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.1K

Разработка веб-сайта – сложный процесс, требующий внимания к множеству деталей. Ошибки на этапе разработки могут привести к серьезным проблемам в будущем, начиная от низкой посещаемости и заканчивая негативным пользовательским опытом. В этой статье рассмотрим десять наиболее распространенных ошибок, которых следует избегать при создании сайта.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

Личный кодинг, мягкость и воля: как развиваться руководителю разработки

Время на прочтение11 мин
Количество просмотров1.1K

Друзья, сегодня поговорим о становлении и развитии лидера и руководителя в разработке ПО. Для начала несколько слов обо мне.

Сейчас я работаю в Wildberries, руковожу несколькими командами разработки. Мы делаем новые для компании финансовые сервисы. И помогаю студентам Практикума становиться лидерами для разработчиков на курсе ​​Управление командой разработки. 

Читать далее
Всего голосов 13: ↑8 и ↓5+3
Комментарии0

Централизованные закупки в ERP-системах

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров336

На предприятиях часто ведется централизованная закупка материалов: сначала продукты поступают на центральный склад, после чего распределяются по подразделениям. При этом возможна ситуация, когда запасы так и остаются на главном складе и невозможно понять, кто был инициатором закупки данных материалов. В этой работе будет рассмотрена сформулированная выше проблема и возможные пути её решения. 

Процесс закупки продуктов выглядит следующим образом: подразделения создают документы первичных потребностей, отражая в ERP-системе данные материалов, количества, плановую дату поступления, на основе которых в дальнейшем будет происходить списание этих продуктов. После того, как документы первичной потребности утверждены, они поступают на обработку функционала ППМ (планирование потребности в материалах). ППМ анализирует наличие потребности в материале, уже имеющиеся запасы на складах, а также будущие поступления. Как результат ППМ автоматически формирует заявки на закупку для недостающего количества. Созданные заявки служат основанием для закупки у внешнего поставщика. Более того может формироваться особый вид заявок, позволяющий выполнять перемещение с других складов компании.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Давайте писать качественный код: важность статического анализа кода

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.9K

Привет, Хабр! Меня зовут Данил. Я frontend-разработчик департамента корпоративных систем ЛАНИТ, который очень любит порядок в коде. На мой взгляд, именно выразительность и чистота кода позволяют ему лучше работать и дольше жить.

В этой статье я структурировал информацию о пользе и важности статических анализаторов кода, основываясь на личном опыте.

Читать далее
Всего голосов 30: ↑27 и ↓3+30
Комментарии11

О неотъемлемой сложности систем

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.3K

В зависимости от личных предпочтений и потребностей, от уровня абстракций, на котором моделируется мир, а также от места в спектре между идеализмом и цинизмом, можно с полным правом сказать, что работа разработчиков ПО заключается в следующем:

  • написание кода;
  • создание и поддержка качественного ПО;
  • создание и поддержка достаточно хорошего ПО экономически выгодным образом;
  • управление сложностью;
  • удовлетворение потребностей пользователей;
  • решение задач;
  • удовлетворение потребностей заказчиков;
  • зарабатывание денег для организации-работодателя или для её заказчиков;
  • зарабатывание денег (для себя).

Разумеется, этот список далеко не полный. Некоторые из этих задач можно абстрагировать, редуцировать или вывести из других. Некоторые из них фундаментально несовместимы между собой или противоречат друг другу и могут сосуществовать с другими в конфликте. Например: допустим (в определённой мере), что качественное ПО порадует наших пользователей и заработает денег работодателю. Но в то же время нам нужно жертвовать качеством, чтобы оставаться в рамках бюджета, или добавлять функции, которые надоедают пользователям, но генерируют прибыль.

Каждая цель проистекает из определённого способа моделирования мира и наших действий. Как и в случае с любой абстракцией, они выполняют свою задачу в подходящем контексте и становятся ложными вне этого контекста; многие проблемы в разработке ПО могут быть объяснены такой искажённой перспективой, о чём я говорил в своём предыдущем посте. В этой статье мы будем считать, что основная задача разработчика ПО — это управление сложностью.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+29
Комментарии4
1
23 ...