software process for distributed teams kitware, inc
TRANSCRIPT
![Page 1: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/1.jpg)
Software Processfor Distributed Teams
KITWARE, Inc.
![Page 2: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/2.jpg)
"An expert is a man who has made
all the mistakes which can be made, in a narrow field."
Niels Bohr
![Page 3: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/3.jpg)
Overview
Insight ToolkitITK
Insight Journal
Image Guided Surgery Toolkit
IGSTK
National Alliancefor Medical Image
ComputingNAMIC
![Page 4: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/4.jpg)
The Insight Toolkit
Publicly funded NLM-NIH : $13M 6 Contractors and 4 Subcontractors 3 Commercial companies and 7 Universities 50 Unique developers 4 Years of development 2 Years of maintenance (so far) 41 platforms ( software + hardware ) 700 C++ Classes 1600 source code files 500 K lines of code
![Page 5: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/5.jpg)
ITK Developers
![Page 6: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/6.jpg)
Insight Toolkit
Software Process
![Page 7: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/7.jpg)
Communication
WeeklyTCons
Users MailingListInstant
MessagingDevelopersMeetings
Tutorials atConferences
BOF atConferences
NetMeeting
FTPfor Data
Developers Users
Dev. MailingList
Wiki
![Page 8: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/8.jpg)
ITK Software Process
Refactoring New Features
Insight Journal Paper
Online Public Reviews
Wiki Proposal
Technical Committee
CVS CommitCVS Commit
Code Reviews
![Page 9: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/9.jpg)
Wiki Proposals
![Page 10: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/10.jpg)
The Insight Journal
![Page 11: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/11.jpg)
The Insight Journal
Technical work must be reproduciblePapers should be publicly accessible
Peer-Review process must be open
Fully Electronic publishing
![Page 12: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/12.jpg)
Open Science
Reproducibility requires sharing
– Source code
– Images
– Parameters
Open source
– Existing algorithms provide services
– New algorithms made available to others
![Page 13: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/13.jpg)
Insight Journal Submission
Code
InputData
JournalRepository
WebSite
ResultsData
Author
BuildMachines
PDF doc
![Page 14: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/14.jpg)
Insight JournalManager
Author
SubmitsProject
DSpace
StoresProject
AutomaticTesting
Environment
PostsResults
Dashboard
SubmitsEntry
Reviewer
ReviewsProject
Process Flow
SendsCode
![Page 15: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/15.jpg)
Online Paper – Open Reviews
![Page 16: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/16.jpg)
NAMIC
Software Process
![Page 17: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/17.jpg)
NAMIC Structure
![Page 18: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/18.jpg)
Core 1 - Algorithms
Harvard
Georgia TechUNC
UtahMIT
Segmentation
Registration
Foundational Methods
Structural Features and Statistics
Connective Features and Statistics
1. Shape and Atlas Based Segmentation
2. Statistical Shape Analysis
3, DTI Connectivity Analysis
1. Diffusion-based Registration
2.Group Effect Maps
3. Automatic Segmentation
1. DTI Processing
2. Surface Processing
3. PDE Implementations
1. Combined Statistical/PDE Methods1. Quantitative DTI Analysis
2. Cross-Sectional Shape Analysis2. Stochastic Flow Models
Figure 3: a) A rendering of a cortical surface, extracted from MRI, shows a degree of noise that significantlyaffects successive processing. b) A feature-preserving, PDE-based filter smooths away small-scale noisewhile preserving sharp features such as the concave regions of the sulci.
(a) (b)
![Page 19: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/19.jpg)
Core 2 - Engineering
GE
IsomicsUCSD
UCLAKitware
Software Integration
Software Engineering
Software Quality
Software Engineering Tools
Data Access Tools
1. Cross-platform Build
2. Cross-platform Distribution
3. Cross-language API’s
1. Software Architecture
2. Software Process
3. Software Quality1. Graphical programming interfaces
2. Coordinate pre-compiled tools
3. Data format interpreters
1. DBP Applications1. Grid Middleware
2. Data Grid 2. Application Methodology
Distributed Computing
Applications
3. Data Mediation 3. Application Quality Assurance
![Page 20: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/20.jpg)
Core 3 – Biological Sciences
Harvard
Dartmouth
1. Fronto-Temporal Connections
2. Cognitive and Behavioral Data
UCI
U.Toronto
1. Brain Regions Involved
2. Clinical Cognitive and Genetic Data
![Page 21: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/21.jpg)
Support Cores (# 4-7)
Service, Training Dissemination Crucial support for the scientific and
engineering enterprise Support core PI’s also have strong scientific
credentials Collaboration history through BIRN and ITK
![Page 22: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/22.jpg)
Training
![Page 23: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/23.jpg)
Dissemination: Events
![Page 24: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/24.jpg)
Good Software
should be easy to teach !
![Page 25: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/25.jpg)
The NAMIC Philosophy
Open Source+
Open Data=
Open Science
![Page 26: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/26.jpg)
NAMIC Software Process
Algorithm Developer
SoftwareEngineer
Insight Journal Paper
Programming Week
Phone / IMCollaboration
Subversion/CVSSandbox
Bottomless Pit ofUseless Research
ITK / VTKSlicer
Wiki ProjectPage
![Page 27: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/27.jpg)
IGSTK
Software Process
![Page 28: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/28.jpg)
IGSTK Team
GeorgetownUniversity
UNCChapel Hill
AtamaiCanada
Kitware
* Subcontracts
PI
STTR – NIH Primary
![Page 29: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/29.jpg)
Design - Implementation Process
SurgicalProcedure
WorkflowAnalysis
FactorizingComponents
Wiki PageRequirements
Wiki PageDesign
SandboxVersion
Code Reviews
CVS Commit
Maintenance
![Page 30: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/30.jpg)
Traceability – FDA Process
Requirements
Bugs
Bug Tracking Database
CVSCommits
Logs
![Page 31: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/31.jpg)
Team Coordination
![Page 32: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/32.jpg)
Design Discussions - Wiki
![Page 33: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/33.jpg)
Requirements - Wiki
![Page 34: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/34.jpg)
Agile yet Strict
Developers Discussions – Tcon, IM, Mailing List, Wiki
Code Reviews
CVSSandbox
CVSMain
Wiki Proposals
Bug Reports
![Page 35: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/35.jpg)
Code Reviews - Wiki
![Page 36: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/36.jpg)
Bugs - CVS Commits linkage
![Page 37: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/37.jpg)
Bugs - CVS Commits linkage
![Page 38: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/38.jpg)
“Though a program be but three lines long, someday it will have to be maintained ."
The Tao of Programming
![Page 39: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/39.jpg)
End
![Page 40: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/40.jpg)
![Page 41: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/41.jpg)
![Page 42: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/42.jpg)
![Page 43: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/43.jpg)
![Page 44: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/44.jpg)
NA-MIC-Organization StructureExternal Advisory
Committee
GovernanceCommittee
Stephen Wong
PI: Core 7 (Management)
Ron Kikinis
Chair, GovernanceTask Force
Steve Pieper
Chair, UtlizationTask Force
e
Eric GrimsonChair, IP
Task Force
Randy GollubChair, Data Sharing
Task Force
Bill Lorensen
Chair, Process ChangeMgt Task Force
Stephen Wong
Chair, Project ChangeMgt Task Force
Will Shroeder
Chair, IT Task Force
Utilization TFProject
ManagementOffice
Governance
TF
IntellectualProperty TF
Data Sharing TF
InformationTechnology TF
Project ChangeManagement TF
Process ChangeManagement TF
NAMIC Cores 1- 6
Eric Grimson
PI: Core 1 (Algorithms)
Bill Lorensen
PI: Core 2 (Engineerg)
Steve Potkins, MarthaShenton
PIs: Core 3 (DrivenBiological Projects)
Will Shroeder
PI: Core 4(Service)
Randy Gollub
PI: Core 5 (Training)
Steve PieperPI: Core 6
(Dissemination)
Randy Gollub
Chair, TrainingTask Force
Traing &Education TF
Steve Pieper
Chair, Content MgtTask Force
ContentManagement TF
Steve Potkin
Chair, Image GeneticsTask Force
ImagingGenetics TF
Ron Kikinis: NAMIC PI
Stephen Wong: Co-PI
![Page 45: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/45.jpg)
Image Processing Method
AlgorithmInput
Image(s)
Parameters
OutputImage(s)
![Page 46: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/46.jpg)
Benefits of the Insight Journal
Allows sharing your Source Code
– Faster and larger impact on the community
Immediate feedback from Readers and Reviewers
– Open Dialog / Forum
No Limitations
– No page limitations
– No limit or charges for colour figures
– Accepting additional electronic material
![Page 47: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/47.jpg)
Benefits of the Insight Journal
Indexed by Google
Post revisions of papers and code
Richer reader’s experience
– Source code available
– Original parameters and images available
– Reader can try on their own data
Accepts practical contributions that are
too small for traditional full Journal Papers
![Page 48: Software Process for Distributed Teams KITWARE, Inc](https://reader030.vdocument.in/reader030/viewer/2022032705/56649dda5503460f94ad0ac0/html5/thumbnails/48.jpg)
or...
How to develop software with programmers located in distant sites…
without killing each other