0
Emergent Architecture on Agile Projects<br />Syed Rayhan<br />Co-founder, Code71, Inc.<br />Contact:srayhan@code71.com<br ...
2<br />Agenda<br />Introduction<br />Section  1<br />Section  2<br />Project summary<br />Section  3<br />Initial Architec...
3<br />Agenda<br />Introduction<br />
4<br />My Background<br /><ul><li>Co-founder, Code71, Inc.
15+ years of total experience
Co-author of “Enterprise Java with UML”</li></ul>Career<br /><ul><li>Iterative incremental development
Agile technology planning and architecture
On-shore/Off-shore  software development using Agile/Scrum</li></ul>Expertise<br /><ul><li>Cultural aspect of self-organiz...
Scrum for small projects delivered remotely
Agile engineering practices</li></ul>Interests<br />
5<br />What to Expect <br /><ul><li>Iterative, incremental development a.k.a. Agile software development
Traditional architecture practice is inherently waterfall</li></ul>Context<br /><ul><li>How architecture fits in the new, ...
How emergent architecture actually is in practice
Candid look at what is working, what is not working, and how we have adjusted to succeed</li></ul>Focus<br />Key <br />Tak...
Who does architecture
What practices to customize and why</li></li></ul><li>6<br />The Case Study<br /><ul><li>Department of Motor Vehicle (cust...
Department of Transportation
 State and local law enforcement agencies </li></ul>Clients<br />Project<br />Justification<br /><ul><li> Ensure public sa...
 Reduce traffic collisions
System under consideration is dependent on other systems that are also in the process of being replaced
Infrastructure is provided by VITA
New technology</li></ul>Architecture <br />Landscape<br />
7<br />Agenda<br />ProjectSummary<br />
8<br />Problem Statement and Project Goals<br /><ul><li>The current backlog of reports 3-6 months
Duplicate data stores is causing poor data quality
Manual data entry is causing poor data quality as well as increased processing time and costs
Lack of data visibility and access to data contributes to wrong or delayed policy changes and or enforcement</li></ul>Prob...
Elimination of paper reports
Increasing the efficiency and improving data quality
Elimination of duplicate data entry
 Electronic data reporting
Elimination of data entry backlogs</li></ul>Goals<br />
9<br />Project Facts<br /><ul><li>Project initiated in 2006
Development started in 2007 May
60 sprints completed to-date
 First release was in March 2008</li></ul>Timeline<br />Funding<br /><ul><li> Federal grant
 $4.5 M
Upcoming SlideShare
Loading in...5
×

Emergent architecture- a casestudy TREDS

893

Published on

Not much has been shared and talked about on Architecture as practiced on Agile projects. In fact, there is a concern among organizations small and large in adopting Agile practices/process that they have to abandon architecture in favor of agility. However, from experts we hear about this "emerging design and architecture," but not much explained in a way that dispels the myth around architecture on Agile projects. I would like to show step by step how we have done it on a large government project. (includes workflow automation, transactions, and data warehousing solutions, as well as spans multiple legacy components, and multiple agencies).

The participants will be able understand how architecture evolves on Agile projects and how to manage/guide this evolution of architecture in a way to meet the goals of the project.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
893
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • More technology risks than requirements risks. Requirements were assumed to be have been well understood. Not true.
  • Natural + Adabase
  • Identify groups of related requirements and map them to a technology solutionDocument processing technology- OMR and OCR
  • Electronic data capture at the field (still report is printed and sent on paper)Paper report redesign (add new data, eliminate some old data) =&gt; change the existing systemElectronic data capture from the paper report =&gt; reduce manual data entry by 50% (OMR accuracy is pretty good, OCR was bad)Define canonical representation of report in XMLExisting system is still the system of records. We extended the existing system to accommodate new data.
  • Limited release- only to a few users from the data entry team. Only for certain type of reports.
  • Using the “right tool” for the “right purpose” improves the delivery qualityCapturing edit rules using “if then else”DFD to capture data movement
  • Introduced a new workflow for electronic submission of reports
  • Transcript of "Emergent architecture- a casestudy TREDS"

    1. 1. Emergent Architecture on Agile Projects<br />Syed Rayhan<br />Co-founder, Code71, Inc.<br />Contact:srayhan@code71.com<br />Blog:http://blog.syedrayhan.com<br />Company:http://www.code71.com<br />Product:http://www.scrumpad.com<br />
    2. 2. 2<br />Agenda<br />Introduction<br />Section 1<br />Section 2<br />Project summary<br />Section 3<br />Initial Architecture<br />Evolving initial architecture<br />Section 4<br />Recap<br />Section 5<br />Q&A<br />Section 6<br />
    3. 3. 3<br />Agenda<br />Introduction<br />
    4. 4. 4<br />My Background<br /><ul><li>Co-founder, Code71, Inc.
    5. 5. 15+ years of total experience
    6. 6. Co-author of “Enterprise Java with UML”</li></ul>Career<br /><ul><li>Iterative incremental development
    7. 7. Agile technology planning and architecture
    8. 8. On-shore/Off-shore software development using Agile/Scrum</li></ul>Expertise<br /><ul><li>Cultural aspect of self-organizing team
    9. 9. Scrum for small projects delivered remotely
    10. 10. Agile engineering practices</li></ul>Interests<br />
    11. 11. 5<br />What to Expect <br /><ul><li>Iterative, incremental development a.k.a. Agile software development
    12. 12. Traditional architecture practice is inherently waterfall</li></ul>Context<br /><ul><li>How architecture fits in the new, new world of agile development
    13. 13. How emergent architecture actually is in practice
    14. 14. Candid look at what is working, what is not working, and how we have adjusted to succeed</li></ul>Focus<br />Key <br />Takeaways<br /><ul><li>How to do architecture on agile projects
    15. 15. Who does architecture
    16. 16. What practices to customize and why</li></li></ul><li>6<br />The Case Study<br /><ul><li>Department of Motor Vehicle (custodian agency)
    17. 17. Department of Transportation
    18. 18. State and local law enforcement agencies </li></ul>Clients<br />Project<br />Justification<br /><ul><li> Ensure public safety on roads
    19. 19. Reduce traffic collisions
    20. 20. System under consideration is dependent on other systems that are also in the process of being replaced
    21. 21. Infrastructure is provided by VITA
    22. 22. New technology</li></ul>Architecture <br />Landscape<br />
    23. 23. 7<br />Agenda<br />ProjectSummary<br />
    24. 24. 8<br />Problem Statement and Project Goals<br /><ul><li>The current backlog of reports 3-6 months
    25. 25. Duplicate data stores is causing poor data quality
    26. 26. Manual data entry is causing poor data quality as well as increased processing time and costs
    27. 27. Lack of data visibility and access to data contributes to wrong or delayed policy changes and or enforcement</li></ul>Problems<br /><ul><li>Streamlining and simplification of data collection
    28. 28. Elimination of paper reports
    29. 29. Increasing the efficiency and improving data quality
    30. 30. Elimination of duplicate data entry
    31. 31. Electronic data reporting
    32. 32. Elimination of data entry backlogs</li></ul>Goals<br />
    33. 33. 9<br />Project Facts<br /><ul><li>Project initiated in 2006
    34. 34. Development started in 2007 May
    35. 35. 60 sprints completed to-date
    36. 36. First release was in March 2008</li></ul>Timeline<br />Funding<br /><ul><li> Federal grant
    37. 37. $4.5 M
    38. 38. Contractors and consultants
    39. 39. Core team has 12 members with cross-functional
    40. 40. Located on-site</li></ul>Staffing<br />
    41. 41. 10<br />Project Context<br />
    42. 42. 11<br />Project type<br />Our project<br />new<br />Zone of death<br />complex<br />technology<br />complex<br />simple<br />expert<br />well understood<br />Not in agreement<br />requirements<br />
    43. 43. 12<br />Existing Architecture<br />data export<br />App 3<br />image<br />Agency 3<br />Image db 1<br />data entry<br />data entry<br />image<br />copy<br />update<br />update<br />Image db 2<br />update<br />App 2<br />App 1<br />Agency 1<br />Main App<br />Agency 2<br />
    44. 44. 13<br />Existing Enterprise Architecture Standards<br />Technology Platform<br />VB.Net, MSSQL & Oracle<br />Security<br />Two-factor authentication (FOB based)<br />Infrastructure<br />Strict 3-tier architecture<br />
    45. 45. 14<br />Agenda<br />Initial Architecture<br />
    46. 46. 15<br />Architecture Principles<br /><ul><li>Minimize custom components
    47. 47. Reuse existing components
    48. 48. Leverage COTS components</li></li></ul><li>16<br />Needs to Technology Map<br /> Functional Technical Proposed<br /> Requirement Assessment Component<br />Expanded and modified<br />XML<br />Crash form redesign<br />data model<br />Support for multiple ways<br />Electronic submission<br />Report Beam, <br />Taskmaster<br />to send in reports (scan,<br />Web, batch)<br />Increase data<br />accuracy and reduce<br />Automated data validation<br />data correction needs<br />Workflow<br />Management <br />Workflow automation<br />BizTalk<br />BRE<br />WF<br />Integration tool that can<br />Information exchange<br />support multiple<br />with various external<br />formats, protocols, and<br />and internal systems<br />modes (batch & real-<br />time)<br />Reporting tool for<br />Standard & ad-hoc<br />business & technical<br />SQL Server<br />SSIS, SSRS<br />Reporting<br />users<br />Analysis and data<br />Analytic tool for<br />mining<br />Business users<br />Authentication &<br />Security that spans<br />LDAP based <br />authorization<br />Intranet, Extranet, &<br />Store (ADAM)<br />(security)<br />Internet<br />
    49. 49. 17<br />Architecture Patterns<br />MVC<br />Hub & Spoke<br />
    50. 50. 18<br />Logical Architecture- Initial Vision<br />
    51. 51. 19<br />Roadmap (partial view)<br />Milestones Capabilities Impact<br /><ul><li>Expand database for new fields
    52. 52. Expand UI for new field data entry</li></ul>Nov. 15, 2007<br />- CAP Expansion<br /><ul><li>CAP expansion to accommodatenew fields
    53. 53. Allow automated commercial data</li></ul>reporting to Safetynet<br /><ul><li>Reduce manual data entry with scanning
    54. 54. Business Process Impact:: - Scan datavalidation - Automation of some current manual operations
    55. 55. Scan bubble data into CAP
    56. 56. Automate data presentation forSafetynet
    57. 57. Build TREDS/SFTP Interface
    58. 58. Build system to system </li></ul>authorization and authentication<br />Jan. 15, 2008<br /><ul><li>Revised FR300 Scanning
    59. 59. TREDS/Safetynet</li></ul>Integration <br /><ul><li>Eliminate RNS dependency on HTRIS
    60. 60. Remove requirement for FR300</li></ul>forwarding to VDOT<br /><ul><li>Business Process Impact: - DMV/VDOT</li></ul>FR300 forwarding process<br /><ul><li>Build TREDS/CAP interface
    61. 61. Build TREDS/RNS interface
    62. 62. Build CAP/Broker interface</li></ul>April 15, 2008<br />- TREDS/RNS Integration <br /><ul><li>Back Office operations will use TREDSfor data management
    63. 63. TREDS/ CAP data synchronization willprovide system fall back during burn in
    64. 64. Policy and standards enhancements may occur due to human to system authentication and authorization
    65. 65. Business process impact – IT systems support for TREDS – operations will expand</li></ul>Nov. 15, 2008<br /><ul><li>TREDS Core Deployment
    66. 66. TREDS Client – Pilot 1
    67. 67. Build TREDS data management
    68. 68. Build centralized rules engine
    69. 69. Build TREDS Data Warehouse(Havana)
    70. 70. Scan bubble data into TREDS</li></ul>(CUBA)<br /><ul><li>CAP data migration to TREDS
    71. 71. Build human to system </li></ul>authorization and authentication<br />
    72. 72. 20<br />Agenda<br />Evolution of Architecture<br />
    73. 73. 21<br />1st Release Architecture<br />scanned<br />report<br />Scanning App<br />WS-API<br />image<br />Image db1<br />Controller WS<br />data<br />App 3<br />App 2<br />BTOrchestration<br />WS<br />image<br />image<br />FTP<br />App 1<br />update <br />Broker<br />Image db2<br />DW<br />unprocessed data<br />data migration<br />data<br />Main App<br />
    74. 74. 22<br />1st Release Recap<br />Reduce data entry time by 50%<br />Reduce architectural risk around infrastructure, <br />Goals<br />Existing system is still the system of records<br />Electronic data capture, not delivery<br />Capabilities<br />OCR accuracy was lower than expected<br />Initial data processing speed went down<br />Result<br />Form redesign should have followed data modeling and scanning technology selection<br />Windows environment for efficient data entry poses different challenge<br />Lessons <br />Learned<br />
    75. 75. 23<br />2nd Release Architecture<br />scanned<br />report<br />Scanning App<br />AzMan<br />Web Client<br />WS-API<br />DB<br />image<br />Image db1<br />Controller WS<br />data<br />App 3<br />Workflow<br />BRE<br />App 2<br />BTOrchestration<br />WS<br />Model<br />image<br />FTP<br />data<br />App 1<br />update <br />Broker<br />Image db2<br />DB<br />trigger<br />processed data<br />DW<br />Audit<br />DB<br />Processed data<br />Main App<br />
    76. 76. 24<br />Defining Workflow using State Machine<br />
    77. 77. 25<br />2nd Release Recap<br />Introduce automated workflow for data processing<br />Goals<br />Existing system is still the system of records<br />Automated work management of data entry clerks <br />Capabilities<br />Automated workflow was well received<br />Improved the quality of management of the supervisors<br />Result<br />Too many data validation rules were too restrictive<br />Lack of robust exception handling resulted in premature termination of workflows <br />Lessons <br />Learned<br />
    78. 78. 26<br />3rd Release Architecture<br />scanned<br />report<br />Scanning App<br />AzMan<br />Web Client<br />WS-API<br />DB<br />image<br />Image db1<br />Controller WS<br />data<br />Report WS<br />App 4<br />Workflow<br />BRE<br />App 3<br />BTOrchestration<br />WS<br />Model<br />image<br />FTP<br />App 2<br />trigger<br />Broker<br />Image db2<br />DB<br />update <br />processed data<br />DW<br />Audit<br />DB<br />Main App<br />
    79. 79. 27<br />3rd Release Recap<br />Integration with App2<br />Canned reporting from new DW<br />Goals<br />Main reporting from the new system <br />Complete data entry from the new system<br />Capabilities<br />Reporting time reduced from a few weeks to a few minutes<br />Reports requiring manual check reduced to 70%-80% due to auto acceptance<br />Result<br />Longer processing time at certain steps in the workflow caused user frustration <br />Web service interface to BizTalk was causing timeouts<br />Lessons <br />Learned<br />
    80. 80. 28<br />4th Release Architecture<br />Client App<br />Scanning App<br />AzMan<br />electronic<br />report <br />scanner <br />image<br />scanned<br />report<br />Web Client<br />WS-API<br />DB<br />Image db1<br />Controller WS<br />data<br />Report WS<br />App 4<br />Workflow<br />BRE<br />App 3<br />Req Q<br />Req Q<br />image<br />Model<br />BTOrchestration<br />WS<br />FTP<br />App 2<br />update <br />Image db2<br />Broker<br />DB<br />processed data<br />DW<br />Main App<br />Audit<br />DB<br />
    81. 81. 29<br />Workflow with Asynch. System Processing<br />
    82. 82. 30<br />4th Release Recap<br />Improve response time using asynchronous processing<br />Electronic delivery of reports from the field<br />Goals<br />Direct submission of reports (no scanning) to the system <br />Complete data entry from the new system<br />Capabilities<br />Improved user satisfaction from reduction in response time<br />Reports requiring manual check further reduced to 50%-60% due to auto acceptance<br />Result<br />Lessons <br />Learned<br />Change in workflow caused versionites<br />Accelerate adoption of electronic delivery of reports from the field<br />
    83. 83. 31<br />5th Release Architecture<br />Client App<br />Scanning App<br />AzMan<br />electronic<br />report <br />scanner <br />image<br />scanned<br />report<br />Web Client<br />WS-API<br />DB<br />Image db1<br />WCF<br />Controller WS<br />data<br />Report WS<br />App 4<br />BRE<br />App 3<br />Workflow<br />Req Q<br />Req Q<br />image<br />BTOrchestration<br />WS<br />FTP<br />Model<br />App 2<br />Image db2<br />Broker<br />DB<br />update <br />processed data<br />DW<br />Main App<br />Audit<br />DB<br />
    84. 84. 32<br />5th Release Recap<br />Integration with App3<br />“Revision of Reports” handling<br />Ad-hoc reporting from new DW<br />Goals<br />New system is self-sufficient <br />Asynchronous processing of reports delivered electronically<br />Capabilities<br />Integration with other reporting tools for electronic reporting<br />Old system is ready for sunset<br />Result<br />The definition of “revision of a report” changed (new capability changes business practices) <br />Lessons <br />Learned<br />
    85. 85. 33<br />What’s next?<br /><ul><li>Keep up with the technology upgrades and changes
    86. 86. Upgrade to Biztalk 2009
    87. 87. Upgrade to Visual Studio 2008
    88. 88. Keep an eye on new technology for new capability or easier maintainability
    89. 89. ASP.Net MVC
    90. 90. Entity Framework or Fluent NHibernate to replace Nhibernate</li></li></ul><li>34<br />Agenda<br />Recap<br />
    91. 91. 35<br />Recap lessons learned<br />Start with existing architecture standards, identify gaps, and know upcoming changes<br />Influence / introduce new standards to fill the gap in existing architecture<br />Align with upcoming changes to the existing architecture<br />Let architecture evolve top-down (architect is responsible) and bottom-up (team is responsible)<br />Use working “spikes” to determine how to adopt new technologies<br />Manage evolution of architecture in small increments (a.k.arefactor)<br />Document architecture using FAQ style and just-in-time<br />Architecture evolves; when unmanaged, it becomes sprawling.<br />
    92. 92. 36<br />Q&A<br />Guided evolution of architecture improves Agility!<br />
    93. 93. 37<br />Contact<br />Please contact for on-site training/coaching or Webinar:<br />Contact:srayhan@code71.com<br />Blog:http://blog.syedrayhan.com<br />Company:http://www.code71.com<br />Product:http://www.scrumpad.com<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×