Типичные проблемы и их решение
Типичные проблемы и их решение
Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.
Проблемы с инструментами
• Отбор нужных инструментов
Одна из главных ошибок которую допускают команды разработчиков, — игнорирование нужных инструментов. Я убеждён в том, что система управления исходным кодом и система устранения проблем и неисправностей необходимы. В равной степени для команды разработчиков важны средства отладки, поиска ошибок, оптимизации производительности и проверки полноты. Они помогут решить многие уникальные проблемы, всплывающие на поверхность в процессе разработки.
Всё, что может ускорить и автоматизировать цикл разработки, критично для вашего графика. Слишком часто графики сбиваются, так как сложные ошибки или проблемы с производительностью вносятся в процессе разработки, но не выявляются на раннем этапе. Когда они обнаружены, людям без посторонней помощи устранить их практически невозможно. Времени искать нужные инструменты в Интернете просто не будет. Убедитесь, что определились с инструментами, которые вам понадобятся, интегрировали их в процесс разработки и обучили персонал работе с ними.
• Смена инструментов на средине пути
Одно из главных искушений в процессе разработки — замена того, что вы используете сейчас, новой версией или инструментом от другого производителя. Последствия такого решения обычно не просчитывают. Я не могу представить себе смены систем управления исходным кодом или устранения проблем и неисправностей без значительного сдвига графиков. Обычно лучше дойти до конечного выпуска с тем, что у вас имеется, нежели менять это на полпути.
Проблемы управления исходным кодом
• Структура проекта
С ростом проекта структура системы управления исходным кодом становится очень важной. Хотя здесь я предлагаю стандартный способ работы, не забудьте спланировать систему в соответствии с нуждами вашего проекта. Вы должны принять во внимание фактор одновременного выпуска нескольких версий (пакеты обновлений, сокращённые и полные выпуски), а также потребности разработчиков, тестировщиков, фактор обучения пользователей, человеческий фактор и технологические потребности.
• Содержание
Не обманывайте себя, думая, что исходный код — это всего лишь набор файлов, требующий контроля над изменениями. Как было отмечено ранее, управления требует великое множество файлов и документов — не ограничивайтесь преимуществами контроля над изменениями только для исходного кода. Даже если придётся переучивать людей, отвечающих за контроль качества или обучение пользователей, время будет потрачено не зря.
• Конфликты ключевых файлов
Типичный случай: разработчику X был выдан файл, и поэтому разработчик Y не может его взять для внесения важных изменений. Такие конфликты из-за файлов способны замедлить работу над проектом. Предусмотрите способ быстрого внесения критичных исправлений или изменений.
Лучший способ решить эту проблему — предотвратить её появление. Подумайте, можете ли вы разделить наиболее востребованную информацию на несколько файлов, основываясь на логических подсистемах, компонентах и классах. Разбивка содержимого файлов уменьшает вероятность конфликтов.
Когда разделить содержимое файлов невозможно, например из-за жёсткой связи между блоками, следует разработать политику, предусматривающую возврат файлов в течение определённого количества часов после выдачи. Также в случае недоступности файлов программисты могут работать над их копиями, а не над оригиналами. Ставший доступным файл можно взять на короткий срок, быстро обновить и возвратить на место.
В большинстве систем управления исходным кодом поддерживается слияние файлов. Это позволяет совместить изменения в файлах. Хотя обычно эта функция работает правильно, не позволяйте операцию слияния проводить автоматически. Вы должны убедиться, что проверили все изменения, сделанные в файле. Если в нашей системе управления исходным кодом поддержка слияния реализована плохо, можете воспользоваться такими редакторами кода, как Visual Slick Edit и Code Write. Они помогут выявить различия визуально и проверить результат слияния перед его реальным осуществлением.
• Маркировка
Одно из главных достоинств системы управления исходным кодом — возможность маркировки набора файлов, включённых в выпуск. Не забывайте проделывать этот важный этап работы для каждого выпуска, в том числе на основных уровнях, по завершении этапов работы, при выпуске бета-версий и т.д.
Метки должны устанавливаться не только для файлов с исходным кодом. Помечайте файлы-сборки, установочные файлы, файлы документации, файлы контроля качества — словом, все файлы, включённые в выпуск. Метка должна быть информативной и следовать соглашениям об именах, принятым для проекта.
Из собственного опыта
Однажды у нас работала команда, которая оценивала свою систему поиска ошибок во время разработки. Спустя некоторое время они пришли к выводу, что им следует переключиться на использование нового продукта, так как в нём были реализованы новые возможности. Они запустили конвертор и загрузили ПО. К сожалению, через две недели работы с продуктом они обнаружили, что там нет поддержки некоторых отчётов, а производительность программы ужасна. Им нужно было вернуться к предыдущей системе, но так как в новой версии не было предусмотрено процедуры автоматического обратного перехода, им пришлось вручную водить все записи об ошибках и неполадках, внесённые с момента перехода.
Проблемы поиска ошибок и неисправностей
• Целостность данных
Обеспечение целостности данных в системе должно быть приоритетной задачей. Если вы не будете доверять информации в системе, то не станете её использовать, и она потеряет свою значимость. Очень важно определить правила обеспечения целостности данных, в большинстве основанных на внутреннем процессе разработки. Так, вы никогда не должны сталкиваться с ошибками, которые реально «закрыты», но для них установлен статус «исследуется». Чтобы отображать работу над ошибками, нужно со временем изменять статус ошибок. Также убедитесь, что вы вводите правильные значения в поля (информацию об этапе, информацию о выпуске и т.д.). Какими бы ни были у вас внутренние методы проверки целостности, не допускайте хранения недостоверных или устаревших данных, иначе команда разработчиков будет присваивать данным любые значения, а вся система перестанет внушать доверие и станет бесполезной.
Лучший способ избежать проблем с целостностью данных — это убедиться в том, что команда осознает важность этих данных и может обнаруживать и решать проблемы самостоятельно. Собственная мотивация заработает хорошо, если вы продемонстрируете реальную значимость этих данных для команды. Не забудьте также периодически пересматривать данные и обсуждать результаты с командой.
Я показал некоторые способы моделирования ключевых элементов цикла разработки с применением средств устранения проблем и неисправностей. Однако не стоит увлекаться и использовать всё, что только может подойти для вашей команды. Вместо этого определите ключевые потребности для процесса разработки и выберите простые средства для их реализации.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава ХV. Решение европейской проблемы
Глава ХV. Решение европейской проблемы На открытии Франкфуртской международной ярмарки 2 сентября 1956 года я выступил, уже не в первый раз, со следующим заявлением:«Мы нуждаемся в интеграции Европы более, чем когда-либо; она стала просто необходимой. Но лучшая интеграция
Кейнсианское решение для кейнсианской проблемы
Кейнсианское решение для кейнсианской проблемы Сегодня, как и в то время, когда было подготовлено к печати первое издание этой книги, реальными проблемами остаются безработица и отсутствие совокупного спроса, то есть имеют место именно те проблемы, с которыми Джон
Решение проблемы. Масштабное мышление
Решение проблемы. Масштабное мышление Способ «залепления проблемы пластырем» может быть симптомом узкого мышления. Масштабное мышление поможет команде ответить на серьезные вопросы, такие как: «Почему не получилось?», «Что стало главным источником
Решение проблемы
Решение проблемы Продажа под лозунгом «мы знакомы с вашей проблемой и знаем, как ее решить» – это логическое продолжение подхода «удовлетворение потребности». Однако используя подход «решение проблемы», продавец выступает в роль специалиста, помогая потенциальному
Типичные конфликты и проблемы
Типичные конфликты и проблемы Продажа vs ведениеСуществует вечная проблема: коучинг нужно как хорошо продавать, так и хорошо вести. С одной стороны, мы понимаем, что деньги нам платят за хорошую продажу, а с другой стороны – потом, к сожалению, приходится коучинг и
Одностороннее решение проблемы
Одностороннее решение проблемы Не надо пытаться решать проблему в одиночку. Процесс решения наиболее эффективен и увлекателен при совместном поиске решения в сотрудничестве с другими. Привлечение других людей к решению проблемы расширяет спектр возможных решений.
Решение для каждой проблемы
Решение для каждой проблемы Каждая сфера деятельности или отрасль промышленности имеют свои проблемы. Каждая компания в данной отрасли имеет свои проблемы. И отдельные люди в каждой компании имеют свои, только им свойственные проблемы.Внешнее, или объективное (на
Типичные проблемы и их решение
Типичные проблемы и их решение Далее мы обсудим ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Собеседование: проблемы и решения• Слабые методики и подходыЭто очень распространённая проблема. Большинство
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.• Слишком расплывчатый или, наоборот, чересчур жёстко определённый круг обязанностейДаже самым талантливым
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Проблемы с ранжированием• Не держите ранжирование в секретеНе скрывайте факт, что в компании ведётся
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Проблемы с инструментами• Отбор нужных инструментовОдна из главных ошибок которую допускают команды
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Нехватка ресурсовНехватка ресурсов (здесь я имею в виду ресурсы человеческие), вероятно, является наиболее
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Отсутствие технологов по разработке ПОНе забудьте учесть в планах и графике вашего проекта мероприятия по
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.Не торопитесьКак уже не раз было сказано, разработчики часто пытаются работать с новыми технологиями,
Типичные проблемы и их решение
Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик а также их решения.Ничего не получается!Создание хорошего плана требует серьёзных усилий, поэтому легко понять, почему некоторые