After finishing iteration one, I'm ready now to continue to the second iteration. The result and process of the first iteration become important factors for the second one. I'm now beginning to feel comfortable about the chosen architecture and the process.
Grouping of posts is important, because it enables readers to comprehend many items into some manageable chunks. There are two kinds of grouping defined here: category – a structural grouping by topics, and tag, an arbitrary grouping by keywords.
Class model will be refined to capture more general terms, not just specific to blogging system. Blog will be made as one 'content-type'. There will be many other content types that we can define in the system. For example news, downloads, and picture galleries. As a consequence of this change, data model will also be updated to be in-sync with the class model.
Images and files are static contents. Usually IIS will serve requests for static contents directly without involving ASP.NET engine. However, there will be requirements to take some actions when serving images or files for the readers. IIS alone can't handle this scenario. So, it is wise to pass the responsibilities to serve images and files to ASP.NET engine.
Authentication and authorization are two basic security tasks that must be implemented in any blogging system. Read only access to the system must be granted by anyone. However, adding or updating an item requires proper authentication and authorization, since only certain roles that should be granted to do those tasks.
Finally I will implement an admin module to input posts into the system. This is important feature since without this feature we won't be able to add or update items.
In iteration two, the scope is now widened to be able to group posts into categories and tags. Class model and data model will be refined to be more general. Images and files will be handled by controllers instead of IIS. Authentication and authorization will also be implemented. As the first implementation of data input, an admin module will be established with limited number of functionalities.


