началоstartначало ~ софтуерът-и-азsoftware-and-iсофтуер-и-я ~ биография/cvcv/resumeбиография/cv ~ библиотекаlibraryбиблиотека ~ снимкиphotosфотографии ~ детскиkids'детские ~     български/.bg     русский/.ru     english

Разработка на софтуер - от хора, за хора. Пъргаво. Development of software - by people, for people. Agile. Разработка софтуера - от людей, для людей. Проворно.

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

Съответно, правенето на софтуер е верижна съвместна игра, и всички участници са всъщност преводачи - а Доверието е най-важното свойство.

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

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

To me, software is a (limited and twisted) way of communication, transfer of knowledge - between people, through time.

So, making of software is a chain game of cooperation, where all the participants are actually translators - and Trust is the most important feature.

Software is written by people and for people. Ignoring this simple fact leads to all possible bad consequences. People should feel good when making the software, And respectively on the other side - when using the software. In some sense these two sides play a common game... Otherwise it doesn't happen.

All them technical details - architectures, engines, languages, organisational processes et al - are secondary elements in the writing of software. Do not allow them to prevail.

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

Соответственно, создание софтуера - это цепная совместная игра, где все участники всущности переводчики - а Доверие и есть самый важный елемент.

Софтуер делается людьми и для людей. Игнорирование этого простого факта ведет к всем возможным плохим последствиям. Людьям должно быть приятно делать софтуер, И соответственно по ту сторону - пользовать его. В каком-то смисле обе стороны играют в одну общую игру... Иначе не получается.

Всякие там технические подробности - архитектуры, машины, языки, организационние процесси и т.п. - являются вторичными елементами в писанием софтуера. Не разрешайте им переобладать.

Аз програмирам, ръководя, обучавам, измислям... вече 30+ години, на 3 континента, осъществявайки проекти от всякакъв размер и невъзможност. Виждал съм много клавиатури, езици, архитектури, проекти, клиенти, организации и култури, и съм срещал още по-различни отношения. Соло и в отбор, местна и аутсорсинг и глобална разработка, CMMi и Пъргаво, корпоративно и за кеф, сглобявайки или разгадавайки, технически и човешки, действително и виртуално... Донасяйки нови идеи и възможности на всички нива - модели, езици, начини, продукти, култура, ниши...

И разбрах, че по-интересната и трудна страна на софтуера са хората, докато техническата част - колкото и да е сложна - е решима някакси. Че колкото и да напреднем технически, хората ще останат - на входа (обучавайки) и на изхода (ползвайки) - хората са тези които причиняват каквото и да е.

И въпреки че влагаме в софтуер все повече знание за знанието, още сме на твърде примитивно ниво. Може би защото подхождаме само откъм техническата страна, всъщност преоткривайки едно и също нещо по различни начини, без да сме осъзнали _какво_ е то всъщност. Като еволюцията... (виж Станислав Лем, Сума технологии)

I've been programming, leading, teaching, inventing... for 30+ years, on 3 continents, making projects of all sizes and levels of impossibility. Seen many keyboards, languages, designs, projects, customers, organisations and cultures, and have met even more different attitudes. Solo and team, local or outsourcing or global development, CMMi or Agile, corporate or for fun, building or reversing, technical or human, real or virtual... Bringing new ideas and possibilities on all levels - models, languages, ways, culture, products, niches...

And I found that the more interesting and difficult side in software are the people, while all the technicals - no matter how complex - are solvable somehow. That regardless of how far we progress technically, the people will remain - on the input (teaching) and the output (using) - it's people that cause anything.

Although we put more and more knowledge about knowledge into software, we're still on a very primitive level. Maybe because we approach only by the technical side, actually reinventing same thing in different ways, without realizing _what_ it actually is. Not unlike the evolution... (see Stanislaw Lem, Summa Technologiae)

Я программирую, руковожу, обучаю, изобретаю... уже 30+ лет, на 3 континентах, осуществляя проекты всяких размеров и невозможности. Видел многих клавиатур, языков, архитектур, проектов, заказчиков, организаций и культур, и встретил еще более разных отношений. Соло и командой, местная и аутсорсинг и глобальная разработка, CMMi и Проворно, корпоративно и для удовольствия, технически и по-человечески, действительно и виртуально... Принеся новые идеи и возможности на всех уровнях - моделли, языки, способы, продукты, культура, ниши...

