Оглавление:
Ваша организация по разработке программного обеспечения работает так, как должна? Всегда есть возможности для улучшения, но некоторые организации нуждаются в помощи больше, чем другие. Где бы вы ни находились в континууме, важно определить, куда вам нужно двигаться и как туда добраться, потому что организациям необходимо четкое видение, которое поможет всем двигаться в одном направлении. Мы должны оценивать наши процессы, технологии, линейку продуктов, документацию, культуру и самих людей. Но против чего мы их оцениваем? Как мы измеряем наш прогресс? Я считаю, что есть три основных критерия для оценки команды или организации, и если мы будем держать эти вещи в фокусе, производительность резко возрастет.
- Качественный
- Эффективность
- Остаток средств
Давайте внимательно рассмотрим каждую из них.
Качественный
как улучшить бизнес
Pixabay
Качество имеет решающее значение для каждой организации. Это слово относится ко всему, что мы делаем, а не только к тому, сколько известных дефектов у нас есть в нашем программном обеспечении. Представьте, что вы можете сделать с 40 качественными часами - возможно, вам не придется брать взаймы ночами и выходными, чтобы наверстать упущенное. Если вы пишете автоматизированный тест, сделайте его хорошим, приносящим пользу, иначе зачем беспокоиться?
Сотрудничество является ключом к качественному результату, потому что наши коллеги будут видеть то, чего не видим мы. Если что-то нужно сделать хорошо, особенно если это касается клиентов, разумно позволить дополнительным глазам взглянуть на это. Когда писатели хотят знать, качественны ли их статьи, они просят критики, потому что понимают, что сила в числах. Будь то ревью кода, парное программирование или просто «Эй, ты можешь взглянуть на это?», Использование дополнительных пар глаз вокруг нас поможет держать нас на рельсах.
Когда я пытаюсь улучшить качество программного обеспечения, я считаю, что самое важное - это автоматическое тестирование. Создавать ручные тестовые примеры дешевле, чем автоматические. Однако ручные тесты намного дороже выполнять, особенно если вам нужно выполнить множество проходов для тестирования всего в разных браузерах, операционных системах и типах устройств. Разработчики должны проводить серьезное тестирование с помощью Karma, Spock или JUnit, но также должно быть функциональное тестирование с помощью чего-то вроде Selenium, SOASTA или Cucumber. Что вам действительно нужно, так это раннее обнаружение дефектов, потому что чем дальше вы продвинетесь, когда разработчик написал код, тем больше работы потребуется для решения проблемы. Намного легче устранить дефект в коде, который я написал вчера, чем код, который я написал 3–6 недель назад.
Эффективность
улучшение бизнес-процессов
Pixabay
Сосредоточение внимания на эффективности помогает оптимизировать вашу организацию и минимизировать количество усилий, необходимых для выполнения каждой задачи. Повторяющиеся процессы, ставшие второй натурой, требуют гораздо меньше усилий. Автоматизация также играет важную роль в эффективности, потому что вы хотите, чтобы сотрудники сосредоточились на выполнении задач, которые не повторяются и требуют умственных способностей (написание, кодирование, проектирование, планирование и т. Д.). Когда код будет готов, автоматизация должна взять на себя ответственность, чтобы код создавался, тестировался и развертывался автоматически. Один и тот же процесс автоматического развертывания должен обрабатывать каждую последующую среду, включая производственную. Простота развертывания позволяет более частые поставки в производство, поэтому вы можете гораздо лучше реагировать на потребности бизнеса.
Для каждого в организации важно оценить, какие действия они делают вручную. Можно ли это упростить или автоматизировать? Если вы делаете это много, вероятно, это хороший кандидат для автоматизации. В некоторых случаях нам просто нужно переопределить наши процессы, чтобы исключить ненужные шаги. В других случаях нам нужно найти лучшие инструменты, которые автоматизируют или ускоряют то, что мы делаем каждый день.
Также следует оценить инструменты управления заявками, такие как Quality Center или Jira. Какие показатели вы отслеживаете? Какие отчеты вы составляете? Вы проводите много времени в Excel каждую неделю, собирая числа, которые необходимо отправить руководству? Для гибких команд, как вы рассчитываете скорость своей команды? Ваш инструмент справится с этим за вас? Ищите инструменты, которые экономят ваши усилия (например, первая версия), а не просто делают то, что вы знаете.
Остаток средств
программный процесс
Pixabay
Баланс - важная часть повышения эффективности вашей организации. Вы можете думать о своей организации как о паруснике. Если лодка находится в неуравновешенном состоянии, будет сопротивление, из-за которого она будет медленнее двигаться по воде. Кроме того, руль может работать неправильно, что значительно затрудняет поворот лодки. Когда люди делают ошибки, они часто компенсируют это тем, что бросаются на «противоположную сторону лодки». Когда компании, занимающиеся разработкой программного обеспечения, терпят боль и страдания из-за того, что их продукт вышел из продажи без достаточного тестирования или планирования, они часто стремительно бегут к тяжелым процессам, воротам утверждения и аналитическому параличу. Они бегут от одной проблемы в ожидающие руки другой.
«Сколько документации должно потребоваться?» Напишите только то, что нужно людям, чтобы понять, что нужно сделать. Если документация пишется для того, чтобы удовлетворить требованиям, предъявляемым к утверждению, или установить флажок, нам, вероятно, следует сделать паузу и подумать, необходимо ли это. «Сколько требуется процесса?» Достаточно. «Сколько времени следует потратить на архитектуру и дизайн?» Достаточно. Хотя доработка, безусловно, неэффективна, иногда лучше отложить реальное решение и внедрить быстрое исправление, чтобы реагировать на насущные потребности ваших клиентов. Жизнь - это балансирующее действие. Это относится ко всему, что мы делаем как компания. Златовласка отчаянно искала баланс. Может, и нам стоит тоже.
Улучшение в развитии
Все мы хотим, чтобы наша жизнь была лучше. Нам нужны более простые поставки, более плавные переходы, более счастливые команды и довольные клиенты с минимальной болью и страданиями. Когда мы начинаем смотреть на нашу организацию через эти три линзы, это помогает нам оценивать изменения и определять их приоритеты. Он фокусирует наше внимание на тех изменениях, которые действительно принесут пользу организации и помогут ей работать более плавно. Вы станете стройнее и злее, поэтому со временем вы увидите, как продуктивность возрастает, а уровень стресса и разочарования уменьшается.
Качество, эффективность и баланс в конечном итоге приводят к тому, к чему стремится каждая организация: к скорости. Нам нужна скорость вывода на рынок, быстрое реагирование на запросы наших клиентов и возможность выкладываться по центру, но на самом деле добиться этого не интуитивно. «Давайте просто наймем больше людей, чтобы мы могли действовать очень быстро!» Добавление большого количества людей, безусловно, поможет вам продвигаться очень быстро, но, к сожалению, иногда они помогут вам очень быстро спуститься в канаву. Один мудрый коллега однажды сказал мне, что нужно сбавлять скорость, чтобы идти быстрее, и это абсолютно верно. Скорость требует предварительных размышлений и усилий, особенно в области автоматизации. Если вы потратите время на обеспечение качества, эффективности и баланса, вы сделаете это быстро и естественно. Рычи как лев, беги как газель.
© 2017 Майк Шумейк