.NET Stratego - Part I
Analysis and Project Management
In this phase we will describe how the analysis phase usually runs. We’ll also see the tools we can use to support the analysis and PM jobs.
Off course, these two aspects aren’t limited to the project startup, but we only focus on the definition and setup of the tools we can use.
Gathering Requirements
Whenever you agree on the start of a new project, you must first think about the functionalities of the application. We won’t go into details on how this process should be done. Usually both people from the business know what they want to achieve (or at least have a vague idea) and it is up to an analyst to get the requirements and put them on paper.
The requirements can be written out in several formats, either it is a full written text describing the required application, or either is a bulleted list of features.
Setup Project Management Tools
After requirements have been delivered, it is time to arm yourself with Project Management facilities. In this area dev teams think of tools like Microsoft Excel or Microsoft Project, which are both good to perform time planning and sizing. Now don’t get me wrong here, I do like these tools a lot, but they have there place and usage but in .NET Stratego we are discussing useful means for smaller teams.
Microsoft Excel
When looking at Excel, you probably agree that it is simple and it works rapidly. However, when you want to automate things a bit, you wind up in making more and more complex formulas and gradually inserting VBA code into it. Additionally, it is quit static and sharing the Excel between team members for time tracking for instance isn’t really what it is meant to do.
Microsoft Project
Microsoft Project on the other hand is capable of lifting these issues, though it is hard to work with. Creating an initial planning in MS Project is pretty doable; however, the hard part is keeping it alive. Projects have a lot of unforeseen events that could change your initial planning and reflecting these changes is hard in MS Project.
MS Project has a server version that allows users to track their tasks. They can also use it to indicate their time spent on it. As this is great IMHO, it is not really pragmatic and is targeting the bigger organizations. It takes a lot of time both for project managers and operational people to keep this running.
Gemini
Recently I stumbled upon a great tool in this area, which is called Gemini from countersoft. I was able to install it in 10 minutes and used it directly without reading any manual. Especially this last part increased my affinity for Gemini. I just hate it when you need to work through manuals, guides, etc just to understand what it is and what it can do.
Countersoft really managed to create a product that is easy and transparent. Every day I discovered new features realizing it has more power to it that I initially thought.
Another amazing thing about it is its pricing. You can use it for free for teams up to 10 people. A commercial license is only € 215 for unlimited usage.
Though, you can extend and configure Gemini substantially, the settings and features delivered out of the box are just fine. Since I want to make this guide also a bit practical I’ll briefly discuss with you a few settings to tweak it towards my suggested development strategy.
Configuring Gemini
I won’t describe the installation settings you need to do like a connection string for the Gemini database. Instead I want to point to some interesting settings (which can be found in the manual)
You can download the manual from the website of countersoft.
- Though not Gemini specific, you can tune IIS a bit as described in chapter 3.3
- Make sure you set the Date Format and globalization settings as described in chapter 4.4, 4.5
- Standard everyone can see all projects; this is a setting I wouldn’t recommend when you want to work with different projects for different customers. So turn this setting of in that case as described in chapter 4.7
- If you do like alerts, please configure the Mailplugin chapter 4.22 and optionally you can check if both the creator and assignee gets an alert every time something changes on an issue (chapter 4.9).
As I’m also pretty new to Gemini, I’m sure I will take a look at more advanced features like the source control integration and the plugin model. Perhaps some custom reporting could integrate this tool better with the chosen methodology.
Follow up reading
Introduction
Part I
Part II
Part III
Part IV
Part V
Conclusion