software engineering for internet and wireless systems lavastorm's sides conformance test...
TRANSCRIPT
Software Engineering for Internet and Wireless Systems
Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers
Sara MossJonathan Novich
April 28, 2003
© 2003 Lavastorm Engineering Confidential Page 2 www.lavastorm-engineering.comApril 21, 2003
Agenda
eStaffing & SIDES
Case Study: Staffing E-procurement System
Lessons Learned Strategy
Business Process
Technology
Lessons Learned Drill Down: inSIDER Testing Framework
Wrap-up
Lavastorm will present lessons learned on our recent eProcurement project and demo our SIDES test facility, inSIDER
© 2003 Lavastorm Engineering Confidential Page 3 www.lavastorm-engineering.comApril 21, 2003
eStaffing & SIDES
© 2003 Lavastorm Engineering Confidential Page 4 www.lavastorm-engineering.comApril 21, 2003
eStaffing: eProcurement for the Staffing Industry
eStaffing is Internet-based sourcing of temporary and permanent workers from staffing companies using private online marketplace
eStaffing vs. eRecruitment
3 key players
eStaffing highly manual today
Vendor Management System (VMS) functionality is central
Many staffing firms/ enterprises subscribe to multiple staffing exchanges
Hiring companies benefit from the competitive online private marketplaces
Staffing Exchange
(Vendor)
Staffing Company
(Supplier)
Hiring Company (Client)
Staffing Exchange
Hiring Company
Hiring Company
……
Client
Staffing Exchange
Staffing Company
(Supplier)
eStaffing
eStaffing Relationships
e.g. Boeing e.g. Chimes e.g. Adecco
VMS FOVMS/ATS
VMSVMS/ATS
VMS/ATS
……
VMS
E-Procure-ment
System
SIDES
E-Procure-ment
System
“Our e-procurement project wouldn’t have been funded without SIDES”eStrategist, Major International Staffing Firm
© 2003 Lavastorm Engineering Confidential Page 5 www.lavastorm-engineering.comApril 21, 2003
Case Study: Staffing E-procurement SystemBusiness Process
ChallengeSolution & Results
© 2003 Lavastorm Engineering Confidential Page 6 www.lavastorm-engineering.comApril 21, 2003
Case Study: Automating the eStaffing Process
Hiring Company Staffing CompanyExchange
Staffing Exchange
Login to website. Select suppliers. Type-in staffing order.1
Front Office
Log into FO & find candidates.3Return to website, complete web form for each candidate.4Login. Review submitted
candidates. Request interviews, negotiate price, etc.
5Login & review client request.6
Respond to client request.8Login & accept candidate.9
Login. Review acceptance. 10
Confirm availability in FO.11
Front Office
Confirm candidate on website.12
Review assignment details.13 Review assignment details.13
Determine action & update FO.7
Front Office
Login to website review order. 2
Staffing Exchange
Login to website. Select suppliers. Type-in staffing order.1
Front Office
Log into FO & find candidates.3Return to website, complete web form for each candidate.4Login. Review submitted
candidates. Request interviews, negotiate price, etc.
5Login & review client request.6
Respond to client request.8Login & accept candidate.9
Login. Review acceptance. 10
Confirm availability in FO.11
Front Office
Confirm candidate on website.12
Review assignment details.13 Review assignment details.13
Determine action & update FO.7
Front Office
Login to website review order. 2
© 2003 Lavastorm Engineering Confidential Page 7 www.lavastorm-engineering.comApril 21, 2003
Case Study: Before – The Business Challenge
Our large staffing firm interacted directly with multiple Internet-based staffing exchanges and client systems and had to continuously reenter data to/from their front office system
Front Office
Hiring Company
VMS
Hiring Company
Business Issues: Lost orders due to slow
response time Increasing number of e-
procurement orders Time wasted reentering data
from one system to the other without adding value
Sales skill set used to enter data
Training and operational costs of supported multiple web interfaces
Know multiple business processes, different business rules, & terms
Before
Hiring Company
Staffing Specialist
Staffing Exchange
Staffing Exchange
© 2003 Lavastorm Engineering Confidential Page 8 www.lavastorm-engineering.comApril 21, 2003
Case Study: The Solution – An E-procurement System
Solution components: Extensible e-
procurement engine Replaced web interface
& translated terms into the staffing firm’s lingo
Eliminated user need to hop between systems
Deals with the different business rules, process steps, & data needs of each client/exchange
Integrated with FO & other key data sources
Utilized SIDES, both within e-procurement system & with the trading partner
Completed reqts, design & dev in 14 wks New order to new assignment Supports 1000s of users J2EE-based, 3-tier web application Web services integration used to talk to
trading partner and internal systems Integrated with 6 internal data sources
The process knowledge was configured in the e-procurement system, leaving the staffing specialist to focus on value-adding sales activities
Front Office
Hiring Company
VMS
Hiring Company
After
Hiring Company
Staffing Specialist
Staffing Exchange
Staffing Exchange
Custom E-Procurement
System
© 2003 Lavastorm Engineering Confidential Page 9 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned:Strategy, Process, Technology
Root Cause Analysis: On Time, On Scope, On Quality
Refactored after each demowhich made us for efficient going forward, let us ramp-up after meeting the milestone, and made the code more maintainable
Planned aheadEach team member
identified and verbalized risks and issues(even if
they were in someone else’s area) so that they
could be managed
We focused on success, we all wanted to succeed, & did everything within our control to make it happen
Committed to the other team members
Practiced our demo & presentation beforehand & had back-up plans
Client-facing team & the development team
Vacations/time off after each demo
Good design documentation
Team members verbalized there needs (e.g. time off) & their hot buttons so others could be responsive
Efficiency
Used new development tools
Bugzilla
New machinesCode generation tools?
Eclipse
Motivation
Demo Focus
Established good demo scope & dates at project start
Focused on demos from Day 1
Didn’t have enough time to rebuild code, so couldn’t build demo-ware
Payments tied to demos
Risk Management
On-time delivery of software that met business
objectives without sacrificing quality
Very small teamKnew what each other were doing
Roles were clear
Each person knew their role & agreed their code-level interface
Developers sat next to each other
Knew RHI could be an important client to
LE
Felt responsible for proving LE
capability to them
Believed our success was
important to our company
Knew RHI could be an important client to
LE
Felt responsible for proving LE
capability to them
Believed our success was
important to our company
Got help at the end
Resources didn’t get poached or swapped
Client
No HoldupsEveryone focused on
working at 100%Couldn’t lose a day in the
scheduleAimed to avoid rework
Each team member verbalized if there was a potential for a hold-
up or reworkTeam members could switch roles to help out
Worked together to remove potential holdups
Prioritized tasks when any team member requested
Team
Made a real effort to be done early
Faked our own due dates Let ourselves be late on our own due dates, but kept pushing for the client date
Prioritize work based on client perceived value
IT team very experienced
Willing to cut scope when asked
Helped out whenever an issue
was raised
Technology & business-owners
actively involved
Dual project & technology management
Everyone put in the same level of effort
Each person had the skill & experience to
be successful in their role
We made an effort to get along, listened to
each other and treated each other
with respect
Made an effort to learn from each
other
Gently coached &
guided us on RHI
processes
Very good understanding of the development process
Trusted each other to fulfill their responsibilities, i.e. no micro-management
Client buyers attended demos
© 2003 Lavastorm Engineering Confidential Page 10 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Strategic Market ForceseProcurement players have conflicting goals when it comes to integration and this can seriously impact project success
Hiring companies have been passively driving eStaffing. Hiring companies require their staffing suppliers to utilize specific exchanges, making suppliers a captive exchange trading partner
Neutral 3rd parties or not, exchanges are client-focused. Understandably, staffing exchanges are focused on having the strongest client list since they get a % of hours worked
HR-XML interfaces are not high priority for Exchanges. However, Exchanges tend to remain client rather than supplier focused & have not to prioritized the build-out of HR-XML interfaces
eStaffing projects are critical to Staffing Firms since they have an increasing impact on costs and revenues.
© 2003 Lavastorm Engineering Confidential Page 11 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Strategic Market ForceseProcurement players have conflicting goals when it comes to integration and this can seriously impact project success
Exchanges are client-focused. Understandably, staffing exchanges are focused on having the strongest client list since they get a % of hours worked
Hiring companies have been passively driving eStaffing. Hiring companies require their staffing suppliers to utilize specific exchanges, making suppliers a captive exchange trading partner
HR sourcing management is increasingly important. As they become more interested in the management of HR sourcing, Hiring Companies are starting to see the importance of SIDES
HR-XML interfaces are not high priority for Exchanges. However, Exchanges tend to remain client rather than supplier focused & have not to prioritized the build-out of HR-XML interfaces
eStaffing projects are critical to Staffing Firms since they have an increasing impact on profits.
There are two Bs in B2B
Lesson #1: It’s not easy to find a SIDES integration partner
Lesson #2: All parties seem to believe that another party should foot the bill for the interface – make sure the business case doesn’t make this assumption
Lesson #3: Industry buzz on VMS providers to offer a SIDES “API”may impact market forces
© 2003 Lavastorm Engineering Confidential Page 12 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Business Process
Document the process flow first. Understand and document your detailed business process as early as possible, because this is what you will be automating
Know the details of the process to ensure success. Just accept that you’re going to have to know the nitty-gritty details of both your process and that of your business partner
Design one process per interface. The process is unique across each supplier, exchange, hiring company supply chain. The process is complex, and you’ll be implementing it many times!
Trace data from the UI to the XML messages. From business process to XML and HTML, you should be able to lift up the hood and trace features and data from the user interface through the XML message content. audit
eStaffing is all about implementing an extremely detailed process as an HR-XML interface
© 2003 Lavastorm Engineering Confidential Page 13 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Business Process
Document the process flow first. Understand and document your detailed business process as early as possible, because this is what you will be automating
Know the details of the process to ensure success. Just accept that you’re going to have to know the nitty-gritty details of both your process and that of your business partner
Design one process per interface. The process is unique across each supplier, exchange, hiring company supply chain. The process is complex, and you’ll be implementing it many times!
Trace data from the UI to the XML messages. From business process to XML and HTML, you should be able to lift up the hood and trace features and data from the user interface through the XML message content. audit
eStaffing is all about implementing an extremely detailed process as an HR-XML interface
The devil is in the process detail
Lesson #4: Document the eStaffing process and understand unique steps & rules across each supplier, exchange, client combination
Lesson #5: Trace the features & data from the user interface through the XML message
© 2003 Lavastorm Engineering Confidential Page 14 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Process-Driven Technology
Creative License. Don’t expect SIDES activity diagrams to do more than get you started. “The activity diagrams are a summary of staffing processes. They do not include all of the actions or schemas but only those central to understanding the process.”
Let the business process drive your interface. Align your technology terminology with the business terminology. Keep a glossary of each others’ terms. Don’t speculate as to what’s needed.
Start early on your data mappings. Document dependencies between the systems under discussion (intra-party and extra-party). Build scenarios from the beginning of real XML documents and their side effects on your systems.
Iterate early and often. Push the data through your stylesheets and scripts as you discover more about the system.
Plan for daily interface meetings. Prepare your team for long conversations about issues large and small and document the conversations.
Let the business process and terminology drive the technology
© 2003 Lavastorm Engineering Confidential Page 15 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Process-Driven Technology
Creative License. Don’t expect SIDES activity diagrams to do more than get you started. “The activity diagrams are a summary of staffing processes. They do not include all of the actions or schemas but only those central to understanding the process.”
Let the business process drive your interface. Align your technology terminology with the business terminology. Keep a glossary of each others’ terms. Don’t speculate as to what’s needed.
Start early on your data mappings. Document dependencies between the systems under discussion (intra-party and extra-party). Build scenarios from the beginning of real XML documents and their side effects on your systems.
Iterate early and often. Push the data through your stylesheets and scripts as you discover more about the system.
Plan for daily interface meetings. Prepare your team for long conversations about issues large and small and document the conversations.
Let the business process and terminology drive the technology
Let the process drive the design
Lesson #6: Let the business process drive system development including terminology and messages
Lesson #7: Iterate data mappings with your trading partner and start the process early
© 2003 Lavastorm Engineering Confidential Page 16 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Testing Framework
Not all parties will be ready to test at the same time. Coordinating design, testing & delivery across so many players & moving parts adds a high-level of project & technology risk, which a test facility helps to minimize
Maintain testing independence. Values alone & various other competing initiatives are going to make project life hard & you’ll want to work independently once the is complete
Offline testing is an important test capability. One of the trading partners may already have most of their XML interface in place. Wouldn’t it be easier to test with a harness rather than your partner’s site?
Increase debugging efficiency by minimizing cross-company bug management. You’ll want to debug before opening a cross-company bug report. Having a test facility will enable you to test changes to trading partner interfaces and changes to your e-procurement system more easily
You’re not going to be developing and testing at the same pace as your trading partners
© 2003 Lavastorm Engineering Confidential Page 17 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned – Testing Framework
Not all parties will be ready to test at the same time. Coordinating design, testing and delivery across so many players and moving parts adds a high-level of project and technology risk, which a test facility helps to minimize
Maintain testing independence. Values alone and various other competing initiatives are going to make life hard and you’ll want to work independently once design work with the trading partner is complete
Offline testing is an important test capability. One of the trading partners may already have most of their XML interface in place. Wouldn’t it be easier to test with a harness rather than your partner’s site?
Increase debugging efficiency by minimizing cross-company bug management. You’ll want to debug before opening a cross-company bug report. Having a test facility will enable you to test changes to trading partner interfaces and changes to your e-procurement system more easily
You’re not going to be developing and testing at the same pace as your trading partners
Win friends and influence people with a test facility
Lesson #8: You’ll need to convince business oriented team members that a test facility is important, but it’ll be worth it
Lesson #9: Don’t wait until development is complete to start testing – start testing as early as possible
© 2003 Lavastorm Engineering Confidential Page 18 www.lavastorm-engineering.comApril 21, 2003
Lessons Learned Drill Down: inSIDER Testing Framework
© 2003 Lavastorm Engineering Confidential Page 19 www.lavastorm-engineering.comApril 21, 2003
Drill Down: InSIDER BackgroundInSIDER was originally driven by technologists, but the business need quickly emerged
Command line tool needed for developers to validate system functionality
InSIDER 0.1
Web-based tool used to send new orders to our system to kick-off the eStaffing process
InSIDER 0.2
Extended our system to include the ability for the user to change the data being sent in the XML, a much truer use case
Our trading partner wasn’t ready to test with us, so we streamlined the tool to support black box testing
Became our customer acceptance test tool
InSIDER 1.0
Developed next generation of the tool now that its users (product designer, HR-XML modelers, dev, QA, & Joe) uses were better understood
InSIDER 2.0
© 2003 Lavastorm Engineering Confidential Page 20 www.lavastorm-engineering.comApril 21, 2003
Drill Down: The Complications of B2B Testing
Staffing Exchange
(Vendor)
Staffing Company
(Supplier)
Hiring Company
(Client)
Staffing Exchange
Staffing Exchange
Hiring Company
Hiring Company
Emulation points
A SIDES test facility can be used to minimize the project and technical risk of building interfaces with trading partners
Test facility characteristics:
Configurable – Establish a generic framework to support the various business processes
Extensible – Accommodate the need to adapt to a changing business environment, e.g. update processes, business rules
Transparent – Provide a mechanism to validate the contents of each SIDES-based message
Easy to Use – Create a user interface that is web accessible and intuitive for business and technical users
Open Source Components
eStaffing Emulation Points
© 2003 Lavastorm Engineering Confidential Page 21 www.lavastorm-engineering.comApril 21, 2003
Drill Down: inSIDER High-Level Architecture
inSIDER Staffing
Exchange
inSIDER Staffing Company
Exchange Config
StaffingConfig
inSIDER Technologies: Built in XML, XHTML, &
XSLT
Client side: IE 6.0+ Forms Player 0.9.3.6 – open
source IE plug-in for posting back/forth in XML
Server side: Tomcat or an application
Servlet container Apache Ant 1.5.1 Apache Axis 1.1 Java Virtual Machine 1.4.1
inSIDER 2.0 was developed by Lavastorm to test trading partner functionality using open source technology
Note: While InSIDER can emulate hiring companies, for the sake of simplicity, we will only be demonstrating a 2-party relationship in our demo.
© 2003 Lavastorm Engineering Confidential Page 22 www.lavastorm-engineering.comApril 21, 2003
Demo
© 2003 Lavastorm Engineering Confidential Page 23 www.lavastorm-engineering.comApril 21, 2003
Servlet Container (Tomcat)
Drill Down: InSIDER Architecture
Processing Engine
(Ant)
Web Services
Framework (Axis)
Object Store
(Database or Flat File)
Message Store
(Database or Flat File)
User Interface
(XHTML, XSL,
XForms)
The inSIDER architecture cleanly separates object & container and execution & formatting
© 2003 Lavastorm Engineering Confidential Page 24 www.lavastorm-engineering.comApril 21, 2003
Drill Down: Testing Framework Next Steps…
Given a configured InSIDER to our trading partner on day 1
Started meaningful trading partner conversations on day 3
Focused on processes and real data to validate expected results (and the acceptance test) with all parties involved
Completed all design and worked through most of the kinks before kicking-off system development
Completed white box & black box testing more efficiently
When we consider how much our project could have benefited from InSIDER, there is no question that it will be a more integral part of our next eStaffing project. We could have…
Recognize that every stakeholder involved in designing, developing or testing an e-procurement system will need
this type of tool.
We wonder if there is any way to extend the SIDES standard to include these concepts and capabilities?
© 2003 Lavastorm Engineering Confidential Page 25 www.lavastorm-engineering.comApril 21, 2003
Thanks!
Feel free to contact us:
eStaffing article
http://www.hr.com/HRcom/index.cfm/114/6B7190B9-DD31-4840-B10AC3EB84DA1E87?ost=rcFeature
OR on our website
OR email us!
We’ll be around through Wednesday, and would love to talk with you directly to learn about your HR-XML implementation, projects, and experiences