И понял, что более интересная и трудная сторона софтуера - это люди, а техническая часть - всякой там сложности - можно как-то решить. Что независимо от того сколько вперед мы ушли технически, люди останутся - у входа (обучая) и у выхода (употребляя) - это они, кто причиняет чего-либо.

И что хотя мы кладем в софтуер все больше знания о знании, мы еще на гораздо примитивнем уровне. Можеть быть потому что подходим только с технической стороны, всущности переоткрывая одно и тоже по разному, не осознав _что_ оно есть на самом деле. Как еволюция... (см. Станислав Лем, Сумма технологий)


А животът е промяна.

And life is change.

А жизнь есть перемена.

Та, аз правя (софтуерни) проекти от идеи, хора и софтуер. Били те възможни или не, и без значение какво трябва да се промени - софтуерът, организацията, хората или аз.

So, i make (software) projects from ideas, people and software. Be it possible or not, and regardless what has to change - software, organisation, people, or me.

Ну, я делаю (софтуерные) проекты из идей, людей и софта. Были-бы они Возможными или нет, и независимо чего нужно изменять - софтуер, организация, люди или меня.




#OpenToWork

Търся следващото предизвикателство в работата..
Може би Ментор на отбор.. но мога и другите неща в правенето на софтуер -
Данни-и-Код, Архитектура, Култура, Организация, Промяна - правя ги вече 35+ години..
CV/ Биография.
Благодаря

I am looking for next challenge in work..
May be Mentoring a team.. but can also do all other stuff in making software -
data+Code, Architecture, Culture, Organisation, Change - been doing it for 35+ years..
CV/ Resume.
Thanks

Ищу себе следующую роль в работе..
Можеть бить как Ментор команды.. но кроме того могу и других вещей в создании софтуера -
Данные+Код, Архитектура, Культура, Организация, Перемена - делаю их уже 35+ лет..
CV/ Биография.
Спасибо

лаптопи по стълбите | laptops on the stairs
отборът... | 2005, STC, Сингапур the team... | 2005, STC, Singapore команда... | 2005, STC, Сингапур



Идеи ..

Ideas ..

Идеи..

  • Maybe one day: SOFTWARE SCHOOL Може би някой ден: УЧИЛИЩЕ ПО СОФТУЕР

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

    Ударението ще е на правенето на *добри* неща *бързо*: Добри като (статично) качество И като (динамично) лесно-променяеми (също част от бързо-то) ; Бързо като оборот и време за реакция. А това става чрез уместна употреба И изобретяване на езици, езици, езици.. навсякъде.

    Яйце и кокошка: търся проекти за правене - И хора да се учат..

    Imagine a software house-school where people learn by doing real stuff and do real stuff learning. All software making is actualy learning - just noone wants to admit it - "i do know that i dont know anything" isn't said easy. (see Phillip Armour's book/quotes in the recommended readings).

    The accent will be on doing *good* stuff *fast*: good as (static) quality And (dynamic) easy-changeable (which is also part of the Fast) ; fast as turnaround and time-to-reaction. And this happens by proper usage And inventing of languages, languages, languages.. everywhere.

    Egg and chicken: looking for projects to do - And people to learn..

  • Garden of personal notions Градина на личните понятия Огород личных понятий
    This should be a System that helps you do "routine" activities like remembering, learning and expressing yourself, about your known things. And translating to and from everything else.
    Това трябва да е Система която ти помага да правиш "рутинни" дейности като запомняне, научаване и себеизразяване, относно познатите ти неща. И преводачи към и от всичко друго.
    Это должно быть Система помагающая тебе делать "рутинних" действий как запоминать, научать и себевыражать, относно знакомых тебе вещей. И переводчики на и от всего другого.
  • my software - dbcook, facer, version-control, hyphenation, Python in bulgarian, and what not мой софтуер - dbcook, facer, контрол-на-версии, сричкопренасяне, Питон на български, и какво ли не мой софт - dbcook, facer, контроль-версий, слово-перенос, Питон на болгарским, и всякое ..

мото-та, от автобиографията ми

motto-s, from my cv/resume

