Не спрашивайте аналитика, как правильно разрабатывать ПО
Расспросите сначала, как можно разобраться в устройстве работающей системы. Пост для бизнес и системных аналитиков, про один из критериев собеседования нового сотрудника.
Вы не убедите меня, что навыки разработки ПО (продукт/система/сервис) являются первостепенными и ключевыми. У вас стартап, разработка которого начнется через две недели? У вас идеальная архитектура, чистый код и полное покрытие документацией? Если нет, тогда первая задача для любого нового сотрудника начнется с вопросов: Какую архитектуру вы используете в вашем ПО? Какие у вас хранилище и потоки данных? И т.д.
Другими словами, самый первый навык, который потребуется - это разобраться в устройстве уже существующего ПО. Этот навык будет использоваться регулярно в первое время, в этот период каждая новая задача будет требовать приложения дополнительных усилий. Насколько это первое время растянется? Если у вас «молодой» StartUp, тогда пары месяцев хватит, чтобы детально во всем разобраться. Если «кровавый» Enterprise, тогда и двух лет будет мало, чтобы хорошо узнать систему.
Сотрудник будет обязан сначала хорошо разобраться в имеющейся реализации, чтобы подготовить артефакты аналитики для внесений изменений. Если этот этап будет выполнен некачественно, тогда в лучшем случае будет выявлено множество «нестыковок» на этапе разработки и тестирования. В худшем случае возникнут исключительные (аварийные) ситуации на этапе внедрения в промышленную эксплуатацию.
Разобравшись в текущих процессе и реализации, можно приступить к рассмотрений разных вариантов изменений, проектированию и согласованию с коллегами своей команды, заказчиком, архитектором и другими заинтересованными лицами.
Этот навык настолько же важен, насколько важно знать разные виды архитектур, интеграций, баз данных, и пр. Привносимые изменения должны стыковаться с уже имеющейся/работающей реализацией. Сотрудник должен применять свои навыки разработки ПО согласованно с ранее разработанным кодом ПО. В противном случае для Бизнеса появятся дополнительные сложности и трудоемкости, или задача станет полностью нерентабельной.