Programovanie

Ako vyzerá organizácia moderného rozvoja

Pracujem pre startup v San Franciscu. To, čo používame v Silicon Valley, nemusí nutne znamenať priemysel ako celok. Takže som neformálne požiadal niekoľkých priateľov distribuovaných po celom priemysle, aké nástroje používajú, aby zistili, aké nástroje používa moderná (ale nie Silicon Valley) vývojová organizácia.

Udelené, ak ste na farme sivých boxov - alebo, čo je horšie, na farme s béžovými boxami -, nemusíte byť na krvácajúcej, vedúcej alebo dokonca tupej, ale nedôveryhodnej hranici technológie, takže sa váš kilometrový výkon môže líšiť. Ak sa spoločnosti Microsoft iba opýtate, „čo by sme si mali kúpiť?“ potom sa váš počet najazdených kilometrov môže líšiť, ale aj Microsoft si uvedomuje, že Git je kráľom a náš svet je čoraz rozmanitejší, čo sťažuje schopnosť venovať sa vývojovým nástrojom každého dodávateľa. V súčasnosti je to polyglotový svet, pokiaľ ide o vývojové nástroje.

Ak sa snažíte zistiť, kde ste vo vzťahu k ostatným, tento článok vám to ukáže. Ak hľadáte založenie nového obchodu a zaujíma vás „Čo robia všetci ostatní a kam by sme mali ísť?“ potom ti to tiež ukáže.

Je zrejmé, že moderné rozvojové organizácie - aj tie, ktoré si môžu myslieť, že už majú trochu starú školu - nevyzerajú ako tie spred niekoľkých rokov. V blízkej budúcnosti budeme mať veľmi miesto na učenie sa kontajnerov / strojov a možno budeme mať riadený chatops. Napokon, scrumy a devopy boli kozmicko-mimozemské koncepty nie tak dávno.

Čo je bežné v moderných rozvojových organizáciách

Nasledujúce veci sú bežné u väčšiny ľudí, s ktorými som hovoril. Predstavujú nea aspiračný stav vývoja softvéru.

E-mail je mŕtvy, Slack je kráľom

Vážne, nič nedosiahlo všeobecné prijatie tak rýchlo ako Slack. Iste, niektoré miesta používajú HipChat alebo iné veci podobné Slacku, ale Slack je spôsob, akým dnes organizácie fungujú. Rozprávajú sa s nimi a teraz je ich možné vyhľadávať.

PCM a CVS sú mŕtve; všetci pozdravujú Git a GitHub

V ten deň boli kontroly kódu ťažké a zámky boli pesimistické. Pracoval som na globálnych projektoch, kde kontrola cez transatlantický kábel trvala večne. A nehovorme o pokladniach.

Teraz je distribuovaná kontrola revízií a Git - aj keď je oveľa ťažšie ho použiť ako minulé nástroje - bol takým krokom vpred, že Git dosiahol úplnú dominanciu. \

Každý má Mac

Som zdráhavý používateľ systému Mac. Keby to bolo na mne, používal by som Ubuntu Linux na lepšom hardvéri. Mojím spoločnosťou plateným počítačom je však Mac. A nie som sám. MacOS je rýchlejší, aj keď nafúknutý a ťažkopádnejší ako Windows, a mám všetky svoje známe nástroje ako SSH, ale stále mi chýba Linux.

Jira je stále náš nafúknutý kráľ

Jira môže starnúť a môžu existovať alternatívy ako BaseCamp a open source Open Project. Silou Jiry však je, že ak ste na tom, neodchádzate. Už ste s tým oboznámení. Má trh pre rozšírenú funkčnosť. Zapája sa do väčšiny vecí a väčšina ostatných vecí ju podporuje.

Jenkins nám stále slúži

Existujú startupy ako Travis-CI a tiež rans ako Jira, tvorca Atlassian’s Bamboo, ale nakoniec je Jenkins stále na vrchole našej nepretržitej integrácie a nasadenia do nášho testovacieho prostredia.

AWS je tam, kde je

Amazon Web Services nie je najdostupnejšia cloudová platforma. Nie je to najjednoduchšie použitie. Ale je to určite najaktuálnejší a je to to, čo väčšina ľudí pozná. Stretol som ľudí, ktorí používajú Google Compute Engine alebo Microsoft Azure. Sám som ich použil na projekty, ale predvolene je platforma, ktorú ľudia používajú, AWS.

Internou platformou je stále VMware

Pre vývojárov stojacich za firemnou bránou firewall, kde je cloud iba snom, stále pracujú na serveri VMware a robia veci spôsobom VMware. Poskytovanie je stále čakanie a výkon siete SAN je stále nepredvídateľný.

Agilný vývoj je väčšinou skrumáž

Každý robí niečo ako skrumáže, ale nie skrumáže presne a len málokto je oprávnene presvedčený, že robí agilné právo alebo že jeho „agilný“ je skutočne agilný - a už vôbec nie „agilný v kultúre nákladu“ alebo chaos pod iným menom.

Disciplína, projektový manažment a produktový manažment sú stále nedostatočne kvalifikované, nedostatočne kompenzované a nedostatočne odmeňované.

Čo je trendy v rámci moderných rozvojových organizácií

Existuje mnoho špičkových postupov, o ktorých hovoríme - devops, Docker Containers, Kubernetes Container, Windows Containers, Cloud Development Platform (PaaS), Omnidevice Development, Machine Learning, New Languages ​​like Kotlin and Google Go, and so on - that haven (zatiaľ) sa nepodarilo dosiahnuť globálne prijatie.

Kontajnery

Či už je to Docker alebo jeho možný dedič Kubernetes, nie každý používa kontajnery.

Po prvé, ak ste neustále zaťažení, musíte ho spustiť na AWS. Vaša nákladová výhoda sa stane, iba ak môžete skutočne zdieľať zdroje.

Po druhé, použitie kontajnerov umožňuje, aby bol váš softvér udržiavateľnejší, ale tiež vďaka čomu je váš proces zostavovania a nasadenia pomalší a komplikovanejší.

Strojové učenie

Ťažká časť je identifikovať, kde môžete používať strojové učenie (podmnožina umelej inteligencie), a zhromažďovať údaje do formátu, ktorý vám umožní využívať strojové učenie.

Niektorí ho používajú pod kryty produktov, ktoré kupujú, ale nemajú odborné znalosti v oblasti dátovej vedy, aby dokázali svoju užitočnosť. Nedostatok odborných znalostí na trhu tiež spôsobil, že prijatie strojového učenia bolo tlmenejšie, ako by naznačoval humbuk.

Chatops

Ľudia sa o chatops zaujímajú, ale zatiaľ to nerobí nikto, s kým som sa rozprával.