Ух-ты, какая древняя тема так сказать восстала из мёртвых.
1)Первое
+
+
+
++
Кстати, пункт (4) 3 месяца назад разрабатывался мной, пока смерть HDD не остановила процесс. Могу показать, что получилось.
2)Второе
Если всё серьёзно нужно точно разработать механизм, по которому мы будем работать. Т.е. при поступлении заказа, кто-то один берётся его делать или все (а точнее каждый) берётся за разработку отдельной части программы. Если второе, то нужно точно определить, как будут распределяться обязанности, а также ввести какие-нибудь стандарты. Т.е. нужно решить как должны "выглядить" модули, которые каждый будет присылать: будет ли это скомпилированные dll или связка форм, модулей, UC-ов, короче исходники. Ну и ещё какие-нибудь стандарты. Например, при программировании игр принят специальный стиль именования: раздел, к которому относится функция, символ "_" и собственно название. Например: AI_SetTarget, AI_ResetKnownPaths, G_LoadGame, VID_SetResolution, VID_Restart, PHYS_Gravity, PHYS_SetRBProperty и тд. Из личного опыта скажу что это очень облегчает жизнь уже через 10 дней разработки т.к. число функций доходить до двух-трёх сотен и запомнит имя такой функции (AI_SelfPreservationLGeomMemoryFindEnoughCoveringArea) очень сложно, особенно когда около двадцати начинается на SelfPreservationLGeomMemory).
3) Третье
Что касается свободног времени. Не могу сказать, что полно свободного времени, но я привык к режиму, когда приходилось вести до 5 проектов одновременно. Ну а сейчас например проекта 2. Поэтому +/- 1 - это нестрашно.
4) Четвёртое
Нужно устроить вступительные экзамены.
5) Пятое
Мне ещё нравится такой вариант: Сначала наш коллектив обсуждает идею программы, т.е. придумываем оригинальную идею, чтобы программа была
действительно нужной и имела минимум аналогов (а лучше вообще не имела) аналогов. Потом, когда все согласятся на какой-нибудь идее, нужно решить, какие трудности могут возникнуть, сколько времени нужно для разработки и самое главное распределить задачи по членам общества. Т.е. (к примеру, пишем плеер) кто-нибудь говорит "Я займусь поддержкой кучи аудио-форматов" и так не начинаем разработку пока на каждую часть (задачу) не найдётся желающего её выполнить.
Так вот, предлагаю делать программы лимитными по времени, например на месяц. Нужно придерживаться такого принципа: не так должна быть знаменита программа, как название фирмы-разработчика. Т.е. в идеальном варианте у каждого пользователя должно быть как минимум 2 наших программы и самое главное что именно "наших". (Ой, как я тупо и непонятно объясняю). Короче пользователь должен знать, что "Да, есть такая фирма "<Firm.Name>", которая действительно пишет реальный и полезный софт." Т.е. не столько должно запомниться название программы или сама программа, сколько название нашего коллектива. Пользователь сначала поставит себе первую нашу программу, увидит SplashScreen (который должен быть очень запоминающийся). Попользуется, забудет. А потом поставит себе др. нашу программу и "хопс" опять эта фирма. Короче говоря пользователь должен уяснить что "есть такая фирма, которая делает полезный для меня софт". Потом из любопытства пользователь захочет зайти на наш сайт, поискать ещё "полезный для него" программы. И нужно обязательно на сплэше писать что-то типа
Заходите на "www.#######.ru
И найдёте множество нужных вам программ.
или что-то в таком, побуждающем зайти, духе. А уж когда он зайдёт на сайт пусть первым делом увидит "Заполни анкету и тебе изготовят программу на заказ." И пусть он даже ничего заказывать не будет, и не надо, главное чтобы в памяти осталось что "есть такая фирма ..." и "а ещё эта фирма делает программы на заказ" причём, заказать можно по интернету.
Ну вобщем тут дело в рекламе получается. И это самое главное - создать себе репутацию не фирмы типа HS&HF а фирмы, которая выпустила много известного и хорошо используемого в народе софта.
6) И так и не монятно как и куда вступать и кто главный? (а ещё кто виноват и что делать?
)