building a giant atlassian universe to take over the world
DESCRIPTION
Fidelity Information Services uses Atlassian tools to manage its software lifecycle from end to end, for massive, multi-million LOC financial applications including core banking and channels products. In this session Glen and Chris will share the high-level process flow for development at Fidelity. Attendees will leave with the tools to implement change in their own environments while maintaining control and assuring quality in a regulated environment.TRANSCRIPT
Building a Giant Atlassian Universe!
Glenn Bingham and Chris Macharia!
To Take Over The World!
Fidelity Information Services!
The Process Guy The Technology Guy
Software and Services for Banks and Financial Institutions!
14,000 Customers!
!
200+ customers worldwide!
Millions of account holders!
700+ software professionals!
Profile Core Banking Solution!TouchPoint Channels Solutions!
Software and Services for Banks and Financial Institutions!
Our Applications!• Profile: the FIS real-time, international, multi-language/multi-currency,
ultra-scalable core banking platform!• 7mm+ LOC!• TouchPoint: Channels solutions for branch, call center and e-banking!• Profile core is M-code/MUMPS and Java, GT.M open source database.
Channels applications are Java. Integration to other platforms via FIS Xpress SOA platform!
Large scale, big team, corporate environmentIt’s people’s money – it needs to be correctNothing happens by accident!
Our Stack!• Workflow & Collaboration!
• JIRA, Confluence!
• Source Code!
• Subversion, Fisheye, Mercurial!
• Code Quality!
• Crucible, FindBugs, JTest, Fortify!
• Builds!
• Bamboo, Artifactory!
Our Stack!Development
Tools Project Mgmt Tools
JTest, For+fy Ar+factory Quality Center QTP Winrunner,
Loadrunner
MS Project Planview
EPK Es+ma+ng tools
MS Office
Time tracking Time repor+ng Project plans Project status Program repor+ng Financial repor+ng Green/Yellow/Red
Code management Code review
Development history Build scheduling
Build status Defect repor+ng Defect severity Task progress
Detailed task status Traceability
Platform Usage & Volumes!• 2,500 users!
• Users in North America, Europe, Asia, Central/South America, Australia!
• 150+ K JIRA records!
• Growth rate of 80% / year!
• Platform support team:!• 4 core staff, 4 secondary support!
You don’t have to toss out (all) your other toolsYou don’t need a large team to support 100s of users!
FIS Software Development Lifecycle!• Software quality and accuracy are paramount!• Gigantic process! CMMI Level 3 based SDLC and project
management process set - FISSP!• FISSP is methodology independent; defines the what, not the how!• Tools support the process; they do not define the process!• Our Atlassian integration project began in April, 2009!
Our Tools Philosophy!• The primary intent three years ago was to evolve our software
development methods toward a more incremental and continuous process!• Implement new technology tools (Atlassian suite, Subversion, others) to
support this transformation.!• This model is descriptive, not prescriptive (step 1, step 2, etc.) – teams
adopt specific practices to achieve goals and benefits • Software development workflow is guided/loosely constrained as
opposed to controlled/highly constrained
Our Tools Philosophy!• Software development workflow is documented and enabled within Jira, but
we have not constrained the tool to force compliance • Team members are expected to follow the workflow and the rules • Some rules are absolute and are highly constrained, for example, code
check-in/check-out • Some fields are required • OOB = out of the box. For the most part, we are using the ability to
configure Jira, but not the ability to highly customize it
Guided (loosely constrained)vs.
Controlled (highly constrained)
Workflow!JIs and development workflow
Using JIRA for Financials!• Annual budget process!• Portfolio Item is a major
budget line item!• Every Requirement JI must
link upstream to a Portfolio Item JI!
Managing Requirements!• Requirement JIs represent
software requirements!• Subtasks define standard work!• Requirement JIs beget
Enhancement JIs!• Traceability (large grain)!• Requirements in Subversion!• Introducing Balsamiq!
Managing Requirements!• Next level of
detail: Require-ments workflow!
Know yourself! Align your culture to your processes and tools, assess Flexibility vs. Control To take over the world, you need a plan OOB=less work to implement and maintain!
Managing Source Code!• Primary tool is Subversion!
• Also looking at Mercurial!
• Enhancements in JIRA!
• Traceable to Requirements!
• Agile development (Greenhopper)!
• Test case driven development!
• Integrated security!
• Mandatory code reviews!
Custom Integrations!• Subversion commits dependent on
JIRA issue links!
• Code branches locked/unlocked from Confluence!
• Subversion project access tied into JIRA/Crowd groups!
• JIRA workflow transition counters!
• Auto creation of issues!
• Auto-switching issue types!
Builds and Deployments!• Continuous integration builds!
• Cherry-picking builds!
• Ant or Maven 2 (Artifactory)!
• Local and remote auto-deploys!
• FTP and Auto-Test jobs!
!
Testing!• Defect JIs are linked to
Enhancement JIs (as applicable)!• Traceability!• Other testing tools: Quality Center,
QTP, Performance Center, LoadRunner!
• Use of linking for cross-project Defect JIs!
Additional Quality Assurance!
• Mandatory code reviews!• Only authorized code changes allowed!• Junit for automated unit tests via Bamboo!• Automatic running of test suites on new builds!• Static code scanning in developer local workspaces!• More comprehensive code scanning of built code (JTest / Fortify)!• All historical issue data is available for reporting and analysis!
Project Management Support!• All PMO issue types in JIRA!
• Change Requests, Risks, !
Issues, Action Items!
• Auto issue escalation!
• Delegation of Project Administration tasks!• User management, Version management!
Leverage JIRA for traceability across the lifecycle Use Bamboo for more than just buildsAdd custom integrations and plugins, but judiciously!
Atlassian Toolset Benefits!• Lower license costs!
• Lower support costs!
• Responsive to SDLC changes!
• Ease of integrations, plug-ins!
• All data in one place!
• Full end-to-end traceability!
• Management visibility!
Balancing Trade-offs!
• All aboard, or See you later?!
• Our way or the highway!• Centralized control vs delegated!
• Standard flows/pages vs customized!
• Stability vs flexibility!
Tips and Pointers!• Process:!
• To take over the world, you need a plan!• Know yourself! Align your culture to your processes and tools!• OOB=less work to implement and maintain!
• Technology:!• No need to throw out other tools that are working well for you!• Leverage JIRA for traceability across the lifecycle!• Find the right balance between stability and flexibility!
Q & A!
#summit2012
If you want to take over the world, you need a plan!
Thank you!