📺 Develpreneur YouTube Episode

Video + transcript

Building Software - Part 2

2022-07-26 •Youtube

Detailed Notes

Welcome to another edition of Develpreneur. In this presentation, we are gonna be talking about software development. What goes into building software. Instead of this being just a run-of-the-mill discussion on SDLC, we will flip it on its head and take a different approach to software development. Previously, we have talked about things like software development SDLC, we've talked about software test life cycle, and we've given you the benchmark or textbook descriptions on these particular topics. Now let us talk about building software from an application perspective, building a new application from scratch.

What Goes Into Building Software..., It all begins with an idea.

Our journey will take us through software development or software development as a whole, from the perspective of a business. A lot of application ideas come from a round table discussion about an idea, need, or service that the business wants to solve with software.

Common Questions Asked During Round Table Discussion:

What is the problem we want to solve? How can we solve this problem with the software? Is this something we can automate? Where will this solution have the most impact? What type of application should we develop? Overview of What Goes Into Building Software

We will cover what is our problem? Start with the problem. Break down the problem. We're gonna design an application. We're going to talk about building a prototype application we're then going to briefly cover how to test our application and then go into deploying the application. And then finally at the end of the cycle, handing off the project to the customer and what are the next steps?

Transcript Text
[Music]
so if we've done all of our due
diligence we've gone through all the
different phases we've worked out the
kinks in our software what do we need to
do to prepare for launch you know what
do we need to do to push that button so
that our software now goes live
well you need to look at
what it is required for us to actually
go from our development environment to
production is this going to be a
cloud-based deployment you know are we
going to push the button and release our
software to aws or
kubernetes or some other type of web or
cloud-based solutions
do we need to write deploy scripts do we
need to script something out so that
it's just a button we push the button
and we have that continuous integration
that continuous building and deploying
of our applications say through like
bitbucket
is there any other type of coordination
or integration that needs to be done
before you can push the button by that i
mean do we need to set up any user
accounts so that once we go live people
can log into this particular application
do we need to do some type of alpha or
beta run of the software kind of do a
pre-launch or soft launch with the
customers before we go live
is there any type of data that needs to
be added to the system before launch so
at this point right before we go live as
we're pursuing everything to the cloud
or to our production environment
is there any types of data scripts that
we need to load to set up the
application for use
so these are some of the questions and
things you need to look for here so when
dealing with our classroom app so we
potentially want to do something like a
soft one so we would probably get a
handful of users together
have a couple people go in as
instructors set them up set up some
classes and then have a couple students
mock students come in and actually try
to use the application in a production
environment so you do kind of a smoke
testing in production
if all that goes well then you do an
official launch of your software and
things are good
so after you push that button
we then do what we call a handoff or
where do we go from here
so the handoff is once the final project
is delivered
it meets you want to meet with the
customer to present the final product
this is where we discuss
any issues that were essentially found
at the end of the launch any particular
issues with the software that was not
caught through the entire process
or possibly some issues that might be
found from a user's perspective in ways
in which the software is being used that
was not initially anticipated or
as far as the end user that they're
using in a way that the software allows
them to use it for but was not what it
was intended for so do we have some bugs
that we need to fix or functionality
changes that need to be made
so again here we also sit down and talk
with how to deal with any
additional
features or issues that come up from the
customer
now if this is an internal product like
this uh classroom application so at this
point once we go live and once we have
everything ready so where do we want to
go from there so here we want to take
that classroom application and we want
to promote it we want to start building
out our a boot camp idea or classroom
idea and then we deploy it to our
website and then we start marketing so
the handoff could be to a customer or
the handoff could essentially be to
another department within the company
for instance marketing so once the
project is out there it's shipped now we
need to kind of go through that
marketing blitz for that campaign to get
the product to market so that we
actually get it out there we're you know
presenting it to everyone and everyone's
happy and
we then start getting calls on the
software so
when you get ready for the handoff and
we're live you also need to make sure
that we deal with things like customer
support so we may need to hire some
additional resources based on the number
of calls coming in now with customer
support it could be two full
one you might need a customer support
page in order to support a larger base
customer base if this is say like
walmart or amazon where you have a large
feature face to a lot of different
people
it could be as simple as you create a
web portal or a some type of portal into
your site where customers could come in
and report uh feature requests or bug
fits or bugs that they're encountering
with the software
so in that particular case you can then
go through and triage uh you know on a
weekly daily or quarterly basis what
features you want to add or fix within
your application
if this is
a
piece of software you've written for a
specific customer so you are essentially
the development house and you are
delivering the software to a
organization or an individual then at
that point
once you hand it off you might get some
additional feature requests or sign up
on the product and you get paid
so let me take a moment there and open
this up for discussion
i know it kind of went through this a
little quickly but i wanted to save a
lot of this for the q a
so michael what is the most scary thing
about
starting a new project
so one of the big things with project
development or really any type of
software development is
do we have enough requirements to write
the software
so
from a new project perspective
there's always that unknown
uh you might spend weeks days or years
designing a particular application and
the problem is depending upon the time
it takes you to come up with the concept
and the idea
a couple things could happen one if
you're very quick to market and you're
like bleeding edge cutting edge
the
then you're you're basically going to
have to figure out how to build the
tools to get your product to market
if you are building something that
is using already existing technologies
then you run
um the gambit of okay cool i can build
something i have all these tools and
features out here i can use but what you
potentially run into is okay now am i in
a market where there is a lot of
competition
and
is someone going to come steal my
feature or am i going to build a feature
that is going to be useful enough for
someone to leave another product and
come use mine
and then you have the
final risk where if you are taking so
long to get to market you do so much
time prepping and preparing
uh your requirements to build your
product
did you miss your chance has someone
else already beat you to the market and
are you basically now building something
that no one's gonna want
i i know you talked about test test test
in your presentation is like okay you
okay you have this new product or new
project you've worked on
so when you say like you know what this
project uh project has been tested
or what percentage do you have to start
to have to say like okay now i feel like
i can sell this product let me say to
the uh team or all the end users are
like okay you can begin using this
new project
again that kind of depends on the
application and it could also depend on
the software shop so if you are a really
good agile shop
and this is a brand new application one
of the things you could do early on in
the agile process
is
come up with some quick
requirements some quick design choices
at the beginning
prototype it out get something out there
that may have one or two features now
with the example the classroom
application
you're going to need to have at least
some core functionality in place you
can't kind of skip
the whole classroom idea
however if you want to introduce the
classroom idea or maybe release like a
presentation type software where you can
have a instructor that can
uh post or host a
class and then you could have people log
into the class so that could be one area
where you could kind of get to market
quickly
uh without building out the whole
classroom idea so you have this concept
where okay i'm an instructor i can start
up a presentation and then i can send
links out to people and they can join
into my uh my my lecture
well that could be like
quick to market phase one and then phase
two okay now i start building that
dashboard right or i build a
uh like a workbook for the student so
the instructor could post some
assignments and the students could come
work so you could do it in a phased
approach so that's one of the things you
got to be careful of
when you're trying to build something
new can you get something to market
quickly enough with enough features that
people are going to be interested
and then as you slowly roll out the
application
are you going to keep their interest are
you going to build the product that you
want for the for the community
one of the uh interesting ways if you do
it this way is
your initial idea your initial roadmap
for your application
might
change based on the community that
you're servicing so your initial
thoughts for your end customer might not
be the direction that the software ends
up going
however you do have to be careful with
that because if you go down
the path of following the community you
might end up with a lot of scope creep
so if you do
listen to the community and you do build
features based on the community response
you need to be mindful that what you're
building is still structured enough and
tiered enough that you're doing things
in a nice organized way that you can do
that continuous development so that you
don't end up in scope creep and
basically
uh
one new feature doesn't take months to
come out and say maybe it can take a
couple weeks to come out
oh cool man thanks michael
oh no problem and that actually brought
up a thought so one of the applications
or games that i've played over the last
few years that kind of really fits into
this model is pokemon go
so it it may sound weird but when the
game first came out so they had promised
all these features within this uh
application that they were going to
build for the pokemon community which
was okay you can go catch your pokemon
you're gonna be able to battle with your
friends you can battle uh you know gym
leaders you can battle team rocket well
when the application came out day one
for launch
all you could do was basically go out
and catch pokemon there was no other
functionality in the game you couldn't
even uh take pictures of your pokemon it
was just simply here's google maps
you're
got a little skin you can walk around in
the world you see pokemon pop up and
then you try to catch them that was it
so they over promised and under deliver
however they made so much money on just
that basic implementation that they
delivered that they were able over the
course of five years to build an
application that met their initial
target
requirements
and they built a community around their
application that continues to grow today
so that's one way
to think about looking at your
application
now in uh
take that same model and flip it they
came out with another
mobile application for harry potter uh
wizards unite that completely flopped
similar concept similar premise
different genre
they just could not get it to take off
it just was
basically they missed their mark the the
application itself did not meet the
expectations of the customer and because
of that after a couple years that
application is basically dead it has
almost no development whatsoever and
ensure the servers are still alive
so those are kind of two examples one of
how you can kind of quickly get to
market
unfortunately you over promise under
deliver whereas another one you
basically deliver something that was
promised but ended up being something no
one wanted
good questions
no but that's a good little
follow-up is the
which sort of goes into dave's question
too is it's it is always the thing that
sort of that balance of
do we
now we've talked about this a lot
actually do we you know shoot for 100
or
and wait longer or
do we
cut some corners and push this thing out
yeah it goes back to you know lots of
discussions we've had about code
coverage and things like that but
you know sometimes it's
uh it's also it's not the
amount of bugs it's just which bugs you
know it's it's
you're gonna have like those two games
are examples where you have stuff where
it's
if you've got something that's pretty
new or in an environment that's that's
changing or challenging then you're
going to have issues it's just sort of
nature of the business
but
if you can solve a couple of the big
problems and do those consistently
and not take off your users then you've
got a lot better chance for success it
actually sort of buys you time then to
come back and then
get the smaller details
exactly and
that's kind of why i wanted to do this
presentation to begin with because i
wanted us to kind of revisit
the whole software development life
cycle that software test life cycle but
from a higher level like take a step
back and look at it from the
not just the customer level but also
look at it from the development the
business model you know how are we
actually looking at the whole
development process
very good
all right so let's quickly recap so in
today's presentation we walked through
kind of the whole software development
process from the business level we
started out with talking about a problem
in our particular case you know building
a classroom or course application we
talked about different ways of breaking
down the problem looking at roles uh
who's going to use the application what
type of features you want in the
application you know what type of
frameworks and architectures do you want
to need databases
to different components
so by breaking down the problem into
smaller pieces it allows us to
kind of pick and choose the different
features that we want to roll out in our
application quickly
we then talked about designing the
application kind of doing those
storyboarding the wireframes of the
application can i get the look and feel
of the application before we actually go
out and start building
because if we do this first and we do it
right when we get to the prototype phase
actually writing the application putting
it together we should hopefully reduce a
lot of that overhead a lot of that scope
creep and keep our costs low and get the
product to market quickly
we then also talked about testing and
how that we need to go through and
actually test the application not just
from the user endpoint but test
different things like integration use
different types of testing tools making
sure that things work
so as long as the application works
then we can move into the last the next
two stages which is okay once the
application is done once ready to
deliver we deploy the application we
push that red button we launch the
application
and then the software goes live
and then once everything is out there
once we start um fixing some of the bugs
that are reported by the customer we
talked about the handoff and next steps
where we either deliver the software to
the end user
if we're our own customer or our own
producer we could deploy our application
to the app stores and then our customers
could start downloading our apps
and then what kind of you know what's
the next step what type of features do
we need to start including after this
you know what type of additional support
do we need if we start getting a lot of
calls because there's potential problems
or potential features requests you know
do we need to start a marketing campaign
to start promoting our application
so these are the
overall steps that we go through during
the process of software development
and as always i'd like to thank you all
for your time
and we appreciate you joining us and if
you want to discuss any of our topics
further not just software development
but anything from our website you can
send us questions comments or
suggestions through any of these uh
areas we are on email info development
dot com you can reach us on our website
we have a contact us page we're on
twitter at developer nur we are on
facebook at
facebook.comdeveloperner and if you'd
like to check out any of our other
videos and podcasts you can check us out
on developer.com
our videos are also on vimeo.com
developerner and you can find us on
youtube if you go to youtube and in the
youtube search type developer
our goal is making every developer
better have a wonderful day
[Music]
you
Transcript Segments
0.43

