Upload
p6academy
View
383
Download
1
Embed Size (px)
Citation preview
REMINDER
Check in on the
COLLABORATE mobile app
Focused Integration Development with Agile Methodologies
Prepared by:
Michael DeAngelo
Senior Technical Lead
Calance, Inc.
Ensuring project success requires discovering and managing each client’s individual nuances and needs
Session ID#:
Our Expertise
■ Calance has been an industry leader in providing integration solutions since 2001
■ We have successfully integrated:
▪ Primavera Contract Management
▪ Primavera P6
▪ PeopleSoft
▪ JD Edwards
▪ Timberline Accounting
■ Integrations are developed using the Calance Dimension Integration Framework
Our Clients
Calance serves a wide range of clients in the construction management and project planning domains including: school districts, general contractors, municipalities, mining, and energy
Dimension Integration Framework
Connectors
A set of libraries to facilitate reading from and writing to
various sources
There is connector per system
Contain the ability to communicate with
databases, web services, and SDKs
Integration Core
Consists of libraries that encapsulate logic common
to all integrations
Provides ETL and data validation mechanisms
Implementation
Integration stacks are partitioned into integration
families
Each integration automates a specific business need
Each integration is tailor to customer needs
Integration Projects
Large Variations in Data Structure and Quality
Highly Configurable Enterprise Systems
Large Amounts of Institutional Knowledge
Complex Validations
Highly Susceptible to Scope Creep
Variations in Data
■ Legacy data
■ Poorly structured data
■ Workarounds that lead to complex data
■ Lack of consistency or prevalent exceptions to the rules
Variation in Systems
■ Large variations in implementations of highly configurable ERP systems such as PeopleSoft
▪ Component interfaces
▪ Business rules and
validations in modules
■ Data is read from and written to many locations
▪ DB
▪ APIs/Web Services
▪ Flat files/Spreadsheets
Institutional Knowledge
■ Large amount of institutional knowledge in the various groups of users and stakeholders, which leads to:
▪ Undocumented and
obscure processes that
are difficult to automate
▪ Additional, previously
undocumented,
complexity
▪ Special cases and
exceptions to the rules
Validations
■ Often underestimated but play a critical role in integrations
■ Validations continually evolve as the understanding of the systems increase
http://agilemanifesto.org/
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Scrum Overview
■ Is an iterative method of software development that ensures customers are continually realizing value
■ Allows for nimble and rapid responses to changes in requirements and scope
■ Shorten feedback loop between development team and client needs
Kanban Overview
■ Comes from Lean Manufacturing
■ Roughly translates to billboard
■ Primary Goals
▪ Continuous delivery
▪ Limit WIP (Work in
Progress)
▪ Visualization of
project/product state
▪ Discover bottlenecks
▪ Incremental improvements
of process
Real World Constraints
■ Can be difficult in practice
▪ Processes should be
adapted to the needs of
the team
■ Important to remember primary objectives of Agile
▪ Continually demonstrating
value to client
▪ Adapting to change
Team Mentality
■ We are all working to achieve a common goal and we are all responsible for the project’s success
▪ There is no single owner of a technology, codebase, or client
▪ It is not acceptable for an individual to ‘only do one thing’
▪ We all have primary and secondary skillsets
One Team Many Projects
■ Pros
▪ Each sprint has a unique an
well defined goal
▪ Each sprint can have multiple
Product Owners each with an
in-depth understanding of the
client needs
■ Cons
▪ There is never a ‘team’
retrospective
▪ Difficult to allocate time to
multiple sprints
■ Pros
▪ There is a single Sprint
Backlog and thus a master
priority list
▪ No need to partition time
between sprints
■ Cons
▪ Difficult to define the
‘shippable’ product
Sprint Per Project One Sprint Many Projects
Support and Maintenance
■ While we use Scrum for project work, we use Kanban for support Tickets
■ Limiting the WIP helps to ensure that we do not drop issues
Agility with Agile
■ Iteration the process not just the product/project
■ Adapt your processes to be more effective over time