Краят на софтуерното инженерство?

Публикувано от Майк Рам на 30.07.2009 г. в 07:10 часа

Tom DeMarcoTom DeMarco, един от големите световни специалисти по управление на софтуерни проекти, автор на една от най-важните книги за управлението на хора – Peopleware – разбуни духовете наскоро с публикуването на една своя статия, в която се отрича от предишните си вярвания за смисъла и важността на софтуерното инженерство, обявявайки го за ненужно.

Какво, всъщност, представлява софтуерното инженерство?

Терминът на английски е software engineering и в компютърните среди все още няма консенсус относно неговото точно значение. Някога, в зората на компютърната индустрия, са смятали, че софтуерното производство трябва да се постави на научна основа и да се разглежда като инженерно-техническа дейност, която може лесно да се планира и контролира. Тази идея бързо се възприема от бизнеса, който все повече иска да измъкне програмирането от научните лаборатории и да го вкара в производствените цикли на печеленето на пари.

На тази идея се противопоставят привържениците на “софтуерното занаятчийство”, които твърдят, че програмирането си е майсторлък и не може да го вкараш в калъп или да му поставяш ограничения. Това е творчески процес, който изисква вдъхновение, вглъбяване и талант.

Продължи към пълния текст »

Софтуер за Code Reviews само за $5! 5-дневна оферта

Публикувано от Майк Рам на 14.07.2009 г. в 11:28 часа

Code review

Компанията SmartBear чества излизането на версия 5.0 на техния основен продукт CodeCollaborator и предлага невероятна оферта продавайки пакет от 5 лиценза за техния олекотен продукт CodeReviewer само за $5!

Офертата е валидна само за 5 дни: от 13 до 17 юли 2009 г.

Аз бях много заинтригуван от това предложение и си направих труда да прочета малко повече за продукта. Изглежда много полезен, ако практикувате редовни ревюта на кода във вашата фирма. Ако пък не го правите – вероятно вашият кода крие потенциални проблеми.

За $5 вие не получавате основния продукт CodeCollaborator, който е изключително богат на възможности, а неговия “по-малък братовчед” CodeReviewer, който е с малко по-ограничени възможности. Можете да видите разликите между двата продукта тук , но веднага става ясно, че възможностите на CodeReviewer са задоволителни за всеки екип, койтоиска да подобри практиките си на писане на програмен код, а цената е повече от атрактивна.

Не пропускайте тази възможност – струва си!


Гласувайте за тази статия в Svejo.net:

Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му чрез RSS feed или по имейл.

Добрите практики на софтуерното производство – анкета

Публикувано от Майк Рам на 09.07.2009 г. в 07:10 часа

Steve McConnellКомпанията Construx, собственост на един големите гурута на софтуерния бизнес – Steve McConnell – е разработила доста обемиста анкета за проучване на добрите и полезни практики в разработването на софтуер – като се тръгне от събирането и анализа на изискванията, мине се през писането на код и тестването и се стигне до управлението на проекти. Авторът призовава всички, които се занимават в тази област да отделят малко време и да се включат в изследването, за да може по-късно събраните данни от всички участници да ни покажат кое е наистина полезно като практика и върши работа, и кое – не.

Аз се включих в анкетата и наистина времето за попълването е между 30 и 60 минути, но вие не сте длъжни да попълвате всички категории, особено пък ако не се занимавате с всички описани дейности. Можете да дадете мнение само за онези дейности, с които активно се занимавате и с които имате най-много опит. Тогава би трябвало да се справите за 20-ина минути.

Продължи към пълния текст »

Почти перфектно

Публикувано от Майк Рам на 29.06.2009 г. в 07:10 часа

word_perfect

Almost Perfect” или “Почти перфектно” се казва книгата на W. E. Pete Peterson, бивш изпълнителен директор на WordPerfect Corporation, в която той разказва историята на създаването на един от най-успешните софтуерни продукти в света, на възхода и падението на фирмата, на ентусиазма и главозамайването на нейните създатели, както и собствената си личностна драма.

