ohjelmistokehityksestä kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/haagahelia_k... ·...

30
Kokemuksia ohjelmistokehityksestä Kai Kulju & Heikki Naski

Upload: others

Post on 02-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Kokemuksia ohjelmistokehityksestä

Kai Kulju & Heikki Naski

Page 2: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Esityksen runko

● Keitä me olemme● Mitä ohjelmistokehitys on● Mitä kykyjä tarvitaan

Page 3: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Naski

Gee Technology● Kahden hengen firma● PHP, MySQL

Edita● Digitaalimurros: 800 hlöä vuonna 2006 ja 400 hlöä 2011● PHP, Oracle (DB), Zend Framework

Codemate● Bangladesh● PHP, Oracle (DB)

Page 4: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Naski

Soprano Brain Alliance● henkilöstön vaihtuvuus 2012-2013 n. 90%● PHP, JS, Ext, Yii, Zend Framework 1 ja 2

Fraktio● porukkaa nyt 400% siitä mitä 2012● PHP, Silex, JS, Angular, Node.js

Sytyke● verkostoitumisyhdistys

Page 5: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Kulju

- datanomi, tradenomi- Soprano Brain Alliance (2010-2014)- Reaktor (2014)- Fraktio (2015-)

JavaScript, Node.js, PHP, …

Page 6: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Fraktio

- Perustettu 2012- 19 vakituista työntekijää- Asiakasprojekteja- Kaikki samaa itsenäistä tiimiä- Paljon valtaa, paljon vastuuta- Erittäin avoin kulttuuri

Page 7: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Mitä ohjelmistokehitys on

Page 8: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Esimerkki päivästä

● Rakenna uutta toimintoa● Optimoi täysin tuntemattoman koodipohjan

suorituskykyä● Tiimipalaveri● Super urgent bugi havaittu eli korjaa● Arvioi tarjousta

Page 9: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Muuta touhua

● Firman kehittämisen työpaja● Teknologiatyöpaja (React, Scala + Play)● Rekrytoitavien haastatteluja● Esitelmien kuuntelua● Tapahtumissa käymisiä (Reaktor DevDay,

MySQL User Group, Scalar, HelsinkiJS)

Page 10: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Väärinymmärryksiä

● Joku alalla oikeasti osaa● Projekteissa on selvät ja harkitut prosessit● Projekteissa tehdään lähinnä uutta kehitystä● Duuni on vaan duunia eli helppoa ja tylsää

Page 11: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Väärinymmärryksiä

● Alan duunit on pelkkää koodaamista● Koodaaminen vie eniten aikaa● Testaaminen on ikävää● Työpaikan saaminen on helppoa ja firma

kyllä opettaa● Projekteissa on selvät tavoitteet

Page 12: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Väärinymmärryksiä

● Pelkällä hyvällä koodilla voi ratkaista liiketoiminnallisia ongelmia

● Erinomaisuus pelastaa projektin● Ongelmat ratkeaa oikean dogman avulla

(Scrum, Kanban, TDD, CI, ...)● Asiakkaat osaavat kyllä ostaa softaa

Page 13: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Miten softaa ostetaan

● Ei haluta ylläpidettävyyttä vaan kehitysnopeutta (mutta projekti elää 10 vuotta, ylläpitäjinä 10 erillistä tiimiä)

● Asiakas ei ole mukana omassa projektissaan

● Sopimuksia tulkitaan eri tavoin

Page 14: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Mitä tuloksia halutaan

● Toiminnallisuudet● Nopea kehitys● Virheiden vähyys

○ eräässä projektissa laatua varmistettiin rankasti ja virheistä tuli heti huutoa

○ toisessa projektissa äkkiä tuotantoon vaikka miten tulisi virheitä

● Suorituskyky

Page 15: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Mitä tuloksia halutaan

● Akateemisuus○ promiset○ funktionaalisuus○ oliot

● Käytännöllislaadullisuus○ TDD/BDD○ koodausstandardit○ uudet kirjastot

Page 16: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

“Olet tyhmä jos et käytä”● Nyt

○ Automaattinen testaus○ Agile, Lean○ Funktionaalinen tyyli○ Feature branch

● Aiemmin○ Design patternit (erityisesti singletonit)○ Olio-ohjelmointi

Page 17: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Kaikkea ei voi tietää

● Ala on jatkuvaa opis-kelua

● Jatkuvasti uusialiiketoimintaan liitty-viä ongelmia ratkais-tavana

Page 18: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Mitä kykyjä tarvitaan

Page 20: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Työkaluja

● Editori● Versionhallinta● Tehtävänhallinta● Wikit

Page 21: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Työkaluja web-koodaajalle

● Profiloija● Debuggeri● Verkkoliikenteen analysointi● DOMin tutkiminen● Tietokantatyökalut

Page 22: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Toimintatapoja

● Arvioiminen● Ongelman selvitys● Toiminnon valmistuttua ollaan puolivälissä

○ ansojen poistaminen○ dokumentointi

● Tee jotain

Page 23: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Toimintatapoja

● Varmistaminen○ tuleeko suoritus oikeasti tiettyyn kohtaan○ toimiiko korjaus○ eihän varmasti toimi ilman korjausta

● Kuolleen koodin hallinta● Epädogmaattisuus

○ mieti seurauksia äläkä sitä mitä tuhat bloggaajaa julistaa

Page 24: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Toimintatapoja

● Asioiden selvittäminen● Oma-aloitteisuus● Ajatusten lukeminen

Page 25: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Vian korjaaminen

● Toista● Korjaa● Etsi

○ onko vastaavia ongelmia muualla● Ehkäise

○ muuta toimintatapoja niin ettei vastaavaa tapahdu

Page 26: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Vinkkejä

● Tee omia projekteja● Lue

○ Käytännöllisiä asioita○ Tieteellisiä asioita

● Opettele metodeja (XP, Agile, Lean yms.) mutta muista kohtuus

Page 27: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Vinkkejä

● Avoin lähdekoodi● Laaja osaaminen eri asioista● Jostain asiasta syvä osaaminen● Kokemus asiakkaista on erityisen kysyttyä

Page 28: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

● Ymmärrys eri ohjelmointikielistä ja paradigmoista yleisellä tasolla○ ohjelmointikielissä valtavasti yhteistä○ opitut asiat siirrettävissä kielistä toisiin○ helpottaa siirtymistä eri teknologioista toisiin

● Hyvä aiheeseen liittyvä kirja:Code Complete (Steve McConnell)

Mihin tulisi pyrkiä?

Page 29: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön

Arvon tuottaminen

● Loppukäyttäjän kokeman arvon tuottaminen○ todelliset käyttötilanteet tekemisen pohjana

● Maalaisjärkeä mukaan○ laadunvarmistus oikeissa paikoissa○ kehitysnopeus○ ylläpidettävyys