Ive covered in this retrospective the questions that seem important to me. Your retrospective might focus on different ones, and thats just fine. Here are a few short items that Id like to mention, just so that youll know that Ive thought about them and what I think:
Tools. Would we have gained much from better tools? Im not aware of any tools that held me back a lot. Still, good programmers are good tool users and tool builders, and maybe we should have thought of more. As it stands, I see the need for improved customer testing tools, but beyond that I feel that our tools were good enough.
WYSIWYG. Would the program have been very different had our customers demanded a WYSIWYG editor? I dont believe that the structure would have been different, but certainly much more effort would have been spent on look and feel, with correspondingly less time available for actual features. I feel we had the tradeoff right.
What about rendering instead of TextBox? If this project goes forward, I believe well want to get rid of TextBox, to move all the functionality to TextModel, and to render characters and handle mouse-clicks in a widget of our own invention. I believe that doing this will put some effort into the widget, but I know where there is one to start with, in Petzolds book. Well add more function to TextModel, but it shouldnt change the design. I believe our design is fully ready for a hand-rendered display should we want one.
Are there other big design changes needed? I dont see them. I feel that the design is rather good for the problem it solves , and theres not much that I would change if I could. One reason for this is that when we see changes we would like to make, we usually make them. So everything important that has shown up has already been reflected in the design.
Better use of Visual Studio. I do wish I knew Visual Studio better. Im sure there is a book out there I should have read. On a larger project, there would be more people experimenting, and in a larger organization we might find an expert who could teach us a few tricks. I feel sure that we would benefit from a better understanding of Visual Studio, but I cant prove it.
Deeper study. In general, would studying more have helped us? There are probably a few places where a little more book research would have paid off. Visual Studio, just mentioned, is one example, and keyboard handling might be another. But we probably didnt go far off, and while I might in retrospect add in a few half days of study or experimentation, I feel that we drew the balance well, though not perfectly .