Download presentation
Presentation is loading. Please wait.
Published bySherman Long Modified over 9 years ago
1
Software Process for Distributed Teams KITWARE, Inc.
2
"An expert is a man who has made all the mistakes which can be made, in a narrow field." Niels Bohr
3
Overview Insight Toolkit ITK Insight Journal Image Guided Surgery Toolkit IGSTK National Alliance for Medical Image Computing NAMIC
4
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
5
ITK Developers
6
Insight Toolkit Software Process
7
Communication Weekly TCons Users Mailing List Instant Messaging Developers Meetings Tutorials at Conferences BOF at Conferences NetMeeting FTP for Data Developers Users Dev. Mailing List Wiki
8
ITK Software Process RefactoringNew Features Insight Journal Paper Online Public Reviews Wiki Proposal Technical Committee CVS Commit Code Reviews
9
Wiki Proposals
10
The Insight Journal
11
Technical work must be reproducible Papers should be publicly accessible Peer-Review process must be open Fully Electronic publishing
12
Open Science Reproducibility requires sharing – Source code – Images – Parameters Open source – Existing algorithms provide services – New algorithms made available to others
13
Insight Journal Submission Code Input Data Journal Repository Web Site Results Data Author Build Machines PDF doc
14
Insight Journal Manager Author Submits Project DSpace Stores Project Automatic Testing Environment Posts Results Dashboard Submits Entry Reviewer Reviews Project Process Flow Sends Code
15
Online Paper – Open Reviews
16
NAMIC Software Process
17
NAMIC Structure
18
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 Methods 1. Quantitative DTI Analysis 2. Cross-Sectional Shape Analysis 2. Stochastic Flow Models
19
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’s1. Software Architecture2. Software Process3. Software Quality1. Graphical programming interfaces 2. Coordinate pre-compiled tools 3. Data format interpreters1. DBP Applications 1. Grid Middleware 2. Data Grid 2. Application Methodology Distributed Computing Applications 3. Data Mediation3. Application Quality Assurance
20
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
21
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
22
Training
23
Dissemination: Events
24
Good Software should be easy to teach !
25
The NAMIC Philosophy Open Source + Open Data = Open Science
26
NAMIC Software Process Algorithm Developer Software Engineer Insight Journal Paper Programming Week Phone / IM Collaboration Subversion/CVS Sandbox Bottomless Pit of Useless Research ITK / VTK Slicer Wiki Project Page
27
IGSTK Software Process
28
IGSTK Team Georgetown University UNC Chapel Hill Atamai Canada Kitware * Subcontracts PI STTR – NIH Primary
29
Design - Implementation Process Surgical Procedure Workflow Analysis Factorizing Components Wiki Page Requirements Wiki Page Design Sandbox Version Code Reviews CVS Commit Maintenance
30
Traceability – FDA Process Requirements Bugs Bug Tracking Database CVS Commits Logs
31
Team Coordination
32
Design Discussions - Wiki
33
Requirements - Wiki
34
Agile yet Strict Developers Discussions – Tcon, IM, Mailing List, Wiki Code Reviews CVS Sandbox CVS Main Wiki Proposals Bug Reports
35
Code Reviews - Wiki
36
Bugs - CVS Commits linkage
38
“Though a program be but three lines long, someday it will have to be maintained." The Tao of Programming
39
End
44
NA-MIC-Organization Structure
45
Image Processing Method Algorithm Input Image(s) Parameters Output Image(s)
46
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
47
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
48
or... How to develop software with programmers located in distant sites… without killing each other
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.