• Лучшие open source альтернативы MS Project с диаграммами Ганта

    • Translation
    Если вы управляете большими и сложными проектами, попробуйте сначала решения на базе open source. Если не понравится — вернётесь к Microsoft Project.



    Проектирование и конструирование спутников, создание роботов, запуск любого серьёзного продукта — всё это сложные большие проекты. Разработка ИТ-продуктов во многом относится к той же категории. Нам приходится привлекать, распределять и вкладывать большие суммы, взаимодействовать с поставщиками и подрядчиками (нередко это команды на аутсорсе). В результате формируются сложные зависимости, которые нужно отслеживать и корректировать.
    Читать дальше →
  • Введение в REST API — RESTful веб-сервисы

    • Translation
    • Tutorial
    Эта статья начинает серию постов о разработке REST API:


    Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.


    Intro to RESTful Web Services
    Читать дальше →
  • Документация в порядке

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

      Речь пойдет в основном о внутренних документах, которые обычно никто не просит писать, но которые на самом деле нужны команде.

      Читать далее
    • Меньше, чем пара. Еще один способ сокращения количества тестов

        Любому QA известен такой метод минимизации тест-кейсов, как Pairwise Testing — попарное тестирование. Метод отличный, достаточно простой и проверенный множеством команд. Но что делать, если после его применения кейсов остается слишком много?

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

        image
        Читать дальше →
      • «Обратные интервью» или Как вовремя перевернуть доску

          Когда я собеседую на руководящие позиции, я часто применяю "обратные интервью": прошу кандидатов рассказать, что бы они сами спросили на моем месте. Это дает мне полезную информацию и приятно разнообразит процесс. Этот пост о том, как и почему я это делаю.


          Что спрашивают маленькие девочки у чеширских котов?

          Читать дальше →
        • Советы руководителю от руководителя

          Привет, Хабр! Я управляю командами разработки уже 10 лет.

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

          Потом я вспомнил, что живу в мире пустозвонов, не стесняющихся нести «знания» в массы: бизнес-консультанты без бизнеса, карьерные консультанты без карьеры, коучи по чему угодно после двухмесячных курсов от таких же коучей. Неопытные умы, наслушавшись их, думают, что так мир и устроен, а потом огорчаются, что ничего не вышло. А опытные крутят у виска и отмалчиваются.

          Поэтому выключаю тумблер «не будь выскочкой» и делюсь «секретами».



          Тут не будет стандартных «делегируй», «налаживай процесс», «стой в правильной позе на стендапе» — об этом написано уже достаточно. Будет о другом.
          Читать дальше →
        • Автотесты на Android. Картина целиком

            Всем привет!


            Автотесты под Android — это непросто. Чтобы выстроить процесс автотестирования, надо запланировать и решить множество задач. Но самая большая беда заключается в том, что нигде нет полного описания, что вообще включает в себя автотестирование под Android, каковы его основные стадии. Отсутствует цельная картина. Этой статьей мы хотим восполнить пробел.


            Она также выступит в роли схематичной дорожной карты работы Avokado Project. Мы верим в то, что в скором времени разворачивание автотестирования будет занимать куда меньше времени, чем сейчас. И активно работаем в этом направлении.


            Читать дальше →
            • +15
            • 6.9k
            • 6
          • Как справиться с декомпозицией задач и не перестараться

              Всем привет!

              Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объектов в единое целое из составных частей, потребуется время. Иногда — даже очень много времени. Особенно, если перед этим вы не просто разобрали основную часть, а решили докопаться до сути на атомарном уровне.


              Где же та грань между адекватной постановкой задач и тотального хаоса? Поделюсь примером того, как к нам в «Спортмастере» периодически поступают задачи в разработку от бизнеса.
              Читать дальше →
            • Mind Map в тестировании — или легкий способ тестировать сложные приложения

              Вы тоже задаетесь вопросами:

              1. С чего начать тестирование?
              2. Как ничего не забыть?
              3. Как не запутаться в сложном функционале?

              Ответом может стать подход декомпозиции продукта путем составления Mind Map.

              Что это?


              Mind Map или интеллект карта — это инструмент для визуального отображения информации, который помогает эффективно ее структурировать.

              Такая форма изложения информации проще для понимания человеческим мозгом, чем строчный текст, и от того проще для применения в работе.

              Преимущества Mind Map


              1. Наглядность и визуализация.

              Главным достоинством Mind Map для тестировщика является наглядное видение тестируемого продукта, его функций и зависимостей между собой.

              2. Отличная альтернатива документации.

              Такую карту очень хорошо демонстрировать новым сотрудникам как альтернативу или дополнение к документации.

              3. Легко поддерживать.

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

              Что можно изобразить с помощью Mind Map?


              • функционал приложения на разных уровнях.
              • приоритет функционала.
              • зависимости в приложении.
              • практически что угодно:)
              Читать дальше →
              • +6
              • 13.3k
              • 4
            • Аномалии голосования по поправкам к Конституции России. Часть 1

              Общероссийское голосование по вопросу одобрения изменений, вносимых в Конституцию Российской Федерации, проводилось с 25 июня по 1 июля 2020 года (wikipedia).


              Основная цель данной заметки — это продемонстрировать как можно быстро начать работать с данными голосования и показать наличие определенного вида аномалий в них.


              Все вычисления, визуализации и парсинг данных приведены в Google Colab, который доступен по этой ссылке Google Colab.

              Читать дальше →
            • «В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров

                image

                Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский.

                LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. Но прошло время, и они сильно устарели. Так что мы решили, что систему пора обновить.

                Мы попросили нашего лидера бэкэнд разработки, Олега Правдина, рассказать о том, как они с командой параллельно с поддержкой основного продукта собрали новую модульную структуру сервиса на базе PostgreSQL, перенесли бизнес-логику в базы данных и провели миграцию с миллионами пользователей.

                Проблемы зрелого продукта


                «Я пришёл в Lingualeo в августе 2018 руководить бэкэнд разработкой. Тогда бэком занималась команда из 8 разработчиков и 2 админов, которые обслуживали монолит на 1 миллион строк кода преимущественно на PHP. Чтобы внедрить даже небольшую новую фичу, уходило 2 месяца. А затраты на инфраструктуру на 10 000 активных пользователей превышали 1 000 $ в год.

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

                Всего у нас в штате было 20 разработчиков, но развивать продукт было невозможно: если что-то добавить, вылезали неожиданные проблемы. У команды уходило 2–3 недели, чтобы всё починить. Разработчики занимались поддержкой кода из 2013 года, и ресурсов на обновление функциональности не было.
                Читать дальше →
              • Ненужные расширения для VS Code

                • Translation
                Недавно я занялся тщательным исследованием VS Code и сделал несколько интересных находок. Как оказалось, в редакторе есть довольно много возможностей и настроек, позволяющих отлично решать те же задачи, которые решают многие популярные расширения.



                Здесь речь пойдёт о шести сферах применения расширений, в которых эти расширения могут быть заменены стандартными механизмами VS Code.
                Читать дальше →
              • Основы правил проектирования базы данных

                Введение


                Как это часто бывает, архитектору БД нужно разработать базу данных под конкретное решение.
                Однажды в пятницу вечером, возвращаясь на электричке домой с работы, я подумал о том, как бы я создал сервис по найму сотрудников в разные компании. Ведь ни один из существующих сервисов не позволяет быстро понять насколько подходит тебе кандидат. Нет возможности создать сложные фильтры, включающие или исключающие совокупность определенных навыков, проектов или позиций. Максимум, что обычно предлагают сервисы — фильтры по компаниям и частично по навыкам.

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

                Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

                Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
                Читать дальше →
              • Путь QA бойца

                  Небольшой обзор вариантов развития твоей карьеры в сфере контроля и обеспечения качества. 

                  С чего начать?


                  Итак, предположим, что вы планируете карьеру в IT и впервые услышали о QA. Теперь вы хотите разобраться, что же это такое.



                  Читать дальше →
                • Ты можешь писать безупречные ТЗ, но какой в этом толк, если разработчик твой плачет?



                  В далекой-далекой галактике трудится сферический product owner. Он бегло пишет заметки на салфетке и молча отдает ее разработчикам. А вскоре получает готовый продукт, который на 100% соответствует его ожиданиям. Даже если продукт этот – сложный кроссплатформенный сервис с блэкджеком и адаптивностью.

                  Возможно ли такое на практике?
                  Читать дальше →
                • Профессиональное применение инструментов разработчика Chrome: 13 советов

                  • Translation
                  Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.


                  Читать дальше →
                • Язык программирования P4


                    P4 — это язык программирования, предназначенный для программирования правил маршрутизации пакетов. В отличие от языка общего назначения, такого как C или Python, P4 — это предметно-ориентированный язык с рядом конструкций, оптимизированных для сетевой маршрутизации.

                    P4 — это язык с открытым исходным кодом, лицензируемый и поддерживаемый некоммерческой организацией, которая называется P4 Language Consortium. Он также поддерживается Open Networking Foundation (ONF) и Linux Foundation (LF) — двумя крупнейшими зонтичными организациями в проектах с открытым исходным кодом в области сетевых технологий.
                    Читать дальше →
                    • +14
                    • 12.2k
                    • 8
                  • Курс лекций «Основы цифровой обработки сигналов»

                      Всем привет!

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

                      Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


                      Читать дальше →
                    • ТОП-11 ошибок при разработке BCP



                        Всем привет, меня зовут Игорь Тюкачев, и я консультант по непрерывности бизнеса. В сегодняшнем посте мы будем долго и нудно обсуждать прописные истины я хочу поделиться своим опытом и рассказать об основных ошибках, которые допускают компании при разработке плана обеспечения непрерывности своей деятельности.
                        Читать дальше →
                        • +34
                        • 3.8k
                        • 1