Книгата е много интересна, поне за онези, които се интересуват от софтуерния бизнес. Издадена е още в 1993 г. за първи път и е продала само 10 000 копия, след което е спряна от печат. За наше щастие, авторът я е публикувал онлайн и можете да я прочетете от тук. Освен това, се предлага и в PDF вариант, за онези, които предпочитат да я четат офлайн. (Специални благодарности на Jeff Atwood за линковете.)

Честно казано, не знам защо издаделите са свалили книгата от печат. Тя е невероятен учебник по мениджмънт и маркетинг, по креативност и по история на информационните технологии. Еволюцията, която една група младежи изживяват от голия ентусиазъм да изпрограмират нещо готино, до статута на мултимилионери и до тъжния фалит на края е изключително интересна и поучителна.

Продължи към пълния текст »

Петък – ден на майстора. Най-добрият начин да мотивираш един програмист

Публикувано от Майк Рам на 05.06.2009 г. в 07:10 часа

Всички знаем колко е трудно да накараш един програмист да свърши нещо, особено ако не му е приятно. Широко е разпространено вярването, че работата на програмиста е чисто изкуство, също като да пишеш поезия, а тази работа се върши само когато има вдъхновение.

Има, обаче, един начин да запалиш един програмист да работи, даже и когато е легнал тежко болен, даже и когато е изпаднал в кома! Стига да има една искрица живот в него, тя ще го събуди и ще го изстреля в офиса. Вижте как става това:

Запомнете тези магически думи и ги използвайте, когато видите някой програмист от вашия екип да се скатава. Те наистина вършат работа:

Един колега каза, че може да напише твоя код по-добре и той да заработи два пъти по-бързо!

Вижте тук цялата история. Благодарности на Jeff Atwood за линка.


Гласувайте за тази статия в Svejo.net:

Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му чрез RSS feed или по имейл.

Що за програмист сте?

Публикувано от Майк Рам на 03.06.2009 г. в 07:10 часа

Истински програмист

Някога, в зората на компютърната индустрия, се разпространяваха легенди за Истинския програмист, който пише само на FORTRAN, пие много бира и кафе и НИКОГА, ама НИКОГА не пише коментари. Днес нещата вече са влезли в някакви релси и програмирането отдавна не е онази тайнствена магия, пред която всички шефове благоговееха. Днес децата още преди да се научат да четат и пишат на родния си език, знаят поне един език за програмиране и умеят да тракат по клавишите на компютър още преди да са се научили да пишат ченгелчета в тетрадките си.

По същата логика и оценката на качествата на Истинския програмист днес вече е поставена на научна основа. Разработен е психологически тест, който определя какъв тип програмист сте. Авторите твърдят, че тестът е базиран на популярната психологическа класификация на Myers-Briggs и че е напълно сериозен, въпреки че някои от въпросите са много забавни.

Продължи към пълния текст »

В търсене на теория за софтуерното производство

Публикувано от Майк Рам на 01.06.2009 г. в 07:10 часа

Ivar Jacobson

Ivar Jacobson е забележителна личност в областта на софтуерното производство. Един от създателите на езика за моделиране на процеси и изисквания UML, на Rational Unified Process – една от класическите методологии за управление на софтуерни проекти, Ivar Jacobson не спира да търси най-добрия начин за правене на ефективен и полезен за потребителя софтуер. Той има и собствен блог (който аз наскоро открих благодарение на моя приятел Дани), в който споделя своите търсения и открития в областта на разработката на софтуерни продукти.

В една от последните си статии, г-н Jacobson се възмущава от твърде честото възникване на нови “революционни” подходи в разработката на софтуер и лекотата, с която някои мениджъри се хвърлят в тяхното внедряване като методология за управление на проекти, изхвърляйки и зарязвайки всичко, постигнато до момента в техните компании.

Ние в инженерната индустрия ли работим или в модната?

- възкликва той. И продължава:

Не ви ли се струва, че следването на последната мода в софтуерната индустрия е станало по-важно от производството на качествен софтуер?

В стремежа си да бъдат модерни, казва той, хората унищожават доброто заедно с лошото. Вместо да се поучат от собствения си опит и да градят на базата на своите успехи, те съвсем безотговорно зарязват всичко постигнато до момента и започват с нещо, което вярват, че е фундаментално ново. Сякаш нямат никакви солидни знания, върху които да се опрат. Затова и толкова лесно се люшкат към всяка нова тенденция без да могат да запазят онова, което са научили от опита си.

