Kuinka optimoida kehitysprosessisi
Tässä artikkelissa haluan jakaa kokemukseni WordPress-kehittäjien tiiminvetäjänä. Tämä kokemus kattaa työskentelyn erilaisissa WordPress-kehityspalveluissa, kuten teemoissa ja laajennuksissa, uusien asiakassivustojen kehittämisen ja resurssien eri monimutkaisuus- ja kuormitustasoille.
Projektien parissa työskennellessäni törmäsin toistuvasti tilanteisiin, joissa teimme samaa työtä ja teimme samoja virheitä. Tämä pakotti minut pohtimaan tarvetta optimoida koko prosessi. Katsotaanpa tärkeimpiä kohtia kehitysprosessin hallinnan optimoimiseksi.
Yksityiskohtainen suunnittelu ja suunnittelu
Aloitamme suunnittelusta. Oikein suunniteltu projekti on jo voittanut puolet taistelusta. Nuoremmat kehittäjät jättävät tämän osan huomiotta toivoen, että nopea luonnos riittää. Tämä ei ole todellisuutta. On parempi viettää muutama tunti projektin suunnitteluun, jotta ymmärrät paremmin, miten se toimii, mitä esineitä tarvitaan ja miten ne ovat vuorovaikutuksessa toistensa kanssa. Vaikka työskenteletkin yksinkertaisen asian parissa, kuten verkkosivustolla, jossa on useita postaustyyppejä, ota paperi tai taulu ja aseta se. Aloita ymmärtämällä, kuinka nämä post-tyypit ovat vuorovaikutuksessa, mitä ominaisuuksia ja metapoleja niillä on, miten tiedonvaihto tapahtuu, kuinka käyttäjä rekisteröityy, mitä lomakkeita sivustolla on, ja niin edelleen. Tämä helpottaa elämääsi, kun sinä ja tiimisi alat kirjoittaa koodia. Sen sijaan, että miettisit, mitä projektin toisella puolella tapahtuu, voit keskittyä yhden ongelman ratkaisemiseen kerrallaan.
Tehtävien jakaminen osatehtäviin
Kaikki tehtävät on jaettava osatehtäviin. Mitä yksityiskohtaisemman pirstoutumisen voit saavuttaa, sitä parempi. Älä kuitenkaan innostu liikaa, vaan pysy kohtuullisissa rajoissa. Minulla on yksi sääntö tähän prosessien hallinnan vaiheeseen – jos on globaali tehtävä, enkä oikein ymmärrä, miten se tehdään, jaan sen alitehtäviin, kunnes se tulee 100 % selväksi. Käytännössä se on ikään kuin jaamme sivuston sivuihin, sitten lohkoihin, erottelemme liiketoiminnan toiminnallisuudet toimintoihin ja niin edelleen. Tämä toimii todella hyvin koko seuraavan kehitysprosessin ajan. Lisäksi suosittelen tarkistuslistojen käyttöä – tämä on erinomainen visualisointi tehtäviä asetettaessa ja suoritettaessa. Lisäksi jokainen haluaa nähdä, miten projekti valmistuu, kohta kohdalta.
Tarkka aika-arvio
Aikaisemmasta kokemuksestani tiiminvetäjänä voin sanoa, että projektin aika-arviota on vaikea mitata. Kehittäjät ovat aina (tai melkein aina) yli- tai aliarvioituja aikarajoja, jotka aiheuttavat koko tiimin kärsimystä. Liian usein asetetaan optimistisia määräaikoja, jotka johtavat lopulta joko ylitöihin tai projektien viivästyksiin – ja tämä ei ole hyväksi liiketoiminnalle. Tiimini ja minä kehitimme oman menetelmämme projektin ajan estimointiin, ja se on itse asiassa melko yksinkertaista. Kun tehtävä on jaettu osatehtäviin ja tiedetään kunkin osatehtävän tarkka aika, voimme tehdä siitä yhteenvedon ja laskea ennustetun kehityksen kokonaisajan.
Automaatio- ja kehitystyökalut
Kuten kaikilla muillakin aloilla, ohjelmoijalla on omat hyvin kehittyneet työkalunsa. Tehtävämme on yhdistää kaikki työkalut (esim. IDE, versionhallintajärjestelmä, paikallinen palvelin ym.) ja pystyä synkronoimaan tiimin työ. Käytämme esimerkiksi PHP-Stormia, Githubia ja Open Serveriä. Voit tietysti valita sinulle sopivimmat työkalut, mutta optimoinnin tarkoitus on, että meidän on varmistettava, että kaikki tiimin jäsenet käyttävät näitä työkaluja ja niiden toimintoja 100%.
Tyypillisissä WordPress-projekteissa työ jakautuu 2-3 henkilön kesken. Tämä riittää yleensä projektin loppuun saattamiseen, jos kaikki on tarkasti suunniteltu ja jaettu jokaiselle tarkistuslistalle. Sinun tulee myös määrittää tehtäviä ja alitehtäviä käyttämällä git ja git-flow, jotta ne eivät mene päällekkäin. Ihmisten lisääminen ei aina tarkoita projektin nopeuttamista. Jos jokainen tiimin jäsen työskentelee asiantuntevasti omien tehtäviensä parissa, kun aikaa ja resursseja kohdennetaan tehokkaasti, projekti voidaan saada nopeasti ja onnistuneesti päätökseen.
Jos luot ymmärrettävää ja luettavaa koodia, se helpottaa muita tehtäviä ja ratkaisuja – sinun ei enää tarvitse taistella kainalosauvojen tai epäselvien kappaleiden kanssa eteenpäin siirtymisen sijaan. Koodin laatua voidaan tarkastella monesta näkökulmasta: muuttujien, funktioiden, luokkien merkitykselliset nimet ja yleinen WordPress-koodin noudattaminen. Yleisvinkki on kirjoittaa koodi ikään kuin aiot tukea sitä pitkään. Tällä hetkellä kokemattomat kehittäjät luovat tiedostoja, nimeävät ne "problem.functions.php" ja lähettävät kaikki toiminnot sinne. Jossain vaiheessa tiedosto ylikuormittuu täysin erilaisella logiikalla ja tiimi viettää koko päivän yrittääkseen selvittää sitä. Tuottavampi tapa on jakaa koodi kansioihin ja tiedostoihin projektin liiketoimintalogiikan mukaisesti. Näin voit säästää paljon aikaa itse kehitysprosessissa ja varata aikaa muutosten tekemiseen ja koodin päivittämiseen.
Virheenkorjaustyökalut
Kehitysprosessi ei ole aina sujuvaa. Joskus sinun on kestettävä se ja oltava valmis korjaamaan koodisi. Koko juttu voidaan jakaa kahteen kategoriaan. Vianetsintä sen ohjelmointikielen tasolla, jossa meillä on php, on ensimmäinen. On kätevintä käyttää IDE:n sisäänrakennettuja työkaluja ja varmistaa, että kaikki kehittäjät ovat määrittäneet ja käyttäneet niitä oikein. Toiseksi tarkastelemme erityisten lisäosien käyttöä, joiden avulla voimme kerätä ja nähdä arvokasta tietoa: tietokannan kyselyiden määrästä sivua ladattaessa käytettyjen koukkujen luetteloon. Näistä laajennuksista haluan korostaa Query Monitorin, Mail Login, Health Checkin ja Cron Managerin. Näiden lisäksi tiimini ja minä loimme Dev Studio -laajennuksen kompensoimaan puuttuvia toimintoja. Tämän laajennuksen avulla voimme nähdä muuttujat ja vakiot, suodattimet, koukut, tiedot jne. ja mahdollistaa keskeytyspisteiden asettamisen. Kaikki nämä lisäosat ovat ilmaisia, ja ne löytyvät virallisesta WordPress-arkistosta.
Missä kehittäjät viettävät aikaansa?
Teimme pienen tutkimuksen useilta WordPress-tiimeiltä ja löysimme likimääräisen aikataulun kehittäjien työlle (tämä ei ole täysimittaista tutkimusta, mutta se riittää visualisoimaan tyypillisen päivän kehittäjän elämässä):
Tyypilliset tehtävät vievät suurimman osan kehittäjien ajasta. He esimerkiksi aloittavat uuden projektin, luovat uuden aiheen, lisäävät valmiita ratkaisuja ja aiemmin käyttämiämme koukkuja. Näin ei aina ole, mutta se tapahtuu usein web-studioissa, jotka luovat asiakassivustoja. Siksi sinun tulee säilyttää tietopohjassasi tehokkaita malleja ja ratkaisuja, jotta voit tukea kehittäjiä parhaalla mahdollisella tavalla. Mitä tulee 20 % kahviin ja tauoihin käytetystä ajasta, niin nämä ovat aivan normaaleja käytäntöjä. Kehittäjät eivät saisi viettää koko päivää keskittyneessä työtilassa. Se voi itse asiassa johtaa lisääntyneeseen väsymykseen ja burnoutiin. Tauon pitäminen on terveellistä tuottavuuden kannalta. Uusien tehtävien osalta – ainutlaatuisten toimintojen ja koodin luominen– vie vain 10 % ajasta web-studioiden kehittäjille. Mielenkiintoinen tosiasia, nämä ovat myös tehtäviä, joista kehittäjät pitävät eniten. Nämä tehtävät auttavat parantamaan käyttäjien ja asiakkaiden elämää, ja niiden parissa on jännittävää työskennellä.
Ihanteellisessa maailmassa haluaisin kääntää tämän kaavion ympäri, jotta uudet tehtävät vievät suurimman osan ajasta, jolloin tyypilliset ja rutiinitehtävät jäävät vähemmän aikaa. Se ei ole helppoa, mutta voit ottaa askeleita kohti tätä skenaariota käyttämällä aihioita (tai kattilalevyjä, aloitussarjoja) ja automatisoimalla prosesseja. Esimerkiksi tiimimme loi joustavan aloituspakkauksen teeman. Tämä teema luotiin MVC:n periaatteilla Webpackin avulla. Se on joustava työkalu projektin nopeaan käyttöönottoon ja on myös valmis skaalattavaksi. Käytännössä aloimme säästämään 40 % ajastamme asiakassivustojen kehittämisessä. Teema on avoimen lähdekoodin, ja se on julkaistu julkisesti – se löytyy WordPressin virallisesta arkistosta tai git-keskuksesta. Ja tietysti voit tehdä oman aloitusteeman tai laatia laajennuksen tarpeitasi vastaavaksi. Pääideana on ymmärtää selkeästi vaatimukset ja luoda joustava arkkitehtuuri.
Toivon, että tämä suositus auttaa sinua huippuosaamisen tiellä! Fantastinen WordPress-alusta tarjoaa valtavia mahdollisuuksia, joten hyödynnetään niitä asiantuntevasti ja tyylikkäästi.