Version 2 (modified by 18 years ago) (diff) | ,
---|
Development Process Notes
This project assumed a high didactic worth, not only in Operating System development? related matters or in C programming, but also in development process itself and its collaborative characterization. Right ahead, you will find some notes about team's conduct of development, deeply describing its way of development taking a look to its approach to analysis, to the applied techniques and to the used tools.
Approach
As you can notice while reading "Development notes", developers team appreciates high-level analysis of problems, in order to dominate project complexity and to understand the aim of specifications, and of project itself. Because of the risk that this kind of approach remains superficial, it must be followed by a in-depth analysis, with the purpose to structure internal mechanisms, allowing insertion of little code hacks?. Only this kind of dual analysis allow a final and complete understanding. Such duality has been also applied in team planning, clearly separating design time and implementation time, discussion one and coding one in order to avoid wastes in terms of time and psychic resources.
Strategies
After knowing of Xtreme Programming methodologies (thanks to SW Engineering course), we dared trying to apply its paradigm onto our development process, in order to enjoy its benefits. As mentioned above, we started each day with a stand-up meeting for planning activities, but we also learned how to code together, with only one person at keyboard, or how to write code according to previously agreed standards.
Collaborative Tools
Collaborative work is not easy, because of all troubles originated from synchronization matters among developers. That is the reason of our experiencing new tools, aimed to help us in such difficult jobs.
One of these is subversion
a versioning substsyem, which trace every changes
to the code and offer a set of features that makes merging/branching operations
easier. In addition to this, and according to XP teaching, we took advantage from
subversion's tagging utility for frequently releasing "stable" sub-version.
Our public subversion repository is available at svn://svn.xt3.it/var/svn/kaya.
Another usefull tool is a web-based software project management: trac
.
It offers a complete system, including an enhanced wiki, where we wrote (and will
write) kaya project documentation, an issue tracking system based on tickets, and
others features favoring planning.
trac web interface for this project is online (we hope!) at svn://trac.xt3.it/kaya.
As you can see both services are proudly hosted by XT3, an experimental team composed by two of us.