Mar 30, 2005 / Visual Studio 2005 Team System

1 comments
Visual Studio 2005 Team System will be a great product. On my opinion, this is one of the most significant improvements in tools for software development during the last several years. Perfect integrated environment with so many good features (unit tests, continuous integration, version control, iterative planning, bug tracking). In fact, this is close to road map of our TargetProcess application, but we are just on the start. Microsoft is a good competitor, you know :) Maybe it is not for small teams (and this is a bad thing for sure), but I hope we will see a kind of light edition. If not, someone will definitely take that niche. For example, TargetProcess :)

Mar 23, 2005 / NHibernate Query Analyzer

1 comments
At least there is a GUI tool for NHibernate that simplifies mapping files creation and NHibernate queries debugging. NHibernate Query Analyzer is good for the first sight. I did not dig into details yet, but the tool is usable and quite clever. It converts NHibernate queries to SQL queries, provides chooses where possible and maybe could generate source code (there is a option, but I did not try it). One disadvantage is a lack of a User Guide, but I hope it will appear soon.

Mar 21, 2005 / Funny Phrase Book of Programmer-speak

0 comments
Great and funny stuff :) Yes, sometimes this is true from Project Manager's side: “It’ll be done ASAP.” Translation: There is no schedule yet. “That feature shouldn’t add any time to the schedule.” Translation: There is no schedule yet. “It’s Alpha ready.” Translation: A lot of code has been written; none tested. “It’s Beta ready.” Translation: It’s Alpha ready.” Read more at http://blog.tomevslin.com/2005/03/managing_progra.html

Mar 11, 2005 / How To Start a Startup

0 comments
Very good and detailed article about startup - How To Start a Startup. Paul Graham talks about ideas, people, money, customers' expectations and all the other important questions that should be asked while starting a company. Some cites:
So if you want to invest two years in something that will help you succeed in business, the evidence suggests you'd do better to learn how to hack than get an MBA.
Working was often fun, because the people I worked with were some of my best friends. Sometimes it was even technically interesting. But only about 10% of the time. The best I can say for the other 90% is that some of it is funnier in hindsight than it seemed then
Starting a startup is not the great mystery it seems from outside. It's not something you have to know about "business" to do. Build something users love, and spend less than you make. How hard is that?

Mar 4, 2005 / NUnitASP Problems

1 comments
I've tried NUnitASP to test ASP.NET web pages in TargetProcess project. As usual, there are some problems with tool adoption. All these issues have been resolved, but I am not satisfied with solutions and stop using NUnitASP for now. I want to find a better way.

Tests Independence & Database State

To keep tests independent, web application should be in known initial state before every test

The TargetProcess system uses database, so the database should be in the same state before each test. I can't find a better way than executing bat file from command line in [SetUp] method. The bat file contains something like this: osql -U sa -P -d dbname -i D:\TargetProcess\src\Tp.Model\Sql\testData.sql

This works. Not as fast as I want, but I can wait a minute or two. When database become bigger, this solution might be unacteptable.

Dynamic Controls Insertion and NUnitASP

Most of the server controls inserted dynamically on run-time in TargetProcess. This cause additional problems, since controls ids may change. For example, new TargetProcess' module will insert additional control on dashboard. And I should update many already defined Ids in tests. Here is code sample:

protected override void SetUp()
{
  SetInnocentState();

  control = new UserControlTester("_ctl4", CurrentWebForm);

  ddFilterByIteration = new DropDownListTester("ddFilterByIteration", control);
  btnUpdate = new ButtonTester("btnUpdate", control);

  dgUserStories = new DataGridTester("dgUserStories", control);
  row = dgUserStories.GetRow(0);

  ddIterations = new DropDownListTester("ddIterations", row);
 
  lbChangeStatus = new LinkButtonTester("lbChangeStatus", row);
  lbDelete = new LinkButtonTester("lbDelete", row);

  Browser.GetPage("http://tp/Tp.Web/Project/1/Planning/UserStories/List.aspx");
}


[Test]
public void ListView()
{
   string[] expected = new string[]
       {"Text. Will not check it", "12", "Great"};

   AssertEquals(expected[1], dgUserStories.GetRow(0).TrimmedCells[1]);
   AssertEquals(expected[2], dgUserStories.GetRow(0).TrimmedCells[2]);
   AssertEquals("- Iteration? -", ddIterations.SelectedItem.Text);
   AssertEquals("Done", lbChangeStatus.Text);
}

[Test]
public void FilterList()
{
   ddFilterByIteration.Items[1].Selected = true;
   AssertEquals("Iteration #1", ddIterations.SelectedItem.Text);
   ddFilterByIteration.Items[0].Selected = true;
   AssertEquals("- Iteration? -", ddIterations.SelectedItem.Text);
}

In code control = new UserControlTester("_ctl4", CurrentWebForm) real base control id is "_ctl4". But when add new control on the top of this, its id will be "_ctl5". This is a major issue for now.

Mar 2, 2005 / New XP - Less Extreme, More Communication, More Feedback

0 comments
Kent Beck wrote the second edition of his "Extreme Programming Explained" book. The new XP model proposed in this book is very different from original XP (good comparison of old vs. new XP). New XP has 24 practices. Most of the new practices about human factor and business relations. And there are not so many new techies practices (just Single Code Base and Root-Cause Analysis maybe). It seems that new XP is more adaptive and maybe more, well, "agile". This is a kind of meta-process that could have variuos survivable implementations in different environments. And it is less "extreme", especially nowadays.

Mar 1, 2005 / TargetProcess:Suite v1.2 Coming Out. With Source Code? Oh, Yeah!

0 comments
We are near to official release of TargetProcess:Suite v1.2 - Agile Project Management Software. The main aim of this release is to make application easier to use, so v1.2 includes dozens of small improvements like copy user story, list sorting and filtering and so on. We hope that usability will be much more better. FireBird database support added (including embedded FireBird), so it is possible to not install database at all. Several people requested time tracking feature and it is implemented now as TimeTracking module. It could be just turned off if you do not want to track time. Also, starting from this release, commercial open source version of TargetProcess:Suite will be available. We understand that TargetProcess may not fit all requirements and give our customers full rights to change everything in the system. Check demo of TargetProcess:Suite 1.2 and let us know your impressions.
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