Constructing Deploying and Maintaining Enterprise Systems
Overview We take the architecture plan and “just do it” Steps in the implementation process
Implementation Facets Construction Project Management Change Management Documentation Testing Maintenance and upgrade considerations
Construction (Introduction) Assembling a programming team to build the software or a team to configure and customize a canned package .net Team Foundation Server has tools to aid agile development It also support the DevOps philosophy https://www.visualstudio.com/en-us/docs/whats-new
Construction (SAP) SAP keeps track of builds through the Transport Organizer (part of construction and maintenance https://www.youtube.com/watch?v=H8VCBRgg1lQ https://www.youtube.com/watch?v=CO6-52sZll8
Construction (Builds) We need tools to compile or configure source modules SAP provides their own proprietary tools OfBiz uses Apache Ant There are Unix tools
Ant (Introduction) It’s designed to build and distribute programs It’s an XML directive based application More next week
Project Management Development must be coordinated Project management and scheduling I’ll omit here because you IS folks will get an entire course in project management
Change and Release Management We have tools to manage changes Microsoft Team Foundation server To manage builds To create unit tests and automated tests To manage incremental uses To improve developer productivity UML diagramming tools are built in
Documentation Developers hate it but the task must be done Document needs to be created for Developers End users Help files Faqs There is a need for change management here too
Testing We usually consider 4 stages of testing Unit tests Integration tests System tests Acceptance tests
Unit Testing Unit tests are designed to test the operation of a class Methods Properties State .NET And other frameworks support unit test suites to exercise methods and watch object state https://www.agilealliance.org/glossary/unit-test/
Test Driven Development A style of programming that interweaves Coding, Testing (unit tests) Design (refactoring) So that it adheres to the “simplicity criteria” https://www.agilealliance.org/glossary/rules-of-simplicity/
Integration Testing Integration testing verifies how classes work together, rather than the operation of just a single class Use-case testing to test different scenarios Recall the different OFBiz scenarios This gets challenging when working with deeply nested or inherited classes
Systems Testing A broader version of integration testing We are testing how well the system satisfies the function and non-functional requirements Usability testing is part of this process Documentation testing
Acceptance Testing We let is loose to the users Acceptance testing is usually done in two parts Alpha testing We might add new features Beta testing We fix bugs We can tie this to agile too https://www.agilealliance.org/glossary/acceptance/
Versioning We don’t just deploy software We do maintain several versions Development Unit and Integration testing Systems testing Acceptance testing This is built-in to larger ERPs like SAP
Deployment We have fully tested the system. It’s time to implement it and release to operations Steps Pre-deployment Conversion Post-deployment Change management Maintenance
System Conversion Conversion style refers to the way users are switched from the old to the new system Conversion location refers to the parts of the organization that are converted Conversion modules refer to the parts of the software system that are converted
Conversion Style Direct conversion is a “cold turkey” switch from the old to new system High risk During a parallel conversion, both systems are run “in parallel” Low risk Lot of work to keep both systems current and synchronized
Conversion Location Pilot implementation Phased conversion We try it out in one business unit A branch office perhaps Phased conversion Systems are installed sequentially at different locations Good for branch offices and franchises Simultaneous conversion Everybody converts at the same time
Conversion Modules Whole system conversion Module conversion We migrate all business functions at once Not always practical for ERPs like SAP Module conversion Functional business units / processes are converted one at a time Accounting / sales
Conversion (Summary) The process boils down to three factors The risk of failure The cost to convert The time and human resources it takes to convert
Change Management I’m not going to say any more about acceptance and adoption
Post-Implementation Activities System maintainance There are always changes. Enterprise systems are living breathing things Operational tasks Backups Disaster recovery and business continuity plans Security User and Role management
Backups Raid to begin with On premises or off premises (cloud?) or both Redundancy The basics http://www.techsoup.org/support/articles-and-how-tos/your-organizations-backup-strategy
Disaster Recovery and Business Continuity Have redundant data centers if possible Hot sites https://www-03.ibm.com/services/continuity/resilience.nsf/pages/atlanta https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_61/rzarm/rzarmdisastr.htm