Thursday, June 30, 2005
N-Tier PDM/PLM and user defined behaviour
Particularly interesting was the problem of user-defined behaviour on the distributed system. I wasn't happy with the solutions we came up with. Some triggered my sixth sense, "this ain't gonna work". Some lacked the striking elegance of simplicity.
I finally got what I think is a good idea, about one hour after the meeting. Peace of mind is often my trigger for zen enlightnment :-), where everything falls into place and I can find a simple solution to a wicked problem.
Wednesday, June 29, 2005
Traveling - Project Management Tools
I've spent a good part of the day traveling, and that means reading and... thinking. I re-read, after a few years, two chapters of a nice book from Gerald Weinberg, one of my favorite authors. He has a unique perspective on software projects management, and looking at his concept of Standard Task Unit got me thinking about using Activity Diagrams (and colors) as a project management tool. It would need some scripting to generate a Gantt, but besides that, STU maps perfectly into activities, including the entry/exit criteria.
More on PM tools, including Slip/Lead charts, project history, real support for [probabilistic] estimates, and maybe just a little Monte Carlo simulations... later :-).
Well, it's late, no time to talk about Edward de Bono and, on a completely unrelated topic, on the Big Question of the day...
More on PM tools, including Slip/Lead charts, project history, real support for [probabilistic] estimates, and maybe just a little Monte Carlo simulations... later :-).
Well, it's late, no time to talk about Edward de Bono and, on a completely unrelated topic, on the Big Question of the day...
Labels: project management
Tuesday, June 28, 2005
Taking care of the business :-)
In top of that, I somehow managed to jot down a few paragraphs for my free book (in Italian) UML 2 Manuale di Stile. A new chapter on Protocol State Machines is starting to take shape, so a new release should be just around the corner...
Monday, June 27, 2005
Estimation models
Today I've been playing again with custom estimation models for software development. Custom models are derived from historical customer's data, and can accurately reflect the peculiarites of the customer's environment.
The model I'm working with is tailored to estimate debugging time given the coding time and 5 boolean properties of the project (e.g. new developments Vs. maintenance). The properties have been selected for their statistical significance for a specific customer.
Reflecting my approach to estimates and risk management (I'll write more on that) the model provides a "most likely" figure, but also a probability distribution, so that you can ask questions like "what is the maximum debug time, with 90% confidence?".
Of course, given an early estimate of coding time, we can apply the model and get back a rough estimate of debugging time, still quite useful as a sanity check. We can also play what-if scenarios with the boolean properties, see the impact (for those under control) and steer the project accordingly.
The model I'm working with is tailored to estimate debugging time given the coding time and 5 boolean properties of the project (e.g. new developments Vs. maintenance). The properties have been selected for their statistical significance for a specific customer.
Reflecting my approach to estimates and risk management (I'll write more on that) the model provides a "most likely" figure, but also a probability distribution, so that you can ask questions like "what is the maximum debug time, with 90% confidence?".
Of course, given an early estimate of coding time, we can apply the model and get back a rough estimate of debugging time, still quite useful as a sanity check. We can also play what-if scenarios with the boolean properties, see the impact (for those under control) and steer the project accordingly.
Labels: estimation, project management
Sunday, June 26, 2005
Partial classes and encapsulation
At the time, I thought the problem was real but the solution was bad - and that a different approach, like being able to add methods to a class without adding a subtype, could lead to a better solution.
For a long time now I've postponed any serious :-) thinking about partial classes in .NET and how they fit into the picture. Well, sooner or later I'll tinker with that :-)).
Multiple Dispatch in C# / .NET
It should be easy to use, fast (faster than the InvokeMember trick anyway), and most importantly, should allow a clean design without circular dependencies bewteen classes.
Stay tuned :-).