[Music]

27.84

so if we've done all of our due

29.76

diligence we've gone through all the

31.519

different phases we've worked out the

33.6

kinks in our software what do we need to

36

do to prepare for launch you know what

37.84

do we need to do to push that button so

40.8

that our software now goes live

43.68

well you need to look at

45.6

what it is required for us to actually

47.84

go from our development environment to

50.64

production is this going to be a

52.96

cloud-based deployment you know are we

54.8

going to push the button and release our

56.48

software to aws or

59.039

kubernetes or some other type of web or

62.559

cloud-based solutions

64.32

do we need to write deploy scripts do we

66.4

need to script something out so that

68.159

it's just a button we push the button

70.72

and we have that continuous integration

72.4

that continuous building and deploying

74.56

of our applications say through like

76.479

bitbucket

78.32

is there any other type of coordination

81.2

or integration that needs to be done

83.52

before you can push the button by that i

85.92

mean do we need to set up any user

88.479

accounts so that once we go live people

90.479

can log into this particular application

93.68

do we need to do some type of alpha or

95.759

beta run of the software kind of do a

98.159

pre-launch or soft launch with the

100

customers before we go live

102.96

is there any type of data that needs to

105.439

be added to the system before launch so

108.159

at this point right before we go live as

110.24

we're pursuing everything to the cloud

