10.10.2011
Инструменты управления программными проектами существуют десятилетия. Но массовая разработка программ началась сравнительно недавно, когда персональные компьютеры стали доступными и проникли практически в каждый дом. Не смотря на спрос, многие программные продукты потерпели неудачу. Одна из причин – недостатки организации в управлении проектом. О специфике программных продуктов и адаптивном управлении ими можно прочитать здесь.
Отличия программных проектов от остальных
Являясь частью технических проектов, программные проекты имеют определённые отличия. Это порождает целый ряд проблем. Не смотря на достаточно большой опыт, программные продукты остаются одними из сложнейших.
Создание программного обеспечения это творческий процесс. Отмечено, что программисты как учёные или деятели искусства, работают с абстракциями. Только проблема в том, что творчество программиста находится в жёстких рамках ограничений, как по результату, так и по ресурсам. Тем не менее, творчество является основой. К тому же творчество неразрывно связанно с капризной и непредсказуемой субстанцией – вдохновение. Поэтому управление программными проектами требует от руководителя хорошего владения психологией личности. Здесь нельзя применять методы, которые присущи другим техническим проектам.
Отсутствие закономерностей, собственно, и порождает хаос. В процессе создания новых программных продуктов совершенно нет чётких правил, последовательности и алгоритмов. То, что существует, это лишь отрывочные, несистематизированные знания и опыт. Часто программные продукты держатся на личностях, отдельных персонах. Большинство стандартов в управлении проектами, типа PMI PMBOK просто не работают в программных проектах.
Огромное количество информации, которая быстро изменяется. Без неё программисту не решить свои задачи. Появляются новые устройства, протоколы, архитектурные решения в сетях, операционные системы, а также их баги. Обо всём этом программист должен знать.
Программирование нельзя освоить по книгам. Только опыт, собственные удачные и неудачные разработки превращают человека в программиста. Но речь не об опыте решения задач, а об опыте мышления. Опыт решения задач, увы, в большинстве случаев не подходит для решения новых задач.
Часто непонимание отличий программных проектов ведёт к провалам этих продуктов.
|