DEVELOPMENT LIFECYCLE From Requirement to Release

crookpatedspongySoftware and s/w Development

Dec 2, 2013 (3 years and 9 months ago)

60 views

UX Update Meet i ng

20 Apr i l 2011

DEVELOPMENT LIFECYCLE

From Requirement to
Release

Julie
Meloni

Lead Technologist/Architect

Online
Library
Environment,
UVa

Library

jcmeloni@virginia.edu // @
jcmeloni



Functional requirements define the functionality of the
system, in terms of inputs, behaviors, outputs.


What is the system supposed to accomplish?



Functional requirements come from stakeholders (users), not
(necessarily) developers.


stakeholder
request
-
> feature
-
> use case
-
> business
rule



Developers can/should/will help stakeholders work through
functional requirements.


Functional requirements should be written in a non
-
technical way.

FUNCTIONAL REQUIREMENTS


Example functionality:
representati on
and mani pul ati on of
hi erarchy



Description:

The GUI shoul d
al l ow users to vi ew and i nteract wi th
hi erarchi cal structures representi ng the i ntel l ectual arrangement
and the ori gi nal arrangement of fi l es and di rectori es wi thi n
i ngested accessi ons.
For
each component l evel i n the i ntel l ectual
arrangement, the user i nterface shoul d present associ ated
di gi tal
assets
and an i nterface to vi ew and edi t descri pti ve
metadata
el ements.



Specific Components
: col l apse
and expand record nodes for
vi ewi ng (appl i es to both the ori gi nal i ngest and the i ntel l ectual
arrangement
), add
new chi l d
record, add
new si bl i ng
record, copy
al l or part of the
exi sti ng
structure to the i ntel l ectual
arrangement, del ete
a record i n i ntel l ectual
arrangement.

EXAMPLE FUNCTIONAL REQUIREMENT


An epic is a long story that can be broken into smaller stories.



It is a narrative; it describes interactions between people and
a system


WHO the actors are


WHAT the actors are trying to accomplish


The OUTPUT at the end



Narrative should:


Be chronological


Be complete (the who, what, AND the why)


NOT reference specific software or other tools


NOT describe a user interface

WRITING USE CASES (OR EPICS)


Stori es are the pi eces of an epi c that begi n to get to the heart of
the matter.



Sti l l wri tten i n non
-
techni cal l anguage, but move toward a
techni cal structure.



Gi ven/When/Then scenari os


GIVEN the system is in a known state WHEN an action is performed THEN
these outcomes should exist


EXAMPLE:


GIVEN one
thing


AND an
other thing


AND yet
an other thing


WHEN I
open my eyes


THEN I
see something


But
I don't see something else

WRITING STORIES


Scenario
: User
attempting to add an object


GIVEN
I
am logged in



AND
I have selected the “add” form


AND
I
am attempting to upload a
file


WHEN

I invoke
the file upload
button


THEN

validate file type on client side


AND return
alert message if
not valid


AND continue if is valid


THEN validate file type on server side


AND return alert message if not valid


AND finish process if is valid

ACTUAL EXAMPLE


Developers involved at the story level


Writing stories


Validating stories


Throwing rocks at stories


Getting at the real nitty
-
gritty of the task request



Moving from story to actual code


Stories written in step definitions become Ruby code


Tests are part of this code


Code is tested from the time it is written


WRITING CODE


So, the butterfly effect…


When one change in a complex system has large effects elsewhere,
through a sensitive
dependence on initial
conditions.



Epics and stories do not have to be golden, but changes
should be carefully considered


Developers illuminate the potential effects of changes


The cycle of epic, story, coding begins again


This includes any story that touches the changed story



NEVER STOP COMMUNICATING


We don’t ever think we’re finished when we release a product



Each release has with a list of known issues and potential
areas of improvement



We go through the cycle of epic, story, coding/testing, user
testing, story editing, coding/testing, (
etc
) again and again.



Products are organic and grow upward and outward


…but if you want to lop off part of that tree, expect there will be
systematic changes



Developers are there to ensure the tree doesn’t fall on your
house.

RELEASING