Projektisuunnitelma: Sijoitussovellus SCI-projektikurssi Vihtori Immonen Markus Lautsi Samuli Mäkinen Simo Santala Esko Vähämäki
1 Tehtävä 3 2 Asiakas ja loppukäyttäjä 3 3 Työn rajaus 3 4 Lopputuotos 4 4.1 Tekninen toteutus ja sen haasteet 5 5 Tiedonkeruu 5 5.1 Markkinatutkimus 5 5.2 Olemassaolevat palvelut ja kilpailutilanne 6 5.3 Ratkaisun testaaminen 6 6 Aikataulu 7 6.1 Kurssiaikataulu 7 6.2 Projektiverkko 7 6.3 Projektiverkon tehtävien selitys 8 6.4 Gantt-kaavio 9 7 Työnjako 10
1 Tehtävä Sijoitusmarkkinoilla on käytössä useita sovelluksia osakesijoittamiseen. Näistä esimerkkejä ovat ulkomaalainen Ticker ja suomalainen Nordnet. Olemassaolevat sovellukset eivät kuitenkaan tarjoa kovinkaan matalaa kynnystä sijoittamisen aloittamiseen, vaan aloittelijalla saattaa olla vaikeaa saada käsitystä sijoituskohteiden ominaisuuksista ja soveltuvuudesta hänelle itselleen. Projektimme tehtävä on selvittää, onko markkinoilla olemassa kysyntää sovellukselle, joka tarjoaisi aloittelevalle piensijoittajalla helposti ymmärrettävää tietoa sijoituskohteista ja mahdollisesti toiminnallisuuden sijoitusten tekemiseen. 2 Asiakas ja loppukäyttäjä Projektin tuotoksella on kaksi mahdollista asiakasta. Ensimmäinen ja alustavien pohdintojen mukaan todennäköisempi on loppukäyttäjä eli sovellusta käyttävä kuluttaja, ja toinen on pankki tai muu sijoitusyritys. Mikäli päädymme lopputulokseen, että asiakas on loppukäyttäjä, toteutuksesta riippuen perimme transaktiomaksuja osakkeiden ja muiden sijoitusinstrumenttien kaupankäynnistä tai myymme applikaatiota sopivaksi katsomallamme hinnalla suoraan loppukäyttäjälle. Tällöin projektimme tuotoksen tarkoitus on alentaa asiakkaamme kynnystä aloittaa sijoittaminen, antaa selkeää ja helposti ymmärrettävää tietoa sijoituskohteista, sekä mahdollisesti alentaa sijoittamisen kustannuksia. Asiakkaallamme voi myös olla tarvetta saada jännitystä, jota pystymme sijoitussovelluksellamme tarjoamaan. Jos asiakkaaksi valitaan pankki tai muu sijoitusyritys, luultavasti tulemme toteuttamaan sovelluksen, johon he voivat helposti integroida omat sijoitusvaihtoehtonsa. Tällöin sovelluksemme tarjoaa asiakkaallemme tavan tuoda omat sijoitusmahdollisuudet esille kuluttajaystävällisellä tavalla. Tässä tapauksessa asiakas ei tule olemaan loppukäyttäjä, vaan asiakkaan nykyisiä palveluita käyttävät kuluttajat, sekä mahdollisesti heille applikaation tuomat uudet kuluttaja-asiakkaat.
3 Työn rajaus Ongelmaa rajatessa tulee miettiä miksi joku haluaisi käyttää sovellusta. On loogista lähteä siitä millainen tuote markkinoilta puuttuu. Ensimmäisen arvion mukaan keskitymme aloitteleviin, rajallisin tiedoin ja pienillä rahoilla toimiviin sijoittajiin. Heille kohdennettua selkeää ja järkevän hintaista palvelua on tällä hetkellä vaikea löytää. Uskomme että tällä ryhmällä olisi kiinnostusta sijoittamiseen, jos se vain tehtäisiin hieman helpommaksi. Heiltä myös löytyisi tarvittaessa riittävä volyymi sijoitettavaa rahaa tällaisen sovelluksen luomiseen. Kokeneemmilla sijoittajilla voi olla jo mietittynä suunnitelma jota he sijoittaessa toteuttavat. Tästä ryhmästä voi kuitenkin olla apua kehitysvaiheessa antamassa tietoa. Analysoituamme markkinatutkimuksen tuloksia voimme tarkentaa rajausta. Tämä antaa lähtökohdat keskustelulle asiantuntijoiden kanssa, joka edelleen selkeyttää aiheen rajaamista. Lopulta mahdollisista kohderyhmistä valitaan potentiaalisin. Sovelluksen alustaa rajataan tässä vaiheessa projektia keskittymällä siihen, miten sovellus toimisi mobiililaitteissa, mutta myöhemmin on varmasti järkevää toteuttaa rinnalle web-applikaatio. 4 Lopputuotos Projektin lopputuotoksen on tarkoitus olla mobiililaitteella toimiva prototyyppisovellus, jonka kautta pystyisi sijoittamaan rahaa valitsemiimme sijoituskohteisiin, tai neuvoa antava sijoitusapplikaatio. Kumpi tahansa vaihtoehdoista valitaan, sovelluksen tulee olla helppokäyttöinen ja siitä saatavien tietojen esimerkiksi tuotto-odotuksista ja riskeistä helposti ymmärrettäviä johtuen kohderyhmästä, joka on aloitteleva tai vähän kokenut sijoittaja, jolla ei ole syvää ymmärrystä sijoitusmaailmasta. Jos päädymme aiheen rajauksessa sijoitussovellukseen, emme usko että tämän kurssin puitteissa pystymme viemään sovellusta niin pitkälle, että sen kautta pystyisi käymään kauppaa oikealla rahalla kuten pörssinoteeratuilla osakkeilla. Tämän takia toteuttaisimme sovelluksen samoilla toiminnallisuuksilla kuin toteuttaisimme oikean sovelluksen, mutta oikean rahan sijaan sovelluksella voisi sijoittaa leikkirahaa. Leikkirahalla voisi ostaa ja myydä reaaliaikaisella hinnalla osakkeita ja muita valitsemiamme sijoitusinstrumentteja ja samalla seurata omaa menestystä sijoittajana. Tällöinkin antaisimme perustietoja sijoituskohteista ja niiden sisältämistä riskeistä.
Mikäli aihe rajataan koskemaan vain neuvoa antavaan applikaatioon, toteutamme muutamia sijoittamista helpottavia toiminnallisuuksia, kuten esimerkiksi automaattinen räätälöidyn salkun tuottaminen, tai oman salkun kokonaisriskin arviointi. Tämän lisäksi toteutamme sovellukseen hieman laajemmin tietoa sijoituskohteiden riskeistä ja tuotto-odotuksista. Näitä tuottaisivat reaaliaikaisesti luomamme algoritmit, joka takaisi tiedon paikkansapitävyyden ympäri vuoden. 4.1 Tekninen toteutus ja sen haasteet Sovellus toteutetaan käyttäen mahdollisimman ketteriä menetelmiä ja työkaluja. Uskomme tämän johtavan mahdollisimman joustavaan ja nopeaan protoiluun. Toteutuksen pohjalle on valittu Cordova ympäristö (HTML5, JavaScript, Angular.js) ja Ionic käyttöliittymäkirjasto. Näin ollen voimme kehittää yhtä web-pohjaista koodipohjaa, jota voidaan pyörittää sovelluksen muodossa sekä ios- että Android-puhelimilla. Tämä ratkaisu tarjoaa tulevaisuudessa myös mahdollisuuden nettisovelluksen helppoon luontiin. Myös ryhmämme esitiedot ja taidot tukevat tätä valintaa. Versionhallinnan suoritamme Aalto-yliopiston tarjoamalla GitLab-palvelulla. Suurimmaksi toteutuspuolen haasteeksi nousee luultavasti resurssien niukkuus. Jokainen tiimistämme tuo omaa osaamista projektin kehitykseen, mutta itse koodaaminen jää muutaman jäsenen harteille. Jotta pääsisimme aikataulun puitteissa mahdollisimman hyvään lopputulokseen, olemme tiimin sisällä jakaneet tehtäviä osaamisalueen mukaisesti. Tarkoituksena on luoda mahdollisimman vahva tietopohja ja useita protoaihioita, jonka pohjalta tekninen toteuttaminen helpottuu ja koodipohjaa ei tarvitse rajusti muutella projektin edetessä. Laskentaan tarvittavat matemaattiset algoritmit ja suunnitelma käyttöliittymälle luodaan protoaihioina, joka realisoituu ja yhdistyy toteutettavaksi kokonaisuudeksi koodauksen alettua. 5 Tiedonkeruu Projektissa toteutettava tiedonkeruu voidaan jakaa karkeasti kahteen osaan: sovelluksen vaatimusten selvittäminen ja ratkaisun testaaminen. Pyrimme sovelluksellamme täyttämään nykyisillä sijoitusmarkkinoilla olevan tarpeen, joten vaatimukset sovelluksellemme perustuvat nykyiseen markkinatilanteeseen sekä ihmisten toiveisiin ja turhaumiin markkinoilla. Määritellyt vaatimukset ohjaavat myöhemmin kehitetyn ratkaisun testaamista.
5.1 Markkinatutkimus 14.2. julkaisimme kyselyn, jonka tavoitteena on kartoittaa potentiaalisia asiakasryhmiä sekä näiden sijoittamiseen liittyviä motivaatioita, tarpeita ja haasteita. Kyselyyn on kirjoittamishetkellä vastannut jo yli sata ihmistä erilaisista elämäntilanteista ja taustoista. Kysely sulkeutuu 19.2. jälkeen ja sen tulokset analysoidaan seuraavan viikon aikana. Kyselyn tulosten perusteella arvioimme ennakko-oletuksiamme markkinoista ja päätämme, millaista sijoitussovellusta lähdemme kehittämään. Kysely pyrkii antamaan vastaukset erityisesti siihen, onko markkinoilla paikkaa sovellukselle sijoitustoiminnallisuudella, vai onko parempi vaihtoehto luoda ainoastaan neuvoja antava sovellus, jota käyttäjä voisi hyödyntää haluamansa palvelun kanssa. 5.2 Olemassaolevat palvelut ja kilpailutilanne Jos sovelluksen kautta on tarkoitus pystyä ostamaan ja myymään sijoituksia, on huolellisesti selvitettävä tästä aiheutuvat kulut. Nykyisten välittäjien hinnasto on melko selkeästi esillä, mutta jos näitä päädytään käyttämään, kannattaa yrittää neuvotella paremmat ehdot yhtiöiden kanssa. Pörssin hinnat taas eivät ole helposti saatavilla, on selvitettävä voiko säästöjä saada välittämällä itse sijoituksia. Olemassa olevaa tietoa kannattaa hyödyntää sovelluksen kehittämisessä. Sovelluksia testaamalla voi pohtia mitä niissä on tehty oikein, ja mikä vaatii parannusta: kaikkea ei tarvitse keksiä itse. Testaamisessa etenkin sen selvittäminen, millainen toteutus on yksinkertaista, selkeää ja toimivaa. Sovellusten testauksessa voi ilmentyä rajoitteita: niiden käyttö voi aiheuttaa kuluja tai se ei ole mahdollista koska palvelu ei ole käytössä Suomessa. Perehtymiseen kuluu myös aikaa, ja on mietittävä mikä on oikeasti hyödyllistä ajankäyttöä. On hyvä jakaa ryhmän kesken tietoa uusista mahdollisesti hyödyllisestä lähteistä. Vaikka itsellä ei olisi mahdollisuuksia perehtyä aiheeseen, tietää ehkä joku toinen jo jotain asiasta. Sijoittamisesta kertovat blogit kertovat yksittäisten sijoittamiseen perehtyneiden ihmisten ajatuksista, näistä voi ottaa vaikutteita. Eri tahojen tekemät tutkimukset voivat olla lisäapuna oman markkinatutkimuksemme tukena. Näihin voi törmätä esimerkiksi lukiessa talousuutisia.
5.3 Ratkaisun testaaminen Ketterät kehitysmetodit ja nopea prototyyppien kehittäminen antavat meille mahdollisuuden varmistaa, että sovelluksemme ei ainoastaan tarjoa miellyttävää ja intuitiivista käyttökokemusta, mutta myös vastaa markkinoilla esiintyviin tarpeisiin. Prototyyppejä testatessamme hyödynnämme käytettävyystestauksen perusmenetelmiä, kuten walkthrough-metodia ja käyttäjätestausta. Selvitämme käyttäjähaastatteluilla myös, vastaako sovelluksen tarjoama informaatio heidän tarpeisiinsa. Jos päädymme tarjoamaan sovelluksessamme mahdollisuuden saada automaattisia sijoitusehdotuksia, voimme testata ehdotusten pätevyyttä lyhyellä aikavälillä pitämällä kirjaa ehdotettujen sijoituskohteiden arvonvaihtelusta. 6 Aikataulu 6.1 Kurssiaikataulu 17.2. Työsuunnitelma 17.3. Ansaintamallin visualisointi 21.4. Käyttäjätestauksen raportointi 12.5. Grand Finale 19.5. Loppuraportti 6.2 Projektiverkko Koska jokainen kurssin projekti on erilainen, olemme luoneet projektiverkon, joka ottaa huomioon sekä kurssin aikamääreet että omasta projektistamme aiheutuvat aikamääreet. Projektiverkko tarjoaa ryhmälle selkeät raamit, milloin kukin osa projektista tulee suorittaa. Kriittinen polku kuvaa tehtäviä, joissa ei saa tulla viivästymiä. Tehtävien yläpuolella olevat numerot kuvaavat milloin kyseinen tehtävä voidaan aloittaa aikaisintaan ja lopettaa aikaisintaan. Tehtävien alapuolella on taas määritelty viimeisin mahdollinen aloitusaika ja lopetusaika. Numerot kuvaavat kalenteriviikkoja. Projektiverkko tarjoaa pohjan, jota pitkin projektimme voi edetä. On kuitenkin huomioitava, että projekti voi sisältää ylimääräisiä tehtäviä, joita ei ole määritelty projektiverkossa. Seurauksena
projektiverkossa on pyritty varaamaan aikaa jokaiseen tehtävään riittävästi, jotta lisätehtävät eivät aiheuta viivästymiä projektissa. 6.3 Projektiverkon tehtävien selitys Työsuunnitelma : Työsuunnitelma on ryhmämme yhteinen sopimus, miten tulemme etenemään projektissa Kysely (protoaihio) : Kysely, jonka avulla selvitämme kysyntää. Kysely toimii myös tärkeänä työkaluna projektimme aiheen määrittämisessä. Kyselyn analysointi suoritetaan viikolla 8. Sovelluksen sisällön suunnittelu : Määritellään mitä mahdollinen sovellus voi ylipäätänsä sisältää. Eli mitä palveluja tarjoamme Teknisten haasteiden määrittäminen : Tehtävä vastaa kysymyksiin. Miten toteutamme sovelluksen? Mitä sovelluksen koodaaminen vaatii? Kysely (asiantuntijat) : Kuluttaja kyselyn jälkeen suoritamme kyselyn, joka selvittää asiantuntijoiden mielipidettä sovelluksestamme. Asiantuntijoina toimivat professorit, sijoittajat ja yritykset. Tärkeä vaihe projektimme rajauksessa. Lopullinen aiheen rajaus : Perustuen keräämäämme tietoomme rajaamme aiheemme Benchmarking : Muiden jo markkinoilla toimivien sovellusten vertaaminen. Voiko sovelluksemme sisältää samoja ominaisuuksia? Ansaintamallin visualisointi : Miten sovelluksemme on liiketoiminallisesti kannattava? UI : Miten sovelluksemme käyttöliittymä toimii? Matemaattisen sisällön määrittäminen : Tehtävä, jossa pohdimme, mitä sijoitusneuvoja annamme perustuen matemaattisiin algoritmeihin ja kaavoihin
UX : Miten sovelluksemme käyttöliittymä toimii? R&D : Tutkimusta ja kehitystä liittyen sovellukseemme. Loppuraportin alustavaa suunnittelua ja tekemistä Sovelluksen koodaaminen : Prosessimme pisin ja haastavin vaihe. Käyttäjätestauksen raportointi : Kurssin antama tehtävä, jonka suoritamme UX:n jälkeen Testaaminen : Toimiiko sovelluksemme ja mitä pitää vielä kehittää Grand Finale : Loppuesityksemme valmistelu Loppuraportti : Projektimme loppuraportin tekeminen 6.4 Gantt-kaavio Viikko 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Työsuunnitelma Kysely (protoaihio) Sovelluksen sisältö Tekniset haasteet Kysely (asiantuntija) Lopullinen aiheen rajaus Benchmarking Ansaintamalli UI UX Matemaattinen sisältö Sovelluksen koodaaminen UX raportointi R&D Testaaminen Grand Finale Loppuraportti Gantt-kaavio tukee projektiverkkoa. Sininen väri kuvaa kriittistä polkua. Muut tehtävät on merkitty mustalla värillä. Harmaa väri kuvaa tehtävien joustoa. Gantt kaavioon on myös merkitty
kolme virstanpylvästä mustalla paksuviivalla. Virstanpylväiden avulla voimme rajoittaa projektimme neljään suurempaan kokonaisuuteen: rajaus, määrittely, toteutus ja viimeistely. 7 Työnjako Olemme tehneet ryhmässämme seuraavan työnjaon: Markus : Ryhmän johtaja Samuli: Algoritmivastaava Vihtori: Algoritmivastaava Esko: Tietotekniikkavastaava Simo: UI- ja UX-vastaava Projektin alkuvaiheessa teemme paljon yhteisesti työtä, jotta saamme aiheemme rajattua haluamaksemme. Ensimmäisen virstanpylvään jälkeen Markus, Samuli ja Vihtori alkavat selvittää liiketoimintamallia ja matemaattisia algoritmeja. Simo ja Esko siirtyvät pohtimaan käyttöliittymän ja ohjelmoinnin kysymyksiä. Vastuiden haarautuminen tapahtuu projektiverkon mukaisesti.