мотто, из автобиографии

  • Намери си приятел да бъде твоите сетива.
  • Не можеш да направиш свестен инструмент/нещо, ако никога не си му бил потребител.
  • Направиш ли нещо да могат да го ползват идиоти, само идиоти ще го ползват.
  • Езиците са твоите инструменти. Ако няма подходящ, направи си!
  • Асоциациите са велико нещо - вярвай на собствения си (интуитивен) нюх.
  • Софтуерът всъщност е за и относно хората, а не за и относно машините.
  • Доверието е същността на правенето на софтуер. Машината има 100% доверие на програмиста... докато на другия край хората изобщо си нямат доверие. Човек трябва да реши къде е в тази редичка - колко доверие и недоверие можеш да понесеш?
  • www-Mрежата прави световното село - така че _всичко_ и всеки е на почти-нулево "разстояние". Но НИКОГА нулево. А понякога човек се нуждае точно от това - леко докосване - или добър ритник...
  • Find a friend to be your senses.
  • One can't make a decent tool/thing if never has been an user of it.
  • If you make something to be usable by idiots, only idiots will use it.
  • Languages are your tools. If no suitable, make it!
  • Association is a great thing - trust your common (intuitional) sense.
  • Software is actually about people, not about machines.
  • Trust is the essence of making software. The machine trusts the programmer 100%... while at the other end people don't trust each other at all. One has to position hirself in this chain - how much trust and distrust you can handle?
  • www-web makes the global village - so _everything_ and everyone is at near-zero "distance". But NEVER zero. And sometimes one needs just that - a warm touch - or good kick...
  • Найди себе друга, который был бы твои ощущения.
  • Не можешь сделать хороший инструмент/чтото, если никогда не был его потребителем.
  • Если сделаешь чтото употребляемое идиотами, только идиоты будут его пользовать.
  • Языки есть твои инструменты. Если нет подходящих, сделай сам!
  • Ассоциация - великая штука. Верь своему собственному (интуитивному) носу.
  • В сущности Софтуер есть для и о людей, а не для и о машин.
  • Доверие является сущностью всего изготовления софтуера. Машина доверяет програмисту на 100%... а на другом полюсе люди вообще не доверяют друг друга. Человек должен найти свое место в этой цепи - сколько доверия и недоверия ты сможеш нести?
  • www-Сеть делает мировую деревню - так что "расстояние" до _всех_ и до _всего_ почти-нулевое. Но НИКОГДА нулевое. А человек иногда нуждается точно в этим - легкое прикосновение - или хороший пинок...

Какво мисля ..

What i think ..