Продължи към пълния текст »

Open Agile Румъния

Публикувано от Майк Рам на 19.05.2009 г. в 09:58 часа

Open Agile е първото голямо събитие в Румъния, посветено на управлението на софтуерното производство с гъвкави (Agile) методи. То ще се проведе на 22 и 23 май 2009 г. в University Politehnica в Букурещ.

Ken SchwaberКонференцията обещава да бъде интересна, като се има предвид, че сред лекторите са Ken Schwaber (на снимката) – един от създателите на най-успешния и най-популярен Agile метод – Scrum и Jurgen Appelo – един от най-популярните блогъри в света в областта на управлението на софтуерни проекти.

Хубаво е, че събития с такова високо качество в областта на софтуерната индустрия започват да се провеждат и в нашия, балкански регион. Надявам се, че скоро и нашата професионална общност ще узрее за подобни срещи.

Продължи към пълния текст »

Предимства на комерсиалния софтуер пред open source решенията

Публикувано от Майк Рам на 07.04.2009 г. в 07:10 часа

open source vs. proprietary software

Отношенията между потребителите на комерсиален и open source (OS) софтуер са като между заклетите фенове на двата най-големи футболни отбора у нас – фанатична вярност към любимия отбор и неизкоренима омраза към врага. При производителите нещата стоят малко по-разумно – една голяма част от тях търсят успешни бизнес модели както в комерсиалните, така и в OS продуктите и мое би това в най-голяма степен важи за малките производители, които на запад вече си имат собствен термин – micro ISV (mISV).

Един такъв производител е Patrick McKenzie, разработващ софтуер за печатане на карти за Bingo в помощ на учителите и автор на блога MicroISV on a Shoestring. Той е публикувал една интересна статия, в която изтъква предимствата на комерсиалния подход пред open source решенията, прилагайки аргументи, върху които си струва да се замисли човек.

За да парира всякакви недоброжелателни критики, Патрик категорично декларира почитанията си към OS идеологията, както и факта, че сам той е активен потребител и разработчик на open source продукти. Но, когато е търсил решение какъв подход да избере за своя продукт, Bingo Card Creator, той е търсел аргументи, които да противопостави на онези малки проекти, които “вършат полезни неща за хората, и за които никога не сте чували”. Не забравяйте, казва той,

Не всички open source продукти са Firefox и също така не всички комерсиални продукти са Microsoft Office.

Повечето аргументи на Патрик се базират на отношението към потребителя и в много от тях съм склонен да приема неговата позиция. По-надолу ви предлагам няколко примера.

Продължи към пълния текст »

10 умения, нужни на програмистите в следващите 5 години

Публикувано от Майк Рам на 02.04.2009 г. в 10:26 часа

programming code

Софтуерната индустрия е изключително непредсказуема. Някои технологии се променят толкова бързо, че докато решиш да я ползваш, да я усвоиш и вкараш в употреба, и тя вече е остаряла. Друг път “експерти” предвиждат бързата смърт на някой “остарял” механизъм, а се оказва, че той има още дълъг живот в служба на човечеството.

Затова предвижданията за бъдещето в софтуерния бизнес са ми много забавни. От една страна наистина дават някакви идеи и насоки в краткосрочен план, а от друга – позволяват ни да си развихрим въображението и да си пофантазираме за по-далечното бъдеще.

Една такава статия представя 10-те най-важни умения, които ще бъдат нужни на софтуерните разработчици в следващите 5 години. Според автора, това са:

  1. Една платформа от “голямата тройка” (.NET, Java, PHP)
  2. Богати интернет приложения
  3. Уеб програмиране
  4. Уеб услуги
  5. Умения за общуване (soft skills)
  6. Един динамичен или един функционален език за програмиране
  7. Гъвкави методологии
  8. Познания за предметната област
  9. Професионална “хигиена”
  10. Програмиране за мобилни устройства

Продължи към пълния текст »

По-стари публикации →