Chapter 6. Conclusion

Over the course of this project I have taken a stagnant and bug-ridden programme and engineered it to become a useful and unique application with a vibrant group of developers which will ensure it continues to improve and support the increasing number of users. The unglamorous but vital initial technical work of removing the accumulation of bugs gave me time to familiarise myself with the tools and social leadership required for the project, and allowed the creation of a stable release which users could depend upon. My successful integration of Umbrello into KDE will ensure that it is no longer a fringe programme but will be distributed and treated as a central part of modern Free Software desktop operating systems. The new features I have added, such as multiple undo and a functioning clipboard, as well as the implementation of all UML diagram types, brings the programme up to a quality required for industry use. The promotional work I have done has brought Umbrello and UML modelling to a larger audience and it is now included in commercial GNU/Linux distributions from Mandrake[mandrake] and SuSE[suse].

Free Software development traditionally has paid little heed to software engineering techniques used elsewhere in the computing industry. Umbrello is starting to bring UML modelling to Free Software development, initially by documenting existing object structures of programmes such as Quanta the HTML editor[quanta] and Karbon the vector drawing programme. It is likely that by expanding and manipulating these diagrams the programmers will find, as I have done with my work on Umbrello, that UML gives a powerful abstraction from details which greatly simplifies high level programme design. Umbrello is now also used by a number of commercial developers, including NASA and Nextphere[nextphere], who allow programmers to contribute to Umbrello as part of their employment.

6.1. The Bazaar Method

Bazaar development works well for a programme such as Umbrello. It is a technical programme with technical users who are all familiar with software development. An indication of how well suited it is to the method comes from the number of people who are working on it as part of their job. This is an encouraging development and it would be excellent to see this practice spread to less technical programmes. In the other direction efforts could be made to encourage participation from users who are less technical but nether-the-less motivated by a desire to better the tools they have. One way to do this might be to improve the bug and feature reporting facilities, the user-interface of which can be hard to use.

A leader with good communication skills and a vision for the general course of the programme is an essential requirement for bazaar development. One of the obvious problems with the bazaar method is that it takes place over the Internet which gives limited communication possibilities compared to face to face development. As the leader I made sure to build familiarity within the developers by insisting on a personal paragraph for each developer on the website. I also made sure to use the available communications mechanisms as effectively as possible by keeping the news section of the website updated, and ensuring every e-mail and bug entry is responded to. It is also important that the leader is more than an administrator but also takes an active role in development. Since the organisation works on merit the leader or core developers must merit their position to hold sway with the other developers.

With hindsight I think I would have made it clearer what stage of the development cycle we were at, perhaps a box on the front page of the website to indicate whether the development focus was on debugging or on new features. The biggest problem I have found with supporting Umbrello is solving problems caused by users who have differently configured computers. Fortunately the bazaar method is perfect for helping with the multitude of possibilities allowed for by Unix, and somebody who has come across the same problem will almost always be able to offer help.