Что я думаю ..

  • Описание на методологията в един мой проект Description of methodology in one of my projects Описание методологии в одном из моих проектов

    Последните 10+ години всичко е Пъргава-методология.. или по-често, "злоупотреба" с нея. Ами, "Пъргавината" е като зен-будизма (виж в библиотеката). Не е религия, и не е панацея, а начин на живот. Не става въпрос за докарване на външен вид, става въпрос за съдържанието. Ако не идва отвътре - т.е. се разглежда като списъци и правила и отмятане по точки - няма никаква полза. И няма смисъл да се спазва буквално - ползвай това което те кефи. Но имай предвид че веднага лъсва _всичко_друго_ което не е наред.

    Recent 10+ years everything is Agile methodology.. or more frequently, its "misuse". Well, "Agile" is like zen-buddhism (see in the library). It's not a religion, and not a silver bullet, but a way of life. It's not a facade to keep, it's about contents. If it's not in the heart - i.e. is only taken by lists and rules and checkboxes - there's no use. And there's no point sticking blindly to it - pick whatever makes u tick. But have in mind that it makes _all_other_ deficiencies come to light.

    Последние 10+ лет всё только Проворная-методология.. или чаще, "злоупотребление" ей. Ну, "Проворность" как зен-будизм (см. в библиотеку). Это не религия, и не панацея, а способ жизни. Это не вопрос внешнего вида, а вопрос о содержанием. Если не приходит изнутри - т.е. рассмaтривается только как списки и правила да точки - никакой пользы не будет. И незачем применять буквально - бери то что нравится. Но имей ввиду что сразу увидится _все_другое_ что не работает.

    Важно е Въздействието, а не списъка задачи: What matters is the Impact, not just backlog: Важно Воздействие, а не список задач: impact vs backlog framing
  • Правенето на софтуер като граф във време/пространството, и ролите Software process as a graph in time/space, and roles Софтуерный процесс как граф во время-пространстве, и роли

    IMO, the process of making software has to be viewed as a graph, both in time (when), and space (what and _who_). Different metodologies idealize it to be specific kind of graph, e.g. single multi-point-line, spiral, whatever... and then expect/assume it's the only one, in whole graph. Which is not correct, pieces (person/time/feature) can be of different kind, So all the "wars" Agile vs Waterfall/CMMi etc. are because of lazyness and reluctance to accept that there is NO-single-silver-bullet, learn all the ways, and most of all, leave (local-) control to the actual doers.

    Според мен, процесът на правене на софтуер трябва да се разглежда като граф, във времето (кога) и пространството (какво, и _кой_). Разните методологии го идеализират като специфичен вид граф, т.е. насочен, единична начупена линия, спирала и т.н... и после очакват/приемат че това е единственото и е приложимо в/у целия граф. Което просто не е вярно, парчетата (човек/време/детайл) може да са от различен вид, Тъй че всички войни Пъргава методология срещу Водопадна/CMMi и пр. са само мързел и нежелание да се приеме че НЯМА-единствен-сребърен-куршум, да се научат всички начини, и най-вече, да се предаде (местния) контрол на самите извършители.

    По моему, процес создания софтуера надо рассматривать как граф, во времени (когда) и в пространстве (что, и _кто_). Разные методологии идеализируют его как специфичный вид граф, т.е. ориентированный, одна ломанная линия, спираль и т.д... и потом ждут/принимают что это одинственный способ и приложим он по всему графу. Что просто не верно, отдельные куски (человек/время/деталь) могут быть разными видами. Так что все "войни" Проворная методология против Водопадной/CMMi и т.д. ... только лень и нежелание принять что НЕТ-одинственной-серебряной-пули, выучить все способы, и тем-более, передать (местный) контроль самим совершителям.


  • Спецификацията като изкуство.. (изисквания, анализ, спецификация... връзката, без която не може) Specification as art.. (requirements, analysis, specification... the link that can not be missing) Спецификация как исскуство.. (требования, анализ, спецификация... связь, без которой нельзя)

    Основните инструменти в правенето на софтуер са... правилните въпроси. Били те 3-те нива в случай на употреба (use-case: защо-какво-как), или вида програмиране - процедурно (как), функционално (какво), причино-следствено (защо), обектно (кой) ... или простото съмняващо се "Дали трябва".

    Main tools in software making are... the right questions. Were they the 3 levels in a use-case (why-what-how), or the kind of programming - procedural (how), functional (what), reason-goal (why), object-oriented (who) ... or the simple doubting "Whether it should".

    Основные инструменты в создании софтуера это... правильные вопросы. Были бы они 3 уровня в случае пользования (use-case: почему-что-как), или вид программирования - процедурное (как), функционалное (что), причино-следственое (почему), обектное (кто) ... или простое сомневающееся "Да-надо-ли".

    I keep six honest serving-men
    (They taught me all I knew);
    Their names are What and Why and When
    And How and Where and Who.
    Слуги аз имам шест на брой
    от странно естество.
    Наричат се: Защо, Как, Кой,
    Кога, Къде, Какво.
    Есть у меня шестерка слуг,
    Проворных, удалых.
    Зовут их: Как и Почему,
    Кто, Что, Когда и Где.

    Добре е да можеш да си (избирателно) глупав.

    One should be able to be (selectively) stupid.

    Хорошо чтоб мог быть (выбирательно) глупым.


  • Криза? Каква криза? или ефикасното правене на ефективен софтуер Crisis? What crisis? or the efficient making of effective software Кризис? Какой кризис? или еффикасно делать еффективный софтуер
  • Аутсорсинг, ишлеме, глобална разработка на софтуер - предизвикателства на общуването

    Outsourcing, offshoring, global software development - challenges of communication

    Аутсорсинг, офшоринг, глобалная разработка софта - предизвикательства общения

    All these are about taking out and distributing work, geographically or not. Some ways are more separated and independent, others are more intertwinned - one team is part of the other. The major problem in any such undertaking is the communication between the teams (written spec is _also_ communication). There are 3 main obstacles - cultural, language and time differences. IMO the cultural one has the biggest impact. It may happen even if all are in same town, but following different cultures / ways of thinking and work. And it is hardest to overcome - mentality is not easily changed, and not everyone is able to walk in other people's shoes. That's my experience after several years in a global development project with 4 teams of different cultures.

    Всички тези представляват изнасяне и разпределяне на работа, географски или не. Някои начини са по-отделни и независими, други са по взаимосвързани - единият отбор е част от друг. Най-голямата трудност в такова едно занимание е общуването между отборите (писмената спецификация _също_ е общуване). Има 3 основни пречки - културните, езиковите и времевите разлики. Според мен културните са най-силно влияещи. Те могат да се проявят даже ако всички са в един и същ град, но следват различни култури / начини на работа и мислене. И са най-трудни за преодоляване - манталитетът и мисленето не се променят лесно, и съвсем не всеки може да "ходи в чужди обувки". Поне това показва моят опит след няколко години в глобален развоен проект с 4 отбора с различни култури.


  • тестването - нещото, без което не трябва (всъщност винаги го има... крайният потребител) testing - the thing that should not be missing (actually it's always there... the end-user) тестирование - штука, без которой не надо (всущности она всегда есть - конечний пользователь)



If you want to do
  a certain thing
  You first have to be
   a certain person.
Once you have become
  that certain person
  you will not care any more about doing
   that certain thing.

       - Dogen

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

       - Доген

Если хочеш сделать
  чего-то определенного
  Тебе надо спервым стать
   определенным человеком.
Когда уже будешь
  этим определенным человеком
  ты больше не будешь заботиться делать
   того определенного чего-то.

       - Доген

Recommended readings Препоръчвам за четене Рекомендую для чтения

Ето някои неща за софтуера, които препоръчвам като основополагащи:

Here some things about software, which i recommend as fundamental:

Вот некоторые вещи о софтуере, которых я рекомендую как основополагающие:




и да цитирам една баба Злата от с.Сладка Вода, подхвърлила веднъж пътьом:

„Ами тъй-то, едно нещо кат’ са напрай, и става“

... (Лао Дзъ – ряпа да яде..)

Ти колко неща си *направил*? Ама наистина?

и процитирую одну бабулю, Злата из д.Сладка Вода, однажды сказала проходя мимо:

„Ами так-оно, одна вещь, когда сделана, и получается“

... (что там Лао Цзы..)

Сколько вещей ты *сделал*? Вправде?

And citing one granny Zlata from Sladka Voda village, who said once passing by:

„And thus it is, one thing, when done, and happens“

... (there goes Lao Tse..)

How many things you have *done*? But really?






 

а ти как я караш?

and how're u doing?

а ты как поживаешь?


виж, жито     | see, grains
виж, жито | някъде в бг 2005 see, grains | somewhere in bg 2005 смотри, жито | гдето в бг 2005


аз се оглеждам наоколо. Mоже да е близо или надалече (географските и културните разстояния са малко различни понятия... бил съм и в двете). Може да е краткосрочно или дългосрочно... важно е бъдещето. Може самостоятелно, или част от нещо..

i'm looking around. May be near or far away; (the geographical and cultural distances are little bit different notions... i've been both). May be shortterm or longterm... important is future. May be independent, or part of something..

