Building your Idea from scratch The beginner roadmap
Building your Ideafrom scratch
The beginner roadmap
2
About me
Nuno CanceloComputer Science Engineer
Technical Consultant @ CGI Portugal
facebook.com/nuno.cancel
otwitter.com/masterzdra
npt.linkedin.com/in/nunocancelo/
3
Agenda
● What is the problem?
● Before I start, what i need?
● Basic Foundations
● I have an Idea, now What?
● Designing an Idea
● Socialize
● Developing the Idea
4
What is the problem?
5
"Take the stone out of my shoe!"
Having ideas
● It's easy for some
● Quite hard for others
● Most ideas fill the need of someone
● Other ideas are just because we have it
6
"Take the stone out of my shoe!"
But, as beginners we have the same problem:
Our path is a tortuous, endless maze
7
"Take the stone out of my shoe!"
When it should be:
An pleasant and enriching journey.
8
Before I start, what i need?
9
“You must learn to crawl before You can learn to walk”
Find a way to organize your mind
Get a notebook, few pencils and eraser● Cheap● Faster handwriting● Correct with easy ● Easy with the diagrams● Can take it everywhere
10
“You must learn to crawl before You can learn to walk”
Find a way to organize your mind
Use a computer, tablet or smartphone● More readable● Already in digital form● Sharable● Easy with the diagrams● Require more focus on writing
11
“You must learn to crawl before You can learn to walk”
Find a way to organize your mind
Either way, the focus is not:● Correct spelling● The diagrams are in the correct scale
The focus is:● Keep record of the ideas, thoughts● Fulfilling the needs
12
“You must learn to crawl before You can learn to walk”
Gather people that you trust
around you.
Their opinion is precious.
13
Basic Foundations
14
“Tape Loader”
There is a huge difference between● Building the Idea● Requirement analysis
● Application Workflow
● User interaction
● Developing the Idea● Code, Services, Design Implementation
● Tests: Functionalities, User Interface
15
“Tape Loader”
We are Building the Idea
HaveThe Idea
DesignThe Idea
DocumentTheIdea
Implement TheIdea
16
“Tape Loader Error”
We should go back when● Anytime we find a miss conception
● Anytime we remember something new
● Errors are a great way to improve
Golden Rule: Don't be presumptuous
We are humans, we make mistakesLet's learn from them.
17
“Tape Loader Error”
We are Building the Idea
HaveThe Idea
DesignThe Idea
DocumentTheIdea
Implement TheIdea
We can Walk from and to Anywhere
18
“Friends Will be Friends”
You may work alone
But, your best work is the
result of listening others
Organize Brainstorm
sessions
19
I have an Idea, now What?
20
“No strings attached”
Now ....
WRITE ITFast.
What are you waiting for???Great ideas have been gone in a split of a
second.
21
“No strings attached”
Write the propose of that ideaA short paragraph with the description, what you intend
Later you can revisited and understand it or complete it
22
“No strings attached”
Name the functionalitiesShort sentence. Ex: send email. Share status. End game
Again, Later you can revisited and understand it or complete it
23
“No strings attached”
Name the requirementsConcise sentence. Ex: need internet access (to send email)
Again, Later you can revisited and understand it or complete it
24
“No strings attached”
Write it all down.Does not matter if:● Possible● Reasonable● Needed
Only thing that matter is
WRITING IT DOWN
25
Set a pretty face
Time for your Picasso moment!
Had enough Writing?
26
Set a pretty face
No, you will not gonna draw.
But you will identify which User Interfaces you'll have
27
Set a pretty face
Identify the User Interfaces● Name it● Describe the propose● Describe the usage
Create a Sketch● How should look like
28
Designing an Idea
29
Set a pretty face
Designing is an Art
Doing it right once
Apply it several
30
Set a pretty face
Designing is saying
What it does
Why it does
How it does
31
Be a user before being a developer
From the all requirements and functionalities list, Write a usage board
Identifying your design
32
Be a user before being a developer
What it does● Name the function or requirement
How it does● Describe the usage, the procedures
Why it does● Identify the user role● Identify the goal● Identify the need
33
Be a user before being a developer
What it does● Enter the login page
How it does● I enter my username in the “username text
box”● I enter my password in the “password text box”● I click the “Ok button”● The System validate my credentials● If valid, let me into the application● If fail, show me a error message
Example:
Why it does● As a User● I want to enter my credentials● So i can enter the application
34
Cycles are good
Cycles define Life.
Life of the application
Life of the process
Life of the system
Life is Time and Time is Money
35
Cycles are good
Life of the user interface
GUI 1
GUI 2
GUI 3
GUI 4
Navigation Graph
36
Cycles are good
Life of the Action
37
Cycles are good
There are more diagramsTo keep in mind
Activity diagram
State diagram
38
Preparing the meal
Important stepBy now we have● Identify how the Idea relates● Their cycles● Their element
Now we identify● The entities● Apply patterns● Pack up the workspaces
39
Preparing the meal
And apply a multi-layer
Architecture
40
Decisions, Decisions, Decisions
● Choose target architecture● Choose platform● Choose programming language● Choose database
Make Decisions now
Or you regret later
41
Socialize
42
Be Social
Your Idea is to be used
Promote● Create a page● Create Social Links● Engage People● Ask for beta testers● Choose you License● Documentation
● Create Repositories● Bug report● Issues report● Translate services● Code fork● Wiki● FAQ
43
Developing the Idea
44
Are you a Developer or a Code Writer?
●Unity tests●Functionality tests●Mock tests●Version Control Repository●Backups
Time to start coding
Whenever you needASK FOR HELP
45
Road-Map
Inception
Design
Develop
Deploy
46
References
ICONShttp://www.iconarchive.com● Iconset: Windows 8 Metro Icons by dAKirby30● Iconset: Simple Icons by Dan Leech● Iconset: Oxygen Icons by Oxygen Teamhttp://office.microsoft.com/en-us/images/
Inception && Designhttp://www.allaboutagile.com/http://www-01.ibm.com/software/rational/rup/http://epf.eclipse.org/wikis/openup/
Licensinghttp://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.htmlhttp://www.techrepublic.com/blog/web-designer/choosing-an-open-source-software-license-for-your-development-project/http://choosealicense.com
47
Questions