• Как решить проблему критичного бага перед релизом?

    @kn0ckn0ck
    Продюсер
    Выспаться, чтобы прийти на работу вовремя и не допустить выпуска сломанной версии продукта. На ретро договориться о шагах, чтобы такого не повторилось, а также четко поставить вопрос о недопустимости тестирования на выходных - все нужно успеть сделать до окончания рабочего дня в пятницу! На выходных нужно отдыхать.
    Ответ написан
  • Как начать работу с микроконтроллерами с минимальными затратами?

    @kn0ckn0ck
    Продюсер
    Не, не, не, все гораздо проще и почти как в веб-разработке, если начинать с Arduino
    1) в комплекте идут соединительные провода + макетка
    2) программирование через бесплатную среду разработки + USB-кабель
    3) ebay, там контроллер с проводами и датчикам обойдется рублей в 400, сразу берите Kit, будет идти 3-4 недели.
    4) там же и корпусов полно для Arduino (акрил, пластик, металл)

    Разработка ведется на C-подобном языке, есть куча примеров и готовых библиотек для работы с типовыми таймерами, датчиками, матрицами, индикаторами и прочим.

    Далее все как обычно: придумываем идею, пишем прогу, собираем устройство (без паяльника!), подключаем к Arduino PC через USB, заливаем программу в Arduino, запускаем и отлаживаем через встроенную консоль (через тот же USB), все.
    Ответ написан
  • Аналог сервиса по отслеживанию ошибок raygun?

    @kn0ckn0ck
    Продюсер
    Про бесплатные не слышал, потому что хранение больших объемов логов/ошибок бесплатно не обходится. Но из недорогих есть: Sentry и DevOpsBoard
    Ответ написан
  • Какие моменты отдела разработки, должны быть задокументированы?

    @kn0ckn0ck
    Продюсер
    Отделу разработки грех не стремиться к самодокументируемости. У вас так быстро растет отдел, что нет времени объяснить новчику в теч. пары часов как все устроено? Или у вас процесс разработки/деплоя вылит из гранита, что за устаревание/обновление докуметации вы не паритесь?

    1. Jenkins Pipeline (или Gitlab) - пример самодокументируемого деплоя
    2. аналогично п. 1
    3. Есть уже куча готовых, просто дать ссылку
    4. Показать и объяснить устно, чтобы снять сразу возможные вопросы/критику/непонятки
    5. Единственное что имеет смысл задокументировать (что редко меняется) - архитектурные особенности. Внутри каждого скрипта должны быть либо комментарии, либо код должен быть самодокументируем. Если нужно описать "клей", то почему бы не использовать Ansible/Chef для этих целей?
    6. "Никогда не нажимай эту красную кнопку..." - ну вы знаете, что затем последовало.
    Ответ написан
  • Как вам redmine?

    @kn0ckn0ck
    Продюсер
    Продукт не развивается, есть более качественные бесплатные аналоги.
    Ответ написан
  • Можно ли написать программу, не имея никакой документации и техзадания?

    @kn0ckn0ck
    Продюсер
    Спрашиваешь... так делают процентов 90. Другое дело - правильно ли они поступают при этом? Часто документацию путают с проектированием. Это разные вещи и у них разные цели.

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

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

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

    1. Зависит от сложности/объема задачи. Если все помещается в голове, то для чего тогда документация? Любая, UML или текст, не важно. Если что-то нужно продумать, то можно записать на доске/бумаге, сфоткать, потом выбросить.

    2. Без требований мы не знаем что должно было получиться. Для начальной стадии продукта это вполне приемлемо. Основной риск - в регрессе функциональности. Смотрим код и не понимаем для чего он тут нужен и как оно должно работать, меняем как-то и в итоге ломаем ранее реализованную функциональность. Такие риски необязательно решаются документированием требований в форме ТЗ, можно обходиться и автоматизированным тестированием.

    3. Уважительной причиной чего-то не делать будет четкое понимание того, как связанные с этим риски минимизируются. Долой догмы. Если в среднесрочной перспективе мы четко осознаем, что фиксация/документирование требований не принесет пользы, то зачем тратить на это время/ресурсы?
    Ответ написан
  • Как внедрить готовый стартап в учебные учреждения?

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

    Образовательные учреждения - это не бирюзовые организации, прикольные фишки внедрять они сами никогда не станут, пока не будет регламента или приказа на это сверху. А вот инициатором таких внедрений могут стать ИТ-подразделения (в любом крупном ВУЗе такие есть). Вам нужно говорить с аналогом CIO в корпорациях, это кто-то типа зам. проректора по ИТ ВУЗа. Ему нужно показать реальные выгоды от внедрения, тогда он возможно пойдет уговаривать сделать приказ на внедрение этого в учебный процесс.

    Сама по себе модель SaaS для большой/неповоротливой организации выглядит сомнительной. Идея SaaS - надо пользуйся, не надо - не плати. Если для внедрения продукта требуются изменения во внутренних бизнес-процессах организации (в учебном процессе, например), то ради какого-то стартапа это делать вряд ли будут. Нужно решение, которое можно поставить и обслуживать своими силами в течение лет 5 - 10. Убедитесь, что ваше решение не требует изменения существующих бизнес-процессов/регламентов/навыков персонала. Либо это другая история.

    Большинство образовательных учреждений в РФ государственные и подпадают скорее под категорию социального предпринимательства. Это не сосвем бизнес и скорее всего не для стартапа без серьезных внешних инвестиций. Убедитесь, что ваша бизнес-модель реалистична. Возможно, ВУЗы в большинстве не готовы даже бесплатно использовать ваши продукты, о каком бизнесе тут может идти речь?
    Ответ написан
  • Где искать команду стартапа в Москве?

    @kn0ckn0ck
    Продюсер
    Ничего лучше Startup Weekends пока не придумали. Они по-разному называются, но ключевые слова: москва startup weekend стартап уикенд

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

    @kn0ckn0ck
    Продюсер
    Вам обязательно нужен сооснователь, который:
    а) знает как организовать процесс разработки
    б) всю технологию разработки и используемые платформы
    в) будет этим постоянно заниматься
    Иначе ваше обучение пройдет очень болезненно.
    Ответ написан
  • Какую посоветуете систему для коллективной работы?

    @kn0ckn0ck
    Продюсер
    Управление обработкой чего-то хорошо делать на Kanban-доске. Импортировать чего-то (из Excel) в виде карточек на Kanban-доску можно в этом туле scrumboard.ru
    Ответ написан
  • Как добиться независимости в тестах (phpunit)?

    @kn0ckn0ck
    Продюсер
    Не стоит смешивать модульные тесты и интеграционные (или функциональные). Цель модульных тестов проверить работу одного модуля (класса, например). В этом случае все его зависимости мокаются. Целью интеграционных тестов является проверка взаимодействия цепочки модулей (сервисов, с БД и т.п.) друг с другом.

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

    То есть правильно было бы сформулировать вопрос таким образом: "какой процент покрытия модульными тестами будет достаточным для моего кода?" Обычно останавливаются где-то на 70-80%

    Также очевидно, что 100% работающих модульных тестов не гарантирует работу интеграционных тестов или функциональных. Поэтому необходимо писать и те и другие.

    Я бы не стал фанатично закрывать все методы классов тестами, а только те, в которых имеется высокая цикломатическая сложность, либо которые скорее всего будут меняться. Короче, нет большого смысла в тестировании примитивных/стабильных участков кода.
    Ответ написан
  • Как вы определяете, сколько времени нужно на задачу?

    @kn0ckn0ck
    Продюсер
    Все просто:
    1. первая оценка - на исследование вопроса, время лимитировано, обычно несколько часов (2, 4 или 8)
    2. вторая оценка возможна только после выполнения первой части - исследования.

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

    @kn0ckn0ck
    Продюсер
    Конкретика ответа сильно зависит от специфики продукта. Какой у вас доступ к аудитории, размер аудитории? Чем сложнее отвечать на вопросы об аудитории, тем сложнее проверять идею.

    • Лучшая проверка - живое общение с потенциальными пользователями. Нужно подготовиться задавать правильные вопросы и основное - слушать, а не втирать свою точку зрения. Аудитория должна быть такой, что они готовы были бы заплатить за этот продукт, а не просто "интересующиеся всем что происходит".
    • Заменить живое общение можно попробовать опросами/форумами/чатами, а лучше карудфаундинговыми площадками, где могут хоть как-то оценить идею.
    • Анализ конкурентов - отличный способ проверить, есть ли вообще такая проблема и потребность в ее решении. Проверку любой идеи лучше начинать с аксиомы: все уже придумано до нас. Обычно так и бывает. Нужно хорошо и долго искать, правильно формировать поисковый запрос. Дальше нужно работать с пользователями/клиентами конкурента - копать себе нишу.
    Ответ написан
  • Воспользовались бы вы услугами по поиску инвесторов для вашего проекта?

    @kn0ckn0ck
    Продюсер
    Думаю исходный вопрос риторический - любой стартап проходит столько фильтров, на сколько хватает времени и желания. Еще один фильтр - почему нет? :)

    Куда писать?
    Ответ написан
  • Для чего писать чек-лист + тест-кейсы вместо одних лишь тест-кейсов?

    @kn0ckn0ck
    Продюсер
    Конечно автору курса двойку за объяснение, он его так и не дал :) Другое дело, что скорее всего здесь имелось ввиду форма документирования проверки. Чек-лист - это простая форма проверки: тут есть, там есть, тут нормально, там тоже ничего. Тест-кейсы обычно куда более сложные, объемные и разноплановые, поскольку многие проверки не укладываются в простановку галочек.
    Ответ написан
  • Что такое Процесс и Техника в контексте Software Testing?

    @kn0ckn0ck
    Продюсер
    Из википедии:
    1. Проце́сс (лат. processus — «течение», «ход», «продвижение»):
    2. Те́хника (от др.-греч. τεχνικός, от τέχνη — искусство, мастерство, умение)

    Я бы ответил:
    1. Функциональное тестирование, ведь это длительный процесс, включающий в себя много разных техник.
    2. Разработка тест-кейсов требует мастерства, именно этим ценятся тестировщики.

    Хотя конечно и другие пункты можно притянуть за уши, на то он и тест :))
    Ответ написан