Share
Embed
Transcript
23 slides
-
8/13/13% 1% The$Agile$BA$ Ken Howard [email protected] 972.467.3001 You%have%been%asked%to%build%an%auto% insurance%claims%handling%system.% Where$are$the$requirements?$
Yourself) Product)Owner) Claims)adjusters) Other)SME’s) Execu<ves) Customers) The$goal:$ Target% So=ware% System% Knowledge% Skills% ExperCse% Strategy% CreaCvity% As$few$steps$ as$possible!$ Why?% -
8/13/13% 6% What%if%it’s% night?% Raining?% Foggy?% Eclipse?% Have$ ConversaDons!$ As%a%<business%role>%
I%will%<do%some%business% funcCon>% So%that%<business%value>% TIP:%Treat%a%user%story%as%an%abstrac<on.%%%%% % Somewhere%beneath%it%are%the%details%% of%the%“thing”%being%created.% -
8/13/13% 8% Draw%them?% Perform%them?% Knowledge$ How$do$we$best:$ [ Communicate?$ [ Learn?$
[ Understanad?$ [ Retain?$ Most$BA’s$know$they$must:$ Solicit%requirements% Capture%requirements% Record%requirements% Organize%requirements% Elaborate%requirements% -
8/13/13% 9% BA’s$should$also$:$ Be%stewards%of%the%backlog% Embrace%requirements%changes% Eliminate%ambiguity% Help%others%understand%requirements% % User%% Story%
Domain%% Model% Use%% Case% [% Epic% D E T A I L low$ high$ % % % Tests% Data% Maps% % % Other% Models% Story% Boards% Data% DefiniCons% % Biz% Rules% “A%reminder%to% have%a% conversaCon”% Detailed% Requirements% SpecificaCons% When)are)wri@en)) details)needed?) ) How)many)of)these) are)useful?) Where%is%Complexity%Found?% Just%about%everywhere.%%In%just%about%everything.% DemysCfying%Complex%Things% Ontology$ The%study%of%the%categories%of%things%that%exist%or%may% exist%in%some%domain%and%their%relaConships%to%one% another.% -
8/13/13% 10% DemysCfying%Complex%Things% AbstracDon$ Animal% % Canine% % Dog% %
DalmaCon% Logic,%DeducCve%and%InducCve,%%Carveth%Read,%1898.% Try$this:$Build%a%map%of%Columbus% Try$this:$Build%a%map%of%your%day%so%far.% DemysCfying%Complex%Things% Isomorphism$ A%mapping%of%properCes%or%operaCons%where%both% enCCes%are%structurally%idenCcal.% -
8/13/13% 11% Why%Build%Maps?% To)understand)and)communicate) things)that)may)not)be)concrete,) or)tangible,)or)experienced)directly) through)the)five)senses.)) ) The
map doesnt let us see anything, but it does let us know what others have seen or found out or discovered. " -The Power of Maps, Denis Wood Mapping%the%Unseen% Human$ Chromosome$ $ ElecDon$Results$ $ Watership$Down$ $ Mind$Map$ -
8/13/13% 12% Agile%Myth:%A%conversaCon%is%all%you%need…% Perhaps%it%would%be%helpful%to%offer%some%resources%too.% So=ware%Maps% Maps%of%systems%are%o=en%called%models.$ % %%Some%depict%structure.% % %%Others%depict%behavior.%
% % Can)you)name)some)that)you)have)used?) As%a%<business%role>% I%will%<do%some%business% funcCon>% So%that%<business%value>% How%can%maps% support%user% stories?% Maps%for%Building%Systems% % % Maps%of%the%Domain% Nouns Verbs Maps%of%the%System% Software Infrastructure RISKY Structural%So=ware%Maps% – DecomposiCon%of%things% – RelaConships%between%things%% – MulCplicity% – Varied%abstracCon%levels% • High%detail%for%some%things% • Liile%detail%for%others% – Examples% • ERD%[%Data%model% • UML%Object%model% • UML%Domain%model% • Mind%map% • UML%Deployment%Diagram% • So=ware%Class%DefiniCon% % -
8/13/13% 13% Behavioral%So=ware%Maps% – Processes%and%AcCviCes% – Messages,%Events%&%Triggers% – Sequence%and/or%Concurrency% –
Examples% • UML% – Use%Case% – Sequence%Diagram% – CollaboraCon%Diagram% – AcCvity%Diagram% – State%Diagrams% • BPMN% – Business%Process%Diagrams% • Other% – Run%Books% – So=ware%Method% % % Online Store Browse Catalog Buy Items Ship Items Customer Shipping Department Customer Service Rep Empty Holding addItem0 removeItem [lastItem] removeItem addItem Sold processSale Abandoned cancelSale Modeling%with%Storyboards% Models%can%enhance%conversaCons% Modeling%with%a%goal%of%Implementa<on% VARK:%Which%are%you?% Visual! " "Auditory! " " "Reading/Writing! " " " " " "Kinesthetic! ©%1995,%Neil%Fleming,%Lincoln%University% -
8/13/13% 14% &% So,)know)your)VARK) Do)your)best)to)accommodate)others’)VARK) The%BA%role%is%all%about%communicaCon…% % The%visual%learner…% Understands$best$by:$ •
Taking%notes%and%making%lists%to%read%later% • Reading%informaCon%to%be%learned% • Learning%from%books,%videotapes,%filmstrips%and%printouts% • Seeing%a%demonstraCon% % Is$good$at:$ • Remembering%details%and%colors%of%what%he/she%sees% • Reading,%spelling%and%proof%reading% • Remembering%faces%of%people%he/she%meets%(forgets%names);% remembers%names%seen%in%print% • Quietly%taking%in%surroundings% • CreaCng%mental%photos% % The%auditory%learner…% Understands$best$by:$ • Talking%aloud%% • Listening%to%a%lecture% • Discussing%in%small%or%large%groups% • Hearing%music%without%words%as%a%background%in%the%learning% environment% $ Is$good$at:$ • Speaking%on%his/her%feet%% • NoCcing%sounds%in%environment% • Remembering%names%of%people%he/she%meets%(forgets%faces)%% • Working%with%words%and%languages% • Tuning%into%small%shi=s%in%voice%intonaCon% -
8/13/13% 15% The%read/write%learner…% Understands$best$by:$ • Reading%and%wriCng%% • Reading%and%re[reading%the%textbook%and%their%notes,% wriCng%and%rewriCng%their%notes,%and%in%general,% organizing%items%into%lists.%%
• Listening,%speaking,%reading,%telling,%discussing%and% wriCng% The%kinestheCc%learner…% Learns$best$by:$ • Processing%informaCon%trough%touch,%movement%and% rhythmic%movements% • Doing%hands[on%acCviCes%such%as%wood%shop,%dance,%and/or% athleCcs.%% Is$good$at:$ • Expressing%ideas%through%movement% • Fine[motor%skills%% • DemonstraCng%by%doing% User$Stories$ Daily$SCRUM$ Planning$MeeDngs$ Backlogs$ Story$EsDmaDon$ Reviews/Demos$ Wireframes/Storyboards$ Models/Diagrams$ Burndown/up$Charts$ -
8/13/13% 16% Agile$Principle$#1:% Our%highest%priority%is%to%saCsfy%the%customer%through% early%and%conCnuous%delivery%of%valuable%so=ware.% • Develop%requirements%top[down.% • Elaborate%stories%just[in[Cme.% •
Treat%stories%as%references%to% working%so=ware[no%more,%no%less.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#2:% Welcome% changing% requirements,% even% late% in% development.% Agile% processes% harness% change% for% the% customer's%compeCCve%advantage.% % • Add%new/revised%stories%as% requested%by%the%Product%Owner% without%complaint.% • Always%prioriCze%and%shi=%“lesser”% stories%down%the%list.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#3:% Deliver% working% so=ware% frequently,% from% a% couple% of% weeks%to%a%couple%of% months,% with% a% preference% to% the% shorter%Cmescale.% • Become%good%at%“chunking”.% • Coach/urge%the%business%to% embrace%small%usable%increments.% % TIPS$FOR$THE$AGILE$B.A.$ • Encourage%business%folks%to%be%acCvely% involved%conCnuously,%not%just%on%demo%days.% • Be%empatheCc%to%the%SME%and%PO’s%other% commitments;%Try%to%work%around%their% schedules.%% % TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#4:% Business% people% and% developers% must% work% together% daily%throughout%the%project.% -
8/13/13% 17% • Offer%encouragement;%don’t%complain.% • Chip%in%to%help%those%who%are%behind.% • Do%tasks%that%nobody%else%will%do.% • Ask%“Who%needs%help?”%“How%can%I%help”%
% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#5:% Build%projects%around% moCvated%individuals.%Give% them%the%environment%and% support%they%need,%and%trust% them%to%get%the%job%done.% Agile$Principle$#6…% % Group$1$ Folder$ Instructor$ Group$2$ Folder$ Instructor$ -
8/13/13% 18% Group$3$ Folder$ Instructor$ TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#6:% % Agile$Principle$#6:% The%most%efficient%and%effecCve%method%of%conveying%
informaCon%to%and%within%a%development%team%is%face[ to[face%conversaCon.% • Choose%talking%over%wriCng.% • Use%wriCng%as%a%reminder%to%you,%not%others.% • Prepare%for%a%lot%of%redundancy.% • Choose%face[to[face%over%phone,%Skype,%IM.% % -
8/13/13% 19% • Treat%requirements%as%a%means%to%an%end%….%%%%%% not%an%end%in%itself.% • Eliminate%all%work%that%doesn’t%contribute%to%the% creaCon%of%working%so=ware.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#7:%
Working%so=ware%is%the%primary%measure%of%progress.% When%are%we%done?% • Chunk%requirements%as%much%as%possible.%% • “Feed”%chunks%to%developers%conCnuously.% • Avoid%having%others%wait%for%requirements.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#8:% Agile%processes%promote%sustainable%development.%The% sponsors,% developers,% and% users% should% be% able% to% maintain%a%constant%pace%indefinitely.% • Support%developers’%“think%Cme”.% • Help%remove%blocks%to%technical%excellence.% • Speculate%future%modificaCons%to%help%designers% build%for%ease%of%future%enhancements.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#9:% ConCnuous% aienCon% to% technical% excellence% and% good% design%enhances%agility.% -
8/13/13% 20% • Help%sell%the%business%on%incremental%features.% • UClize%the%80/20%rule%when%prioriCzing.% • Accept%that%must%have’s%aren’t%always%a%must.% • Help%the%business%embrace%change.%
TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#10:% Simplicity%—%the%art%of%maximizing%the%amount%of%work% not%done%—%is%essenCal.% • Minimize%Cme%between%need%and%acCon,%don’t% wait%to%be%told%what%to%do.% • Do%what%you%know%needs%to%be%done.% TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#11:% The% best% architectures,% requirements,% and% designs% emerge%from%self[organizing%teams.% • Be%transparent.% • Encourage%transparency%in%teammates.% • Support%retrospecCves,%and%follow)through!) TIPS$FOR$THE$AGILE$B.A.$ Agile$Principle$#12:% At%regular%intervals,%the%team%reflects%on%how%to%become% more% effecCve,% then% tunes% and% adjusts% its% behavior% accordingly.% Final%Thoughts% -
8/13/13% 21% To)Model….) …or)not)to)Model?) How)do)UML)and)BPMN) support/violate)the)Agile) principles?)) When%do%you%do%BA%stuff?% P l
a n B u i l d Q A Waterfall Iterative Scrum Kanban As%a%finagler% I%can%finagle% So%that%I%can%get%what%I%want.% How%can%you%help%your%team%get% to%the%boiom%of%every%story,% quickly%and%efficiently?% -
8/13/13% 22% BA$ Everyone$ Else$ Yin$Yang$and$Soaware$Projects$ BA$ Business$ Development$ BA$
Quality$Assurance$ Development$ Project$Management$ Business$Management$ Natural$tendency:%Avoid%conflict;%Hide,%ignore%it.% Beeer$Approach:%Confront%conflict%and%culCvate%its%yield.%