wiki:DevelopmentProcessNotes

Version 4 (modified by soujak, 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 subversion repository is available at svn+ssh://svn.xt3.it/var/svn/kaya for developers team only. Public access will be provided when version 0.2 will be released.

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 at svn://trac.xt3.it/kaya.

As you can see both services are proudly hosted by XT^3^, an experimental system-administration team composed by two of us.