Sep 29, 2004 / Great AOP Example

0 comments
AOP is new for me. I am trying to understand advantages of this programming approach. This AOP example clearly shows at least one cool thing that you can do with AOP. There is a very elegant resolution of mixed-role cohesion probelm. (I don't want to explain it here, just read it).

Sep 23, 2004 / Is Code Generator + Stored Procedures worse than O/R Mapping?

2 comments

Excellent post about O/R Mapping and stored procedures. Paul writes, that there are two good approaches for development:

  1. O/R Mapping
  2. Stored Procedures (SP) + Code Generator (CG)
I agree. Other ways are not so good and bring additional problems (sometimes serious). Just one point is discussable for me. Paul puts O/R mapping on the first place, but I don’t think that CG+SP definitely worse than O/R Mapping. I have very bright example in our company. We've used CodeSmith, and this tool really great. Sure, templates took time, and I can't insist that O/R Mapping will not solve the same problems faster next time. But, anyway, CG is a good alternative. I personally prefer O/R Mapping. I have experience with NEO.NET and Tangram, and these tools are good and helpful. But there were some nasty problems with them, and (sadly) lack of documentation is very serious problem for many free open-source tools. It takes time to dig into source code and get the problem fixed. It takes time to understand system behavior, when it does not mach expectations. But these are problems of exact (free) tools, not an O/R Mapping in general.

Sep 17, 2004 / Configuration Management Basics

0 comments
Perfect Configuration Management Basics picture. Nothing new for experienced developers in fact, but such visualization always good by itself. I like pictures, charts and stuffs like that. They help me to understand things better.

Sep 16, 2004 / A Better Web Application Interface

0 comments
Just read John Wilger's article about Gmail app architecture. It seems like near future of web applications. GMail uses Javascript and XML to soften weakness of HTTP statelessness. New and interesting approach anyway.

Sep 15, 2004 / NEO Impressions

0 comments
We are using NEO in TargetProcess project. So far so good in general. Simple operations with database are really simple, code looks much more better, unit tests are clearer and faster to write. Yes, unit tests are really fast. NEO provides database abstraction in its core, and real database is not required for tests. I like that. But there is one nasty bug I had not fixed yet. Sometimes NEO throws an exception when trying to cast objects. The problem is very strange in fact. I did not dig into details, maybe it can be fixed within reasonable time frame. Anyway, this bug worsens overall (good) impression.

Sep 9, 2004 / XP Planning and Stephen Covey

1 comments
Ron Jeffries did tried XP Planning for his own life management. Here what is he does. He creates big story cards like that:
House. This includes cleaning the basement, putting in the new kitchen, improving the master bath, getting more storage for books and impedimenta, general cleaning, doing something with the broken grill, ...
Then breaks these big cards into several smaller and assigns some of them on short iterations. Pretty easy and similar with XP Planning practice. I am reading excellent Stephen Covey's book Seven Habits Of Highly Effective People. There are some parallels between Covey's advises and Ron Jeffries' approach. Covey wrote, that you should determine the most important things in your life and focus on them. You can write down them and then split them on smaller parts (big and small user stories in fact). Then Covey gives an interesting advice about planning. You'd better use one week as a basic planning unit (like an iteration in XP?) for all important tasks in your life and track progress every weekend. A single day is a bad planning unit, since you will plan very strict and feel yourself under pressure. And the pressure will increase in the course of time. Single week gives more freedom. So Stephen's methodology for life management (the book was published in 1989!) is something like XP Planning for software development. It has three essential things:
  • Focus on important things
  • Small manageable chunks (features)
  • Small (weekly) iterations for better progress tracking

The question is... Can we consider life as a Project? :)

Sep 8, 2004 / Agile Development Conf. Papers

0 comments
Just found a dozen papers (PDF) from Agile Development Conf. 2004. Some of them are really good:
  • XP "Anti-Practices" : anti-patterns for XP practices
  • Learning Effective XP: Successes and Failures
  • The Slackers Guide To Project Tracking

Sep 7, 2004 / How many iterations do you plan?

0 comments
Actually, This is an interesting question for me. I think the answer depends on Project Manager. The lowest end is obvious - one iteration :). But what about the highest end? I prefer plan next two iterations. Maybe someone plan three or four? Please, left the comment if you can.

Sep 6, 2004 / Iteration Types: New features & Bug fixing

0 comments
I just read Roy Dictus post Iterative Development (Part II). One thing is very arguable on my opinion. Row writes:

Smart Development defines two basic iteration types:

New Features Iterations

A New Feature iteration is as its name suggests: an iteration during which new features are added to the project

Debugging and Optimization Iterations.

A Debugging and Optimization iteration is used to perform more functional testing (of the version delivered at the end of the previous iteration) and more thorough unit testing and debugging. Existing code can also be optimized and/or refactored during this period for performance or maintainability.

The iterations of different types follow one after another. So you develop new features, then debug and optimize, then develop new features again, etc.

This approach is very interesting, but arguable. For example, it contradicts Extreme Programming planning practice. In XP all business decisions are making by customer. And bug fixing sometimes is a business decisions. Yes, it is. Customer might think, that new feature has greater business value and just more important than old nasty-but-rare bug. And customer doesn't want spend money on bug fixing during month or two.

Otherwise, Debugging and Optimization Iterations help create more stable and robust software.

So should PM ignore customer's priorities and always plan these Optimization iterations? I think he/she shouldn't. But sometimes such an iteration can help. Especially in the beginning of the project.

Also one phrase really hit me:

Testing and Debugging: More unit tests are written, and code is debugged accordingly [during this phase].

I always thought that unit testing is a part of development phase. There are programmers who writes unit tests, not testers.

0 comments
GhostDoc is a very small and helpful plug-in for VisualStudio.NET. It can "automatically generating those parts of a C# documentation comment that can be deduced from name and type of e.g. methods, properties or parameters". Just click mouse button and get brief (sometimes very good, but sometimes somewhat quirk) method description. I've tried GhostDoc and stick to it.

Sep 3, 2004 / Subversion (are you still with CVS?)

1 comments
Several weeks ago I had a look at Subversion (quite fresh freeware Version Control system, which announced to be replacement of CVS). My first impressions were very good and I decided to use Subversion for the new project. So I can give you some impressions now. Yes, Subversion really has cool features like directory versioning and full version history (on all actions with files and directories). You can move project folder anywhere, and it still be under version control. When you commit files, all unversioned files appear in a list, so you can easily add them into repository. There is a useful ignore list (well, this is not a new feature, but I like it). Plugin for VisualStudio (AnkhSVN) have some problems with stability. It crashed, and I did not try to re-install it. AnkhSVN is good in fact, maybe the problem is special for my PC configuration. The only problem appears to be with folders renaming. I renamed two, and couldn't commit them into repository. I had to delete these old folders from repository and add renamed as new folders.

Sep 2, 2004 / One-Person Company

2 comments
Eric Sink wrote great article Exploring Micro-ISVs about running one-person company. I am trying to run very similar ISV now, and some advises are extremely useful. Especially this one:

Don't start too big

In any software company, it's important to find a way to keep your 1.0 cycle as short as possible while still building a product which will generate revenue. This is a delicate balancing act, I admit. If your 1.0 release is light on features, fewer people will buy it. If you build the product that will appeal to the bulk of your market, it will take too long. Where's the happy medium? ... The purpose of 1.0 is to help pay for the development of 2.0, and so on.

I am going to cut off some features from the first release after this article. Thank you, Eric!

Some good reflection from .NET Undocumented blog author.

Sep 1, 2004 / Focus on your core strengths

0 comments
One quote:

"Marketing guru and agent of change Seth Godin writes that for your company to do more, sometimes you need to do less! Stop trying to be all things to all people (or customers), and focus (in your life and in your work) on your core strengths. Your business (and probably your sanity) are likely to improve."

I'm reading great Stephen R. Covey's Seven Habits Of Highly Effective People book. I think Covey would say exactly the same :) Yes, this is obvious! But we have to change our habits to become more effective. Focus on the most important things is the key. I like it.
0 comments
Sometimes it is desirable to run tests in a web browser. RUnit can be used for ASP.NET applications. It runs tests and returns results in XML. So you can integrate RUnit XML feed into your build process monitoring tool. Very good idea!
Subscribe to the RSS feed
Stay tuned by having the latest updates via RSS
Follow TargetProcess on Twitter
Get in touch with our team

TargetProcess is an agile project management tool. It is designed to solve distributed teams problems and support agile development processes.



Key Features

  • Full Agile Project Management Support (Scrum, XP, Custom)
  • Productivity Tools (Tp.Tray, ToDo list, dashboards, Inline editing)
  • Customizable Development Process
  • Subversion Integration
  • Integrated Bug Tracking, Help Desk, Time Tracking

Get TargetProcess for Free (5 users pack)

Previous Posts



    follow me on Twitter

    Archives