я гляжу вокруг. Mожет близко, а может далеко (географские и културные расстояния вещи разные... бывал и туда и сюда). Можно на короткий или длинний срок... важно будущее. Может самостоятельно, или часть чего-то..





релси около Бъра    | rails near Burra
релси около Бъра | Австралия 2002 rails near Burra | Australia 2002 рельси возле Бърра | Австралия 2002

Ама да е интересно.

Should be interesting.

Ну чтоб было интересно.


крушка в пясъка   | bulb in the sand
крушка в пясъка | Крапец 2005 bulb in the sand | Krapetz 2005 лампа в песке | Крапец 2005


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

If the biography and around does not match, i can also cook and turn on the washing machine. And tell whether cheese tastes like the one from last week. And the violin sounds hard and does not fill the song. And the font is rather lumbery and not for tender stuff... Ah, and other things.

Если биография да вокруг не годится, могу также готовить пищу и запускать стиральную машину. И сказать похож ли тот сыр на того с прошлой недели. И что та скрипка звучит твердовато и не заполняет песню. И шрифт тот деревянний и не годится для нежных вещей... Ну вроде и кое-что другое.










писалка на тефтер | ballpen on notebook

Детски нещаKids' thingsДетские вещи
книжкиbooksкнижки
творения:легоcreations:legoтворения:лего

БиблиотекаLibraryБиблиотека
снимкиphotosфотографии
хайкуhaikuхайку
водолет / e-foilwaterfly / e-foilводолет / e-foil
обиКолелоroundaBikeкругоВелик
направи самdo it yourselfсделай сам

софтуерът-и-азsoftware-and-iсофтуер-и-я
био/cvcvбио/cv

>> #OpenToWork <<

'2008-2024 ~ началоstartначало ~ софтуерът-и-азsoftware-and-iсофтуер-и-я ~ биография/cvcv/resumeбиография/cv ~ библиотекаlibraryбиблиотека ~ снимкиphotosфотографии ~ детскиkids'детские ~   az()svilendobrev _ com