Refactoring: Improving the Design of Existing Code

Although I bought refactoring book by Martin Fowler years ago it is still valid. I call it one of the timeless books about coding and I consider it as a mandatory reading specially for novice programmers who are entering the field. Of course it is also useful handbook for those already in business. This refactoring book covers and organizes most of changes we are doing to source code every day and it greatly helps us to understand the nature of those changes at crafting level.

Read more

Why NOT measure progress using subjective percents

The first busiest part of year is successfully survived and it’s time to go on with business tuesday blog posts again. As I’m working on some progress measuring features for some time I will document here my ideas about this topic on more general level so business people can also read about my experiences and ideas. This time we make deep-dive to percents that describe how much task in progress is completed.

Read more

Working at home

Working at home is modern way to work but it is often very challenging too. Over years I have heard different stories from different people about working at home. Some of there people have been successful on it while others went back to office quickly after couple of days of trying. Let’s see what makes working at home challenging and what you need to get your home office running.

Read more

Ten keys to successful outsourcing

It’s business Tuesday again and this time I will share with you some of my experiences on getting started with successful outsourcing. Outsourcing may sound like something simple or something too troublesome but if you do your home work well then it is possible to succeed and have a cooperation that really makes your life more rich by many aspects you maybe don’t expect at first. Here are some of my experiences.

Read more

How my company uses Windows Azure in development process

I have used MSDN Ultimate Windows Azure benefit from the day it was made available and from this day I have more and more used Windows Azure on my everyday’s development work. I’m building mostly web-based applications and services and Windows Azure fits well for this scenario. In this posting I will introduce you how Windows Azure supports development work in practice of one small software company.

Read more

Using Visual Studio database post-deployment scripts in practice

Visual Studio database projects support database post-deployment scripts you can use to make additional modifications to database or to insert some test data. In my work I use database projects and post-deployment scripts very often. In this posting I will introduce you how to use post-deployment scripts to make dealing with database and data easier for developers.

Read more

Cone of Uncertainty in classic and agile projects

David Starr from Scrum.org made interesting session in TechEd Europe 2012 – Implementing Scrum Using Team Foundation Server 2012. One of interesting things for me was how Cone of Uncertainty looks like in agile projects (or how agile methodologies distort the cone we know from waterfall projects). This posting illustrates two cones – one for waterfall and one for agile world.

Read more

Common mistakes made when measuring the speed of code

During times I have seen problematic ways how developers measure the speed and performance of their code. There are some easy tricks that help you make your measurements way better and accurate comparing to measurements made not so well. In this posting I will give you some hints how to get more accurate results when measuring the speed of your code.

Read more

Clean Code: A Handbook of Agile Software Craftsmanship

Writing code that is easy read and test is not something that is easy to achieve. Unfortunately there are still way too much programming students who write awful spaghetti after graduating. But there is one really good book that helps you raise your code to new level – your code will be also communication tool for you and your fellow programmers.

Read more

Why Software Sucks…and What You Can Do About It

How do our users see the products we are writing for them and how happy they are with our work? Are they able to get their work done without fighting with cool features and crashes or are they just switching off resistance part of their brain to survive our software? Yeah, the overall picture of software usability landscape is not very nice. Okay, it is not even nice. But, fortunately, Why Software Sucks…and What You Can Do About It by David S. Platt explains everything.

Read more

Agile Database Techniques: Effective Strategies for the Agile Software Developer

Agile development expects mind shift and developers are not the only ones who must be agile. Every chain is as strong as it’s weakest link and same goes also for development teams. Agile Database Techniques: Effective Strategies for the Agile Software Developer by Scott W. Ambler is book that calls also data professionals to be part of agile development.

Read more

The Mythical Man-Month

Yesterday I finished reading the classic project management book The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks. Well… this book made me think a lot about nature of software projects, how primitive is our understanding about them and why managing such projects is usually hard fighting with a lot of different issues. The book has also interesting content from the past that is really interesting reading. To understand where you are you should know where you come from.

Read more