Тенденции в софтуерното инженерство – Да използваме нещо готово или да си го напишем сами?

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

За да можете да вземете такова решение е добре да спазвате следните правила:

1.Разучете Base Class Library на средата за разработка, която използвате.

2.Следвайте правилото да Не пишете код, който веднъж е писан(независимо от кого).

3.Фокусирайте се върху бизнес проблемите, а не върху самото програмиране. Рядко се налага да създавате код за нови типове структури от данни или за сортиране, визуализация на форми и т.н. Важно е да се съсредоточите върху конструиране на сложни бизнес алгоритми и по-удобен и ползваем потребителски интерфейс.

Основните 4 опции, чрез които можем да избегнем писането на собствени компоненти са следните:

1. Използване на Base Class Library. Това включва добро познаване на средата за разработка.

2. Използване на операционната система: услуги(Services), библиотеки.

3. Open Source компоменти и библиотеки. Тук е добре да се направи детайлно проучване: възможности, поддръжка, community, качество на кода.

4. Third-Party компоненти. При този вариант е задължително е първо да получите демо версия на компонента и да я тествате спрямо вашия реален сценарий. Така ще видите дали наистина върши това което трябва да върши.

Като заключение: Писането на код е забавно и това е нещото, което можем да правим, но не ни се плаща за това. За да има стойност нашата работа много често се налага да закупим кода на някой друг. Да намерим този баланс е доста трудно. Но просто трябва да помислим, кои са критичните бизнес проблеми, които трябва да изпрограмираме и да купим всичко останало (ако може разбира се).

2 thoughts on “Тенденции в софтуерното инженерство – Да използваме нещо готово или да си го напишем сами?”

  1. Съгласен съм, че да се пише собствен код за елементарни функции и компоненти не е особено смислено. Един визуален контрол, например, струва примерно $300 – една сума, която ще надхвърлиш многократно, ако решиш да разработиш подобно нещо за себе си.

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

    Това са все въпроси, които трябва да се разгледат преди да се вземе решението. Ако не ги обмислим внимателно, можем да се окажем във сериозен финансов проблем.

  2. Mike, благодаря за уместния коментар. Наистина това са още неща, които трябва да се обмислят. Аз реших да се абстрахирам за момента от outsource-ването защото все пак говорех от името на software engineer.
    Но от project management гледна точка това е 100 процента валидно.

Leave a Reply

Your email address will not be published. Required fields are marked *