112.399

or to our production environment

114.479

is there any types of data scripts that

116.719

we need to load to set up the

118.479

application for use

120.32

so these are some of the questions and

121.759

things you need to look for here so when

123.84

dealing with our classroom app so we

127.28

potentially want to do something like a

129.28

soft one so we would probably get a

131.92

handful of users together

133.92

have a couple people go in as

135.92

instructors set them up set up some

138.48

classes and then have a couple students

141.12

mock students come in and actually try

143.2

to use the application in a production

145.599

environment so you do kind of a smoke

147.44

testing in production

149.2

if all that goes well then you do an

151.44

official launch of your software and

153.92

things are good

155.519

so after you push that button

157.68

we then do what we call a handoff or

160.959

where do we go from here

162.72

so the handoff is once the final project

166.48

is delivered

167.92

it meets you want to meet with the

170

customer to present the final product

172.239

this is where we discuss

174.239

any issues that were essentially found

177.76

at the end of the launch any particular

180.8

issues with the software that was not

182.48

caught through the entire process

184.64

or possibly some issues that might be

186.959

found from a user's perspective in ways

190.159

in which the software is being used that

192.239

was not initially anticipated or

197.28

as far as the end user that they're

199.04

using in a way that the software allows

201.12

them to use it for but was not what it

