Thoughts about ready for development

Another day with several issues. We still have open points with our business. The BRD has parts in it which we can’t develop as expected. By the way BRD means Business Requirement Document.

What is the main problem with this document? Let’s start with one of the requirements. “I need a car”. Sure, we can build this. Yes we can do it.

After several months of development the team is coming up with a nice sports like car. The color the car was delivered is blue. But the business is not happy about this. It can just seat 2 people and has no trunk and where should sit my kids … you get the idea.

Where is the main problem? What went wrong? I believe it was mainly a communication problem. The business was not able to define clearly what they like to have. At least the were not able to define it sufficient for the development team. And the team thought they knew what to develop. Fun times. And for sure fun times to miss the point. What does the customer need?

To avoid situations like this there is a simple tool. Before the development team starts to develop they should consider a simple checklist. This checklist is called ‘Definition of Ready’ and contains basically the following points:

  • Story defined and written
  • Story traceable to source document (where appropriate)
  • Acceptance criteria defined
  • Dependencies identified
  • Size estimated by delivery team
  • User experience included (where appropriate)
  • Performance criteria identified (where appropriate)
  • Person who will accept the user story is identified
  • Team has a good idea about how to demo the user story

    Further links to elaborate on this:

    R. Pichler DoR

    K. Power DoR

    agilealliance DoR

Some thoughts about coding

I recently came across the following post: Learning to Code

There are some struggles described which I believe every programmer/developer/coder will at some point struggle with the points described there. There are several flame wars ongoing. Tabs/spaces, Emacs/Vi, Windows/Mac/Linux/Unix, SQL/Non SQL, etc.

You get the idea.

At some point in my career we had to change our mail software. The change was from ‘your choice’ to Lotus Notes. We had an uproar in our company. If we had to change then we should change to Outlook … ahmmmm or Thunderbird … ahmmm or other free software.

During one of this discussions one of my colleagues stated it simple: The company decided for Lotus Notes so we will use Lotus Notes. It is no way to waste our time in discussing this. And don’t forget every single alternative mail program has similar abilities. So why worry?

Several years later I have an idea why people get worried about changes: They have to leave their comfort zone and learn something new. This is a huge change in a company and affects in the way how we work. But just until we know our tools.

If I think back to the start of this post. Help with the struggle can be found in asking: What are the standards for the company I work for. It’s not depending on flame wars. It’s depending on how we can help to get more successful in our daily work at the place we work currently.

ASP.net webparts with local SQL Server

A change to the Microsoft environment is the change to use as much as possible SQL Server Express. This is in my project not so usable. I use here a full installation of SQL Server 2008.

To change the behavior you have to add the asp sql parts, e.g. procedures and so on. The next step is to provide your website with the correct connection string.

Provide your SQL database with the ASP.NET schemas

Open a command-line window on your system and run the aspnetregsql.exe utility that is installed with ASP.NET 2.0 in under your C:\WINDOWS\Microsoft.NET\Framework\v2.0.xyz directory.

Note that this utility can be run in either a GUI based mode or with command-line switches (just add a -? flag to see all switch options).

Change the connection string

Change/expand web.config with the following entries:

<configuration>
<connectionStrings>
<remove name=”LocalSqlServer”/>
<add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=myWebParts;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>

Fonts and Colors

Last week one of my class colleagues asked me why my Visual Studio environment was black. I told him because I like it. But perhaps the better answer is because I can do it.

With the color themes it is really easy to change the colors to a theme which you like. Not only the colors also the fonts can be changed. And if you are at this point … there will be many more possibilities to extend your IDE to your likings.

Pragmatic Thinking and Learning

After finishing the book Pragmatic Thinking and Learning I wrote the following mail to the Author Andy Hunt. Why? Because I think it is one of the best books to explore yourself in your work environment and it helps you to discover all around you.

Hello Andy,

