Status: Work in Progress
Developer Companion: A software development integration platform
Links
Vision
To improve the development process of and integration between separate software projects of a specific technology stack by increasing project insight and collaboration amongst contributors.
Goals
- Make all applicable project information available via a unified interface
- Limit amount of information via vertical views
- Link integration initiatives across projects
Implementation
Developer Companion is a generic system that can be used with any software project. To focus the development of the toolset it will initially be implemented to support the development of Firebug and Firebug Extensions as well as Zend Framework Components.
Please note: Developer Companion is an independent project by Christoph Dorn and is in no way affiliated with, endorsed or supported by these projects. That being said the features and direction of Developer Companion will be largely influenced by the needs of the developer communities with the aim of creating a toolset used by many members of these communities.
Challenges
This list is a work in progress. Please email me with comments and other challenges you experience.
- Keeping core and extension point documentation updated
- Limited time
- Fast pace of development requiring frequent documentation updates
- Solution: Derive as much information as possible directly from source code and mailing lists
- Providing in-context examples for extension points
- Time-consuming to maintain separate demo if it serves only as an example
- Time-consuming to locate examples in actual extensions
- Solution: Make demos a development tool by using them for extension point testing. Provide easy access to actual extension code that uses extension points.
- Assisting developers with extension point problems
- Time-consuming or impossible to reproduce problem
- Unorganized and diverse communication with multiple revisions and random feedback
- Solution: Provide an integrated repository, testing and communication system where code can be collaborated on using a unified interface.
- Keeping track of all information related to a specific component of a project
- There is lot's of data in code repositories, bug trackers, mailing lists, blogs, etc...
- No easy way to determine if something is still accurate/applicable
- Time-consuming or impossible to keep track of large amounts of resources
- Solution: Provide time-based vertical (component specific) views into project data and allow community to gather and organize information.