SOW-Studio / input_data /WiseTx - Salesforce Leap Frog - SOW - Fully Executed.txt
bullyellis's picture
Initial commit
5c104bb
raw
history blame
25.1 kB
DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
1
Statement of Work: Salesforce Leap Frog
STATEMENT OF WORK
THIS AGREEMENT (“Statement of Work” or “SOW”) dated April 18, 2024, is between Acme, LLC (“Consultant”
or “Acme”) and WiseTx (“Client” or “WiseTx”).
This Statement of Work is controlled by the terms and conditions set forth in the Master Services Agreement
(“Agreement”) between the aforementioned parties dated February 16, 2023 which references the following
terms:
Description of Services and Deliverables
WiseTx is reconfiguring/restructuring their Salesforce for scalability. They needed to understand how their
current environment operated before beginning restructuring.
Now that the documentation phase is completed and the scope of Salesforce changes needed has been
determined, WiseTx is ready to begin implementing the enhancements from the implementation roadmap.
Acme and Client representatives will meet weekly to review the project status to identify progress against
agreed milestones, identify key risks, and remove roadblocks as needed. Acme resources will be part of an
embedded team, working with two (2) WiseTx developers to implement the documented changes needed.
Acme will use the following deliverables and services as a basis of work:
Deliverables:
• Refactor and enhance code as directed by architect and backlog o Apex Triggers, Apex Classes, and Apex
Test Classes (refer to Exhibit A and Exhibit B) o Refactor Flows
• Transition Workflow Rules and Process Builders to Flow
• Test refractor code and declarative automation
• Document changes made in core documentation
• Communication and integration plans created with Development Teams to work within current
development plans
Services:
• Kickoff SOW with Development Teams to create communication and integration plans
• Participate in Development Teams standup meetings, code reviews, and project meetings
• Conduct quality assurance testing for completed development items, potentially including unit testing,
automated testing, and integration testing. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
2
• Utilize WiseTx DevOps platforms to manage code repositories and branching strategies to ensure a
clean, current codebase.
• Attend Development Team implementation meetings
• Formal training with the Development Team will be done based on level requested and time in SOW
• Provide recommendations related to the requirements documentation.
Delivery Schedule
This engagement will begin within 45 days of the execution of the Statement of Work. Acme will provide two
(2) Salesforce developers for an estimated four (4) months, embedded with two (2) WiseTx
developers. Mutual discussion and agreement to increase or decrease the Consultant headcount based on
Client’s business need will occur at least bi -weekly, with a t hirty (30) day lead time to headcount actions.
Delivery of specific scope features will vary based on prioritization by WiseTx and estimation by developers.
Delivery Schedules are estimates only, as completion dates assume the start date specified by this SOW and
correctness of assumptions detailed in this document and in discussions with WiseTx .
Investment
Acme will provide the services and deliverables described above at a Monthly per -consultant rate of $26,000.
Acme agrees to perform all services based on Client instruction, Client priority, and available time; however,
this does not guarantee comple tion or delivery of any functionality or schedule. For monthly flatrate billing,
consultants typically work 40 hours per week, with variances to ensure delivery when necessary consistent
with Acme’s Results -Focused culture. Consultant vacations up to a period of 10 business days are not
deducted from invoicing rates.
The total estimated engagement cost is expected to be $190,200.
Hours over 55 per week per Consultant, regularly outside typical working hours, or weekend hours will be
billed on a Time and Materials, Overtime rate of $300 per hour per consultant. Acme will send invoices at the
conclusion of each month to William Har ding at oahkpfe@demo.com .
Should any consultant be regularly required to work outside of core business hours (Monday -Friday 8am -6pm)
as part of their project, Acme will invoice an additional $300 per day per consultant hazard fee.
DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
3
Project Constraints and Flexibility
Any project must always balance three types of project constraints: Scope, Cost, and Time. Acme agrees to
perform all services based on Client instruction, Client priority, and available time. Client acknowledges that
prioritizing two of the project con straints will necessitate flexibility on the third.
Expiration
This contract will expire if not executed by Client and received by Acme by June 30, 2024.
Travel Expenses
If Consultant is engaged to work outside of their home metropolitan area, Client agrees to pay for actual and
reasonable costs incurred by Acme for travel, living, and boarding, provided anticipated expenses are in
accordance with Client’s travel policy . Acme will render invoices for expenses upon completion of the
services or monthly, in the event the duration of services exceeds one month. Invoices for expenses are
payable upon receipt.
Assumptions
• All changes and change requests outside the defined Description of Services and Deliverables of this
Statement of Work (i) will be accomplished in writing, (ii) will be executed by both parties, and (iii) may
have cost and schedule implications if agreed u pon in writing by Client. Acme will detail any changes to
cost and schedule resulting from such changes in an executed Request for Change or SOW.
• Client will provide a team member who will take on the primary responsibilities for applicable project
management, including status reporting, sprint review materials, etc.
• Client will share any available previous vendor documentation and architecture related to the software
applications in scope for the Acme developers.
• Client will provide credentials for Acme developers in a timely fashion.
• Client will provide reasonable access to key personnel in a timely fashion.
• Client will provide guidance as to budgetary and licensing restrictions for tool selection.
• Client is responsible for providing a technological and processing environment conducive to supporting the
system selected by Client and in accordance with the specifications recommended by the software
publisher.
• Client assumes complete responsibility for the selection, licensing and performance of all hardware and
software. Consultant makes no claim, and accepts no responsibility whatsoever, as to the suitability of such
hardware and software applications for Clie nt’s business operations and objective.
• Client will provide a development and testing environment for integration with other systems. If Client
cannot provide such an environment, Client will accept any loss of productivity on production
environments due to development, testing, deployment, and support of software on these systems. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
4
• Acme is not liable for changes to Client’s third -party systems, or the data therein, while working in
conjunction with the respective vendors of each system.
• Client will provide a VPN connection or AVD (Azure Virtual Desktop) to allow Acme to connect to their
network remotely.
• Acme expects and plans to perform all services in a continuous manner. Delays mandated by Client will
have cost and schedule implications. Acme will detail any changes to cost and schedule resulting from
such slippage in an executed Request for Chang e.
• Acme will deem all data provided by the Client for development and testing purposes as not personally
identifiable as described by GLBA and HIPAA, unless Client formally notifies Acme otherwise.
• Client will encrypt and specifically label any data that any Federal or State act protects before providing
such data to Acme for development and testing purposes.
• Client will have five (5) contiguous business days to review provided deliverables and notify Acme of
acceptance or required changes. If Client does not notify Acme within five (5) contiguous business days,
Client will have accepted the deliverable.
• Acme will perform the Services and Deliverables in a professional and workmanlike manner, consistent
with industry standards and in accordance with the Agreement.
IN WITNESS THEREOF, the parties have executed this Statement of Work as of this __ day of __3rd May_______,
2024.
Acme, LLC WiseTx
By: ____________________________________ By: _______________________________________
Name: _Elon Musk________________________________ Name: _Peshdi
Jackson__________________________________
Title: _________________________CEO__________ Title: ________________________________President_____
Exhibit A
DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
5
Leap Frog Planned Tasks
Contact Object
Triggers
• ContactTrigger – No changes
Apex Classes
• ContactTriggerHelper o Remove processAfterInsert function – it does nothing. o Refactor
processAfterUpdate function to extrapolate common functionality to helper functions.
o Logging updates.
• ContactTriggerHelperTest o Extrapolate common functionality to separate functions. o Increase
validation of changes. o Add testing for error / non happy path.
Process Builder
• Track Contact Changes – convert to flow.
Flows
• Convert before flows to sub flows.
• Create new before flow to invoke sub flows when required.
Member Drug
Triggers
• MemberDrugTrigger – No changes
Apex Classes
• MemberDrugTriggerHelper o Logging updates.
• MemberDrugTriggerHelperTest o Fully test all use cases in MemberDrugTriggerHelper.
• MemberDrugService o Extrapolate common functionality to helper functions. o Review / optimize
SOQL queries. o Logging updates. o Improved error handling.
Process Builder
• Track Member Drug Changes – convert to flow.
Flows
• Convert flows to sub flows.
• Create new flow to invoke sub flows when required.
Claim Information
Triggers
• ClaimInformationTrigger – No changes
Apex Classes
• ClaimInformationTriggerHelper o Logging updates. o Extrapolate common functionality to helper
functions. o Refactor existing helper functions for readability, maintainability, and optimizations. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
6
o General cleanup of unused or duplicate logic.
• ClaimInformationTriggerHelper o Extrapolate common functionality to helper functions. o Increase
validation of changes. o Add testing for error / non happy paths.
Process Builder
• Claim Create – convert to flow.
• Claim Update – convert to flow.
Flows
• General – update to handle conversion of process builders to flows.
Case
Trigger
• AWM_Case – managed package; we need to determine what this package is doing to ensure this is
doing what it should be.
• RHX_Case – move logic to CaseTriggerHelper and delete this trigger.
• CaseTrigger – add active flag.
Apex Classes
• CaseTriggerHelper o Extrapolate common functionality to helper functions. o Logging and error
handling updates.
o Refactor for readability, maintainability, and optimization. o Cleanup of unused and
duplicate logic.
o Review / optimize SOQL queries.
• CaseTriggerHelperTest o Potential full rewrite to test and verify logic of CaseTriggerHelper.
Process Builder
• Case Process – convert to flow.
• Case Priority_Version2 – convert to flow.
• Reevaluate Case Routing on Case Update – convert to flow.
• PRx_Post_Go_Live_Case_Routing – convert to flow.
• PRx_Pre_Go_Live_Case_Routing – convert to flow.
• IRx_Post_Go_Live_Case_Routing – convert to flow.
• IRx_Pre_Go_Live_Case_Routing – convert to flow.
Flows
• General – update to handle conversion of process builders to flows.
Apex Process
APIIntegrationClass
• Associated with: Member Drug, Claim Information, Case • Refactor for readability, maintainability, and
optimizations. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
7
• Review / optimize SOQL queries.
• Logging and error handling updates.
• Rewrite test class to validate logic, testing happy path, error paths, and edge cases.
BatchCaseClosePostGoLive
• Associated with: Contact, Member Drug, Claim Information, Case
• Refactor for readability, maintainability, and optimizations.
• Review / optimize SOQL queries. o This uses UTIL_SObjectToQueryableString class, which allows for
selecting all fields of an SObject. We don’t want to do this as it increases the price of the query. We
should only be selecting fields we need. Ideally we would delete this class once we have optimized all
queries that are currently using it.
• Code cleanup to remove unused variables and logic.
• Update logging and error handling.
• Rewrite test class to validate logic, testing happy path, error paths, and edge cases.
ButtonHelper
• Associated with: Contact, Claim Information, Case
• Extrapolate common functionality to helper functions.
• Refactor for readability, maintainability, and optimization.
• Review / optimize SOQL queries.
• Update logging and error handling.
• Refactor test class to move setup to separate function(s), validate error / non happy path and edge
cases.
CAGAssociationHelper
• Associated with: Contact, Case
• Extrapolate common functionality to helper functions.
• Refactor for readability, maintainability, and optimization.
• Review / optimize SOQL queries.
• Update logging.
• Refactor test class:
o Extrapolate common functionality to setup function. o Add additional validation to
success test. o Add tests for error / non happy path and any edge cases.
CaseRoutingBatch
• Associated with: Contact, Member Drug, Case
• Remove logic that exists for only test purposes.
• Extrapolate common functionality to helper functions.
• Refactor for readability, maintainability, testability, and optimization.
• Update logging and error handling.
• Target try / catch logic. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
8
• Code cleanup to remove unused variables and logic.
• Rewrite test class to test and validate all paths of class.
CETStagingTriggerHelper
• Associated with: Contact, Claim Information
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to separate functions.
• Extrapolate large functions to own class (where applicable).
• Target try / catch logic.
• Review / optimize SOQL queries.
• Update logging and error handling.
• Refactor test class to extrapolate common functionality to utility methods, extend verification where
applicable, and ensure all code paths are properly covered.
ClaimInfoCloseTermedClientClaimsBatch
• Associated with: Claim Information
• Cleanup code to remove unused variables and logic.
• Review / optimize SOQL queries.
• Update logging and error handling.
• Add verification of error path in test coverage.
ClaimInformationRoutingBatch
• Associated with: Member Drug, Claim Information
• Review / optimize SOQL queries.
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to separate function.
• Update logging and error handling.
• Replace hard -coded references.
• Rewrite test class to test and validate all paths of class.
ClaimMemberDrugUpdateBatch
• Associated with: Member Drug, Claim Information
• Review / optimize SOQL queries.
• Refactor for readability, maintainability, and optimization.
• Add verification of data to test class.
ClientTypeChangeBatch
• Associated with: Member Drug, Claim Information, Case
• Review / optimize SOQL queries.
• Refactor for maintainability and optimization.
• Rewrite test class to test and validate all paths of code. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
9
ClientTypeSyncJob
• Associated with: Member Drug, Claim Information, Case
• Refactor to take advantage of batchable interface.
• Review / optimize SOQL queries.
• Add validation of non happy path to tests.
CommunicationToLetterBatch
• Associated with: Contact
• Review / optimize SOQL queries.
• Expand validation of happy path in test; add validation of non happy / error path.
Communication_Service
• Associated with: Contact
• Update logging and error handling.
ContactGroupAccountUpdateBatch
• Associated with: Contact
• Review usage of Database.Stateful interface.
Contact_Selector
• Associated with: Contact
• Review / optimize SOQL queries.
DrugStagingController
• Associated with: Contact
• Combine with DrugStagingControllerBioPlus and DrugStagingControllerPublix (or at least implement a
base class with shared logic and extend as needed).
• Add verification to existing tests; add checks for non -happy paths.
DrugStagingControllerBioPlus •
See DrugStagingController.
DrugStagingControllerPublix • See
DrugStagingController.
E1TriggerHelper
• Associated with: Member Drug, Claim Information
• Update logging and error handling.
• Review / optimize SOQL queries.
• Extrapolate common functionality to separate functions.
• Refactor for readability, maintainability, testability, and optimization.
• For test class: DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
10
o Extrapolate common functionality to utility / setup methods. o Refactor for
readability and maintainability. o Increase validation for existing tests and add
additional tests for edge cases.
FileE2Batch
• Associated with: Claim Information
• Review / optimize SOQL queries.
• Target try / catch logic.
• Refactor to handle larger batch sizes.
• Extrapolate setup from test functions to setup function.
LetterService
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Code cleanup to remove unused code.
LOB_Service
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to utility methods.
MassClaimsChangeOwner
• Associated with: Claim Information
• Review / optimize SOQL queries.
• Update logging and error handling.
• Expand test validation.
MemberDrugRenewalTaskBatch
• Associated with: Member Drug
• Extrapolate common functionality to utility function.
• Add validate for non -happy path in tests.
NPIContactsListController
• Associated with: Member Drug, Claim Information
• Refactor for readability, maintainability, testability, and optimization.
• Review / optimize SOQL queries.
• Add coverage for error paths to test class.
NPIMemberDrugListController
• Associated with: Member Drug, Claim Information
• Refactor for readability, maintainability, testability, and optimization.
• Review / optimize SOQL queries.
• Add coverage for error paths to test class. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
11
PapBillGroupService
• Associated with: Member Drug
• Refactor for readability, maintainability, testability, and optimization.
• Validates results in tests; add error path tests.
PreImplementationObjectStore
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Update logging and error handling.
• Extrapolate common functionality to utility method.
• Review / optimize SOQL queries.
PreImplementationTriggerHelper
• Associated with: Contact, Case
• Refactor for readability, maintainability, testability, and optimization.
• Update logging and error handling.
ProcessClaimsQueueable
• Associated with: Claim Information
• Combine with SendClaimsQueue and update references; functionally both classes do the same thing.
ProcessContactStatusBatch
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to utility function.
• Remove hard -coded email addresses.
• Update logging and error handling.
• Review / optimize SOQL queries.
• For test class:
o Extrapolate setup to setup function. o Add validation after execution of tests.
o Add tests for non -happy execution paths.
ProcessContactStatusQueueableBatch
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to utility function.
• Remove hard -coded email addresses.
• Update logging and error handling.
• Review / optimize SOQL queries.
• For test class:
o Extrapolate setup to setup function. o Add validation after execution of tests. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
12
o Add tests for non -happy execution paths.
PublixNPIContactsListController
• Associated with: Member Drug, Claim Information
• Refactor for readability, maintainability, testability, and optimization.
• Review / optimize SOQL queries.
• Add coverage for error paths to test class.
PublixNPIMemberDrugListController
• Associated with: Member Drug, Claim Information
• Refactor for readability, maintainability, testability, and optimization.
• Review / optimize SOQL queries.
• Add coverage for error paths to test class.
ReRouteAllowCaseRecordsQueueable
• Associated with: Case
• Refactor to take advantage of batchable interface.
• Refactor for readability, maintainability, testability, and optimization.
• Update logging and error handling.
RevertBadDataBatch
• Associated with: Member Drug, Claim Information
• Remove code; this does not appear to be used (looks like a one time use case). If that is not the case,
we can provide an accurate estimate.
SearchClaimsController
• Associated with: Claim Information
• Update logging and error handling.
• Review / optimize SOQL queries.
• Refactor for readability, maintainability, testability, and optimization.
• Target try / catch logic.
• Rewrite test class to test all paths of code.
SendClaimsQueue
• See ProcessClaimsQueueable
SendEmailHelperBulkified
• Associated with: Contact
• Refactor for readability, maintainability, testability, and optimization.
• Review / optimize SOQL queries.
• Update logging and error handling.
• Extrapolate common functionality to utility functions. DocuSign Envelope ID: 2E514FC9 -C434 -4FFA -9201 -8BBC43CA7584
13
SendLetterController
• Associated with: Contact
• Review / optimize SOQL queries.
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to utility function.
• For test, extrapolate setup to setup function and extend validation where applicable.
TCNCallRecordTriggerHelper
• Associated with: Contact, Member Drug, Case
• Update logging.
• Refactor for readability, maintainability, testability, and optimization.
• Extrapolate common functionality to utility functions.
• Review / optimize SOQL queries.
• For tests, add tests for all execution paths.
UpdateCaseAgeBatch
• Associated with: Case
• Refactor for readability, maintainability, testability, and optimization.
• Remove unused logic.
• Review / optimize SOQL queries.
• Extend verification in test class.
Architectural updates
• Centralize logging and emailing.
• Overhaul Testing to ensure code is validated and not just runnable.
Communication & Team Integration
• Members of Acme team will be on any stand -ups, planning meetings, and any other activities that
Prudent Rx wants us to attend.
• We will continue check point meetings to go over work we have done.
• If anything comes up that needs immediate action, we will coordinate that as well.