1 / 77

Agile Methodologies and Chaos Revisited

Agile Methodologies and Chaos Revisited. William (Bill) Myers Cinergy Corporation Information Builders Summit 2004 User Conference May 2004.

gema
Télécharger la présentation

Agile Methodologies and Chaos Revisited

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile MethodologiesandChaos Revisited William (Bill) Myers Cinergy Corporation Information Builders Summit 2004 User Conference May 2004 * The statements and opinions herein are those of the individual author. They are provided for informational purposes only and should not be relied upon for decision making. William (Bill) Myers

  2. William (Bill) Myers

  3. Introduction • Audience & Flow • General Agile reporting ( ~ 1/3 rd ) • WebFocus Agile reports (~ 1/3 rd ) • Agile Methodologies (~ 1/3 rd ) • Philosophy & Methods • Management & Coding • Questions • Follow-up questions at end • Appendix • Links • Additional Details / starts at References slide • Additional points • Supplemental Handout William (Bill) Myers

  4. What is Agility • Ability to adapt • to Changing circumstances • to Changing requirements • Impact • Improves business climate • Provides competitive edge • Quick gratification • Customers & Developers • Faster Return on Investment William (Bill) Myers

  5. Agile Methodologies / Perspective • How to Decide • Relationships & Responsibilities • 80 / 20 rule • Feature driven • Customer stories • Baseline high level • Emerge/Converge • Reduce reporting risks Note: Crystal Methodology IS NOT RELATED to the reporting product William (Bill) Myers

  6. Reporting Population • Super User • Technical skills • Understands their piece of the data • May be tactical or strategic • Strategic User • Executive or analyst • Needs highly summarized and graphed snapshots • Limited technical skills • Tactical User • Needs up-to-minute detailed data to do their job • Limited technical skills William (Bill) Myers

  7. Normal Report Development Process • Demand that customer predict the future • Forecast list of needed reports • Requires visualization / no data available • Data may support 20,000,000 variations • Design signoff in blood • Early code freeze • Rigid Change Control • More signoffs • Complain about scope creep • Accuse users of changing their mind • List all changes as bugs • Falsely implies a defective product Requirements List William (Bill) Myers

  8. Agile Reporting • Bounded Chaos • Random actions inside of the boundary • Self Building • Developer builds 90% • User checks options • Program finishes writing itself • Program creates report • Broad Scope • Can replace millions of fixed reports • Requirements can be hazy up front William (Bill) Myers

  9. Agile Reporting - Definitions • Report (definition) • Any output where user can not change data in database • More than printer • Core & Options • Core – on every report, fixed • Options – added to report based on user’s selections: columns & totals • Filters • Limits input data • Medium • Web page, paper, excel, pivot table, PDF file, lists, graphs, etc • Measures • Changes the core - unusual William (Bill) Myers

  10. IBI Sample - ggorder2.fex • As Installed • Units by Product • For one date • Agile Modification • Add &sort1 • Standard front-end • Add dollar value • Immaterial to agile William (Bill) Myers

  11. Core & Option - Web Page • Shows total sales of each product by state & sales rep • Refer to handout • Checking no boxes: one number only William (Bill) Myers

  12. Agile ggorder2.fex • Core only • Boxes checked • None William (Bill) Myers

  13. Agile ggorder2.fex • Same fex • No changes • Boxes checked • Vendor Name • Product William (Bill) Myers

  14. Agile ggorder2.fex • Same fex • No changes • Boxes checked • Product • Totals • Store Name William (Bill) Myers

  15. Agile ggorder2.fex • Same fex • No changes • Boxes checked • State, City, Store Name (totals), Vendor Name, Product • Options • 362,889 formats • ONE program • Risks managed William (Bill) Myers

  16. Core & Option Executive Demo • IBI Sales Prototype • Used Production databases • Not standard IBI demo • Specs and Core & Option HTML were supplied • 4 Days development • Clear to all • Reports • Simple list – Volumes & Dollars (core & option) • Delta – Change since yesterday (core & option) • Complex Delta – Changes of averages • 3-D Graphs • Pies with drill downs William (Bill) Myers

  17. Exclusions • Power not demonstrated • Combined databases • Reporting Cubes • Scheduling & Mailing • Super-user interface William (Bill) Myers

  18. Risk Mitigation • End-User reporting • Normal recommendation • Risks • Mitigation for average user • Super-users William (Bill) Myers

  19. Normal Reporting Recommendation • Reporting is simple, use… • MS Access • Excel • Pivot Tables • WebFocus • Crystal Reports • Etc • Training • Help • Manuals • Limited classes William (Bill) Myers

  20. Risks • Complexity • Database structure • Queries • All tests against production databases • Overload servers & network • Over-reporting • Double counting data • Under-reporting • Not including data William (Bill) Myers

  21. Mitigation • Target the skill sets • Developers • Handle complexity • Insure accuracy • Insure efficiency • Identify possible options • Set up “Core & Option” reports • End Users • Decide on core & options during development • Test during development • Understand the results William (Bill) Myers

  22. Regular File Structure - WebFocus William (Bill) Myers

  23. Core & Option Structure - WebFocus • Build JavaScrips • Options & Template • Options – SQL database • Template & Fields – text file • Hidden Fields fairly static William (Bill) Myers

  24. File Naming Standards - WebFocus • Application prefix + Name + Suffix • Drilldown can be called from many reports • Name is first report written • Program field names – UpperLower_Case William (Bill) Myers

  25. Development Steps • Build an original report • Identify the CORE • Use any BY statements for a sample set of options • Add options list to database • Write Pre-Load ( fex ) • Add filters now or later • Write web page ( htm ) • Add filters now or later • Add &sort1 to original report • You can add these front ends to existing reports William (Bill) Myers

  26. Option Files • Common to all reports • INCLUDE files (4) • DATA files - static (2) • DATA file – field list unique to report (1) • Structure in handout – you add fields in database • Unique to each report • HTML web page • Left side (options) standard except report title in heading • Right side (filters) unique for each report • Listed in supplemental handout William (Bill) Myers

  27. Option Files (list) • Pre-Load (scr_status_h.fex ) • opt_page_common.fex • OptionTbls.sql • opt_hid.dat • opt_mng.dat • Web Page (scr_status.htm) • Sample.htm ( copy JavaScript and certain sections of HTML) • !IBI.FIL.OPT_MNG; • !IBI.FIL.OPTJ_CLR; • !IBI.FIL.OPTJ_BOX; • !IBI.FIL.OPT_HIDN; • Report (scr_status .fex ) • &sort1 • opt_parent_drilldown.fex • Drilldown (scr_status_dr1.fex ) • opt_drill_headings.fex • opt_drill_where .fex • &wqlist William (Bill) Myers

  28. Pre-Load (scr_status_h.fex ) -SET &ECHO=OFF; -* ********* Set the report program name ************* -SET &Rpt_Pgm = ‘scr_status’; -* ********* Set default date **************** -SET &riskdate = EDIT(&MDYY,'99/99/9999'); -SET &startmo = EDIT(&MDYY,'99'); -SET &startyr = EDIT(&MDYY,'$$$$9999'); -RUN -* ********* Add standard javascript and html code **************** -INCLUDE opt_page_common -RUN -* ********* Open web page **************** -HTMLFORM scr_status William (Bill) Myers

  29. Option & Filter Web Page See summit_2004_demo1.htm in references Amper Variables from Pre-Load fex Standard Option Files HOLD File from Pre-Load fex William (Bill) Myers

  30. Web Page – Java Script section William (Bill) Myers

  31. JavaScript - Static William (Bill) Myers

  32. JavaScript - Dynamic William (Bill) Myers

  33. Web Page – HTML Check Boxes William (Bill) Myers

  34. Hidden HTML Variable List William (Bill) Myers

  35. Option & Filter – HTML section <body background="/images/Gray_Textured1152.gif" bgcolor="#FFFFFF" text="#000080" link="#0000FF" onload="reloadSort('summit_2004_demo');"> ------------------------------------------------------------------------ <td align=center width="45%" VALIGN="top"> <table cellpadding=1 cellspacing=1 border=0> !IBI.FIL.OPTJ_BOX; </table> </td> ------------------------------------------------------------------------ <td> <p align="left"> <input type="button" value="Submit" name="bttn_submit" style="font- weight: bold" onclick="javascript:presubmit(this.form);"></P> &nbsp; </td> ------------------------------------------------------------------------ </table> <input type='hidden' name='IBIAPP_app' value=""> <input type='hidden' name='IBIF_ex' value="summit_2004_demo"> !IBI.FIL.OPT_HIDN; </FORM> William (Bill) Myers

  36. Report ( fex ) DEFINE FILE TRADES Cost/P12.2CB = VOLUME * Price; Value/P12.2 = VOLUME * STRIKE_PRICE; Net/P12.2 = Value - Cost; END TABLE FILE TRADES SUM VOLUME AS 'Volume' Cost Value &sort1 -* ***** add other BY statements here ***** END William (Bill) Myers

  37. Report with Drilldown ( fex ) TABLE FILE TRADES SUM VOLUME AS 'Volume' Cost Value &sort1 ON TABLE COLUMN-TOTAL VOLUME Cost Value ON TABLE SET ONLINE-FMT &frmt ON TABLE SET STYLE * UNITS=IN, PAGESIZE='Letter', LEFTMARGIN=0.50, RIGHTMARGIN=0.50, TOPMARGIN=0.50, BOTTOMMARGIN=0.50, SQUEEZE=ON, ORIENTATION=PORTRAIT, $ TYPE=REPORT, GRID=OFF, FONT='TIMES NEW ROMAN', SIZE=10, COLOR=BLACK, BACKCOLOR=NONE, STYLE=NORMAL, $ -SET &optdrillfile = 'summit_2004_demo_dr1'; -SET &coredrillfile = 'summit_2004_demo_dr1'; -INCLUDE opt_parent_drilldown.fex ENDSTYLE END William (Bill) Myers

  38. Drilldown ( fex ) TABLE FILE TRADES PRINT * Cost Value Net HEADING "Deals supporting Summary" " " -INCLUDE opt_drill_headings.fex -* ***** wqlist = field values to exclude surrounding quote marks **** -SET &wqlist='''PRODYEAR'' '' '' ''PRODMONTH'' '' '''; -INCLUDE opt_drill_where.fex END William (Bill) Myers

  39. What is Agile Development? • Set of policies and conventions • Controls risk • Puts project into safety zone • Agile Methodologies • Changing environments • Philosophies • Products, Personal relationships, Timing, Documentation • Methods • Approach & Principles • Project management • Programming – low level practices • Traditional Methodologies • Rigid, knownenvironments • Static processes • Structured Methods • Waterfall project management & clones William (Bill) Myers

  40. Agile Philosophieshttp://www.agilealliance.org • Agile Manifesto • Individuals and interactions • over processes and tools • Working software • over comprehensive documentation • Customer collaboration • over contract negotiation • Responding to change • over following a plan Quote from consortium: “While there is value in the items on the right (sub-topics above), we value the items on the left (major topics) more”. William (Bill) Myers

  41. General Agile Principles • Deliver something useful to customer • Nothing counts until you deliver software • Deliver frequently • Four to eight weeks • Encourage collaboration • “Active customer involvement is imperative!” – find a champion • Daily meetings – very short • Provide technical excellence • Rely on the skills of your people • Do the simplest thing possible • Balance flexibility and structure • Self-correcting teams • Don’t let people suffer • Install when business needs it & technically feasible WebFocus is an Agile product William (Bill) Myers

  42. Adaptability Scale RememberSarbanes-Oxley William (Bill) Myers

  43. Project Management Styles • Command & Control • Defined process • Plan what you expect – make predictions • Enforce the predictions • “Change Control” • to manage change • Leadership – Collaboration • Empirical process • Start with a plan • Change plan frequently • Inspection & Adaptation • To control change William (Bill) Myers

  44. Waterfall Methodsand clones • Process • Sequential • Analysis, design, construct, test, implement • Rigid • Paper intensive • Good with 1960’s mainframes with cards • When Useful • Known processes • Hardware & vendor software upgrades • Little creativity required William (Bill) Myers

  45. Many Agile Methods • What methodology to use ? • Crystal & Crystal Light( helps with decision ) • Project management • Scrum ( broadest, variable end-point ) • DSDM Model ( construction oriented ) • Lean Development (domain, 80/20 approach ) • Feature-Driven Development - FDD (most structured) • Adaptive • Extreme Programming – XP • Programming oriented • Extreme Programming - XP • Customer Stories, programs, working conditions • Agile reporting ( core & option ) William (Bill) Myers

  46. Agile Methodologies • Agile Software Development Ecosystems • Reference book & web site • by Jim Highsmith • http://www.jimhighsmith.com • Tom DeMarco: • Agility: 1 • everything else: 0 • Numerous books • Highlights only William (Bill) Myers

  47. Observations - Agile Conference • Easy to go wrong • Mis-interpretation, mis-implementation, missed point • No silver bullet • One size does not fit all • Beware too much documentation • Offload legal requirements from developers • Always “on time, on scope, on budget” • Leads to mediocrity ( no risks taken ) • Cultural change • from - military Command & Control • to – cooperative Leadership & Collaboration • Productivity leaps • 77 function points / month when industry average 2 pts / mo • WebFocus fits agile development very well William (Bill) Myers

  48. Reasons for Failure • One Size Methodology Fits All • Intolerant Methodology • Embellished • Do frivolous tasks • Ignore necessary tasks • Heavy • Untried • Tried Once • Limited applicability • Champion • Failure to Tune • Distractions • Dates can’t be met William (Bill) Myers

  49. Crystal Methodology – Theory ( NOT RELATED to Crystal Reporting ) • Self-adapting "shrink-to-fit," software development methodologies • Different set of policies & conventions for each project • Projects are sensitive to people issues • Crystal is people-centric • other methodologies may be: • process-centric • architecture-centric • tool-centric • Keys • Communication intensive • Masses of paper do not improve communication • Experiment based • Requires feedback loops • Theory of Methodologies William (Bill) Myers

  50. Crystal – Communication • Effectiveness of different methods • Courtesy of Alistair Cockburn • http://alistair.cockburn.us/crystal/articles/cpanfocisd/characterizingpeopleasnonlinear.html People are Non-Linear First-Order Components in Software Development William (Bill) Myers

More Related