203.04

was intended for so do we have some bugs

204.959

that we need to fix or functionality

207.2

changes that need to be made

209.44

so again here we also sit down and talk

211.84

with how to deal with any

213.76

additional

215.2

features or issues that come up from the

218.08

customer

219.68

now if this is an internal product like

221.92

this uh classroom application so at this

224.879

point once we go live and once we have

227.44

everything ready so where do we want to

229.519

go from there so here we want to take

231.28

that classroom application and we want

233.519

to promote it we want to start building

236.319

out our a boot camp idea or classroom

238.72

idea and then we deploy it to our

240.64

website and then we start marketing so

243.36

the handoff could be to a customer or

246.56

the handoff could essentially be to

248.48

another department within the company

250.159

for instance marketing so once the

252.4

project is out there it's shipped now we

255.2

need to kind of go through that

256.4

marketing blitz for that campaign to get

258.32

the product to market so that we

260.079

actually get it out there we're you know

262.24

presenting it to everyone and everyone's

264.96

happy and

267.12

we then start getting calls on the

269.759

software so

271.28

when you get ready for the handoff and

273.04

we're live you also need to make sure

275.04

that we deal with things like customer

276.639

support so we may need to hire some

278.32

additional resources based on the number

280.24

of calls coming in now with customer

283.04

support it could be two full

284.96

one you might need a customer support

287.52