I would like to thank you for writing the book ‘Pragmatic thinking and learning’ For me it was one of the most difficult book to read. I almost needed 7 months to read it. Usually I read a book with this amount of pages in a few days.

After finishing it I asked myself: “Why took this book so long to read?”

I’m not sure. But for me one of the last chapters was the essence of all let your thoughts marinate. You need time to digest the older thoughts. This is one point why I needed that amount of time. Another part was to try out several of the tips. Try it … wait some days look if it works. To what point led me this insights. Out of the no where came new thoughts play with the thoughts like a child. Run behind them like behind a butterfly and find the next thoughts …

You asked what worked best for me? I can’t say what worked best for me. Many of the points you cover in the book aren’t really new. For example drawing of Mind Map’s I learned some 20 years ago. Within the same time period I heard about R and L mode. But back them they were called Right and Left mode. I think that Linear and rich mode are the better explanations of this modes. And so on almost everything I heard somewhere in my career as Software Engineer. The main point for me is: you brought many of the topics in context together in one book.

Thank you again for a good extension of my ecocortex and to clarify some of the points I would have missed without reading this book.

Regards, Bernhard

A way for Notetaking

My daughter was working on a book talk. This was a homework task in which she had to read a whole book and make some notes for every chapter. Because she is usually a little bit unorganized I gave her the following idea: Take a 3×5 index card. Write as a header line the following information: book title, author, and some kind of classification.

Now go on with the following three parts: prediction, events, and questions. Whereby predictions would be one sentence about what will happen in the next chapter. Events is a list with the main events. And questions will be every open question regarding this book.

She did this very well. I hadn’t seen her to complete such a task in a short time. And the most astonish thing was: she had made her notes by the way and could use it to finish this task.

I found the main idea for this kind of notetaking in the book ‘A Manual for Writers of Research Papers, Theses, and Dissertations, Seventh Edition: Chicago Style for Students and Researchers’ from Kate L. Turabian. I am not sure if this citation is really all necessary to find the rest of this stuff. But, you should find this book on Amazon for example. Unfortunately I can’t tell you the page reference for this kind of notetaking. I read this book on my Kindle.

Code Kata’s :Code Kata:

This are my thoughts about the Code Kata’s introduced by Dave Thomas or PragDave. I will work through this Kata’s during the next few days. Ok I will perhaps need rather weeks than days. But essentially I will work on them to get more understanding of some aspects of programming which I wouldn’t touch otherwise.

Most of the idea what a Code Kata is will be covered with the first Kata. Feel free to read it on the website of Dave Thomas. The idea(s) behind Code Kata’s are very impressive and logical for me. So far the hardest point for me is to find the time to do it as expected. Quick, fast, reliable, and produce output which will cover my own expectation of a program.

The second Kata is called ‘Supermarket Pricing’. I believe that all questions asked here can fill a whole book. And even worse some will be different to answer in other countries. For example does rounding exist? For me the answer is sure. But I’m not sure if this will be the fact in Canada. Why I’m sure? I’m grown up in Switzerland and there all prices are calculated to 5 Rappen. If you will compare this value to dollar this will be 5 cent. Everything has to be rounded to an end value of 5 or 0. What will the formula be? It depends on the customer. Will he earn the difference or will he give the difference to his customer? A simple calculation we sell 1’000 eggs with a price of 0.52 sFr. If we sell it 0.50 sFr we will loose 20.00 sFr. If we sell it for 0.55 sFr we will win 30.00 sFr. Now take this game further to every article you will sell … Quiet now Canada is in the process to loose the 1 cent coin. There are several rounding rules on it. The result will almost certain be that more people will use plastic money more. Dear customers what is better use plastic money (and look that the credit card companies earn money with each transaction) or use money and help the shop to spare the transaction to earn more by them self?

This where some thoughts to this theme. For me the answer will be in a pragmatic sense: the customer should be involved in the project team and help the team with the correct decision. I talk out of my experience. I had to re-implement this rounding problem several times in my career.