building a giant atlassian universe to take over the world

Post on 11-May-2015

1.018 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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!

top related