Эта неделя была очень интересной и насыщенной знаниями. Я продолжал усердно работать над проектом вместе со своей командой, и мне пришлось адаптироваться ко многим изменениям, которые пришлось вносить по ходу дела, что в итоге превратилось в ряд проблем, из которых я многому научился. . Ниже я укажу, какие темы я изучал в течение недели.

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

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

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

Я узнал о методе MoSCoW для определения приоритетов функций; его аббревиатура означает следующее:

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

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

  • Как:кому нужна эта часть функциональности.
  • Мне нужно: то, что хочет пользователь.
  • Чтобы:почему это нужно пользователю.

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

Я узнал о GraphQL, языке запросов и обработки данных для API. Этот инструмент представлен как альтернатива REST. Основное улучшение, которое он предлагает, — это оптимизация, помимо переноса информации с сервера на клиент и исключения множественных запросов к серверу. Одним из основных преимуществ является то, что он может быть реализован более чем на 20 языках и имеет множество библиотек как для сервера, так и для клиента.

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

Я узнал об общих классах и методах в Java. Они позволяют программистам указывать с помощью одного объявления метода набор связанных методов или с помощью одного объявления класса набор связанных типов соответственно. они также обеспечивают безопасность типов во время компиляции, что позволяет программистам обнаруживать недопустимые типы во время компиляции. Использование дженериков в java дает большие преимущества и может дать возможность повторно использовать большой объем кода и сделать наш код более удобным для сопровождения.

Я более подробно изучил, что такое непрерывная интеграция и распространение. CI/CD — это метод частого распространения приложений среди клиентов с использованием автоматизации на этапах разработки приложений. Основными концепциями CI/CD являются непрерывная интеграция, непрерывное распространение и непрерывное развертывание. CI/CD — это решение проблем, которые могут возникнуть при интеграции нового кода в группы разработки и эксплуатации. Я также узнал о процессе реализации CI/CD на Github и Heroku.

Я узнал об известном инструменте, облегчающем CI/CD, под названием Jenkins, который представляет собой сервер с открытым исходным кодом для непрерывной интеграции. Это инструмент, используемый для непрерывной компиляции и тестирования программных проектов, что упрощает разработчикам интеграцию изменений в проект и доставку новых версий пользователям. Написанный на Java, он кроссплатформенный и доступен через веб-интерфейс. В настоящее время это наиболее широко используемое программное обеспечение для этой цели. Это очень полный инструмент, и его стоит использовать в программных проектах.

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