ohjelmistokehityksestä kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/haagahelia_k... ·...
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/16.jpg)
“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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/18.jpg)
Mitä kykyjä tarvitaan
![Page 19: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/19.jpg)
Kunnioitus
● Ala on laaja● Mielipiteitä on monia● Tyhmät kysymykset ovat usein hyviä● Linux, Git ja BSD koodausstandardit● Fowler vs feature branch
![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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/28.jpg)
● 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](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/29.jpg)
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
![Page 30: ohjelmistokehityksestä Kokemuksiamyy.haaga-helia.fi/~ict2tn007/materiaalit/HaagaHelia_K... · 2015-04-30 · Codemate Bangladesh PHP, Oracle (DB) Naski Soprano Brain Alliance henkilöstön](https://reader035.vdocuments.pub/reader035/viewer/2022081607/5ede1775ad6a402d66695f4e/html5/thumbnails/30.jpg)
http://heikki-naski.blogspot.fi/http://www.sytyke.org/https://fraktio.fi