page in order to support a larger base

290.56

customer base if this is say like

292.96

walmart or amazon where you have a large

295.52

feature face to a lot of different

297.12

people

298.4

it could be as simple as you create a

301.44

web portal or a some type of portal into

304

your site where customers could come in

306.479

and report uh feature requests or bug

309.68

fits or bugs that they're encountering

311.759

with the software

313.12

so in that particular case you can then

315.039

go through and triage uh you know on a

317.52

weekly daily or quarterly basis what

320.16

features you want to add or fix within

322

your application

324.24

if this is

325.44

a

326.24

piece of software you've written for a

328.32

specific customer so you are essentially

331.44

the development house and you are

333.28

delivering the software to a

335.919

organization or an individual then at

338.56

that point

339.68

once you hand it off you might get some

341.84

additional feature requests or sign up

344.4

on the product and you get paid

346.96

so let me take a moment there and open

348.56

this up for discussion

350.24

i know it kind of went through this a

351.6

little quickly but i wanted to save a

353.919

lot of this for the q a

356.479

so michael what is the most scary thing

358.319

about

359.44

starting a new project

363.199

so one of the big things with project

365.36

development or really any type of

367.68

software development is

370.319

do we have enough requirements to write

372.319

the software

374

so

375.68

from a new project perspective

378.08

there's always that unknown

380.639

uh you might spend weeks days or years

384.56

designing a particular application and

387.28

the problem is depending upon the time

389.919

it takes you to come up with the concept

392

and the idea

394.24

a couple things could happen one if

396

you're very quick to market and you're

397.84

like bleeding edge cutting edge

399.919

the

400.8

then you're you're basically going to

402.4

have to figure out how to build the

404.24

tools to get your product to market

407.199

if you are building something that

409.52

is using already existing technologies

412.72

then you run

414.16

um the gambit of okay cool i can build

417.28

something i have all these tools and

419.28

features out here i can use but what you

421.759

potentially run into is okay now am i in

424.88

a market where there is a lot of

426.4

competition

427.919

and

429.44

is someone going to come steal my

430.96

feature or am i going to build a feature

433.599

that is going to be useful enough for

435.84

someone to leave another product and

437.52

come use mine

439.44

and then you have the

441.12

final risk where if you are taking so

443.919

long to get to market you do so much

446.08

time prepping and preparing

448.4

uh your requirements to build your

450.479

product

451.52

did you miss your chance has someone

453.599

else already beat you to the market and

455.759

are you basically now building something

457.36

that no one's gonna want

460.4

i i know you talked about test test test

462.72

in your presentation is like okay you

465.52

okay you have this new product or new

467.52

project you've worked on

469.36

so when you say like you know what this

471.52

project uh project has been tested

473.919

or what percentage do you have to start

476.08

to have to say like okay now i feel like

478.8

i can sell this product let me say to

480.639

the uh team or all the end users are

483.28

like okay you can begin using this

485.52

new project

487.52

again that kind of depends on the

490.56

application and it could also depend on

492.72

the software shop so if you are a really

496.08

good agile shop

498.4

and this is a brand new application one

500.4

of the things you could do early on in

502.72

the agile process

504.56

is

505.44

come up with some quick

507.36

requirements some quick design choices

509.52

at the beginning

510.8

prototype it out get something out there

514

that may have one or two features now

517.2

with the example the classroom

518.56

application

519.68

you're going to need to have at least

521.519

some core functionality in place you

523.76

can't kind of skip

526

the whole classroom idea

528.24

however if you want to introduce the

531.44

classroom idea or maybe release like a

534.959

presentation type software where you can

537.12

have a instructor that can

540.32

uh post or host a

542.88

class and then you could have people log

545.12

into the class so that could be one area

548.24

where you could kind of get to market

549.68

quickly

550.72

uh without building out the whole

552.16

classroom idea so you have this concept

554.399

where okay i'm an instructor i can start

557.2

up a presentation and then i can send

559.279

links out to people and they can join

561.2

into my uh my my lecture

564.16

well that could be like

565.68

quick to market phase one and then phase

567.76

two okay now i start building that

569.519

dashboard right or i build a

572.24

uh like a workbook for the student so

574.48

the instructor could post some

576.32

assignments and the students could come

577.92

work so you could do it in a phased

579.92

approach so that's one of the things you

581.92

got to be careful of

583.839

when you're trying to build something

585.279

new can you get something to market

587.839

quickly enough with enough features that

591.12

people are going to be interested

593.12

and then as you slowly roll out the

595.2

application

596.399

are you going to keep their interest are

597.839

you going to build the product that you

600.08

want for the for the community

602.72

one of the uh interesting ways if you do

606.399

it this way is

608.56

your initial idea your initial roadmap

611.12

for your application

613.68

might

614.48

change based on the community that

616.8

you're servicing so your initial

618.88

thoughts for your end customer might not

621.2

be the direction that the software ends

622.959

up going

624.24

however you do have to be careful with

625.76

that because if you go down

628.16

the path of following the community you

630.399

might end up with a lot of scope creep

632.72

so if you do

634.56

listen to the community and you do build

636.32

features based on the community response

638.64

you need to be mindful that what you're

640.48

building is still structured enough and

642.8

tiered enough that you're doing things

645.519

in a nice organized way that you can do

647.68

that continuous development so that you

649.2

don't end up in scope creep and

650.72

basically

651.76

uh

652.64

one new feature doesn't take months to

654.72

come out and say maybe it can take a

656.48

couple weeks to come out

659.12

oh cool man thanks michael

661.44

oh no problem and that actually brought

663.6

up a thought so one of the applications

665.839

or games that i've played over the last

667.76

few years that kind of really fits into

670.16

this model is pokemon go

673.12

so it it may sound weird but when the

675.92

game first came out so they had promised

679.12

all these features within this uh

681.44

application that they were going to

682.56

build for the pokemon community which

684.72

was okay you can go catch your pokemon

687.68

you're gonna be able to battle with your

689.12

friends you can battle uh you know gym

691.44

leaders you can battle team rocket well

694.079

when the application came out day one

695.92

for launch

697.279

all you could do was basically go out

699.68

and catch pokemon there was no other

701.92

functionality in the game you couldn't

703.839

even uh take pictures of your pokemon it

706.32

was just simply here's google maps

708.72

you're

709.6

got a little skin you can walk around in

711.92

the world you see pokemon pop up and

714.24

then you try to catch them that was it

716.8

so they over promised and under deliver

720.399

however they made so much money on just

723.6

that basic implementation that they

725.76

delivered that they were able over the

727.68

course of five years to build an

730

application that met their initial

732.8

target

733.76

requirements

735.04

and they built a community around their

737.76

application that continues to grow today

740.72

so that's one way

742.639

to think about looking at your

744.16

application

745.44

now in uh

747.44

take that same model and flip it they

750.079

came out with another

752.079

mobile application for harry potter uh

755.6

wizards unite that completely flopped

759.76

similar concept similar premise

762.72

different genre

766.079

they just could not get it to take off

768.32

it just was

770.079

basically they missed their mark the the

772.8

application itself did not meet the

775.6

expectations of the customer and because

778.48

of that after a couple years that

780.639

application is basically dead it has

782.8

almost no development whatsoever and

785.2

ensure the servers are still alive

787.68

so those are kind of two examples one of

791.04

how you can kind of quickly get to

792.399

market

794.079

unfortunately you over promise under

795.68

deliver whereas another one you

798.88

basically deliver something that was

800.72

promised but ended up being something no

803.2

one wanted

805.279

good questions

807.44

no but that's a good little

809.36

follow-up is the

813.2

which sort of goes into dave's question

814.8

too is it's it is always the thing that

816.88

sort of that balance of

819.44

do we

820.88

now we've talked about this a lot

822

actually do we you know shoot for 100

824.72

or

825.519

and wait longer or

828.56

do we

830.88

cut some corners and push this thing out

833.6

yeah it goes back to you know lots of

835.44

discussions we've had about code

836.56

coverage and things like that but

839.04

you know sometimes it's

841.04

uh it's also it's not the

843.04

amount of bugs it's just which bugs you

845.36

know it's it's

846.8

you're gonna have like those two games

848.399

are examples where you have stuff where

849.92

it's

851.04

if you've got something that's pretty

852.8

new or in an environment that's that's

855.36

changing or challenging then you're

856.959

going to have issues it's just sort of

859.519

nature of the business

861.44

but

862.32

if you can solve a couple of the big

864.399

problems and do those consistently

867.839

and not take off your users then you've

870.16

got a lot better chance for success it

872.079

actually sort of buys you time then to

873.519

come back and then

875.04

get the smaller details

878.32

exactly and

880.079

that's kind of why i wanted to do this

881.839

presentation to begin with because i

883.519

wanted us to kind of revisit

886.8

the whole software development life

888.24

cycle that software test life cycle but

890.8

from a higher level like take a step

893.36

back and look at it from the

895.76

not just the customer level but also

898

look at it from the development the

900.16

business model you know how are we

902.639

actually looking at the whole

904.48

development process

906.959

very good

908.72

all right so let's quickly recap so in

911.44

today's presentation we walked through

913.92

kind of the whole software development

915.6

process from the business level we

917.519

started out with talking about a problem

920.399

in our particular case you know building

922.399

a classroom or course application we

926.24

talked about different ways of breaking

927.76

down the problem looking at roles uh

930.399

who's going to use the application what

932.16

type of features you want in the

934

application you know what type of

936.8

frameworks and architectures do you want

938.56

to need databases

940.399

to different components

942.959

so by breaking down the problem into

944.72

smaller pieces it allows us to

948

kind of pick and choose the different

949.759

features that we want to roll out in our

951.44

application quickly

953.12

we then talked about designing the

954.639

application kind of doing those

956.24

storyboarding the wireframes of the

959.04

application can i get the look and feel

961.12

of the application before we actually go

963.279

out and start building

964.8

because if we do this first and we do it

966.959

right when we get to the prototype phase

969.839

actually writing the application putting

971.759

it together we should hopefully reduce a

974.639

lot of that overhead a lot of that scope

976.48

creep and keep our costs low and get the

978.88

product to market quickly

981.199

we then also talked about testing and

984.24

how that we need to go through and

986

actually test the application not just

987.839

from the user endpoint but test

989.68

different things like integration use

991.36

different types of testing tools making

993.44

sure that things work

995.519

so as long as the application works

998.56

then we can move into the last the next

1001.44

two stages which is okay once the

1003.68

application is done once ready to

1006.079

deliver we deploy the application we

1008.32

push that red button we launch the

1010.959

application

1012.24

and then the software goes live

1014.48

and then once everything is out there

1016.56

once we start um fixing some of the bugs

1018.959

that are reported by the customer we

1020.639

talked about the handoff and next steps

1023.12

where we either deliver the software to

1025.36

the end user

1027.52

if we're our own customer or our own

1030.799

producer we could deploy our application

1033.28

to the app stores and then our customers

1036.319

could start downloading our apps

1038.64

and then what kind of you know what's

1040.72

the next step what type of features do

1042.48

we need to start including after this

1044.24

you know what type of additional support

1046

do we need if we start getting a lot of

1047.76

calls because there's potential problems

1049.919

or potential features requests you know

1052.24

do we need to start a marketing campaign

1054.08

to start promoting our application

1056.32

so these are the

1058.16

overall steps that we go through during

1060.72

the process of software development

1063.84

and as always i'd like to thank you all

1065.919

for your time

1067.2

and we appreciate you joining us and if

1070.16

you want to discuss any of our topics

1072.16

further not just software development

1074.16

but anything from our website you can

1076.559

send us questions comments or

1078.08

suggestions through any of these uh

1080.88

areas we are on email info development

1084.32

dot com you can reach us on our website

1086.64

we have a contact us page we're on

1088.64

twitter at developer nur we are on

1091.12

facebook at

1092.84

facebook.comdeveloperner and if you'd

1094.48

like to check out any of our other

1095.84

videos and podcasts you can check us out

1098.32

on developer.com

1100.32

our videos are also on vimeo.com

1102.72

developerner and you can find us on

1104.96

youtube if you go to youtube and in the

1107.28

youtube search type developer

1110

our goal is making every developer

1111.6

better have a wonderful day

1115.32

[Music]

1129.919

you