1. Automated Build Usage Example

    A problem

    Do you have a manager on a project? Does (s)he use Visual Studio to review new versions? For me the answer was Yes for the both above questions on the last project I was involved on. It’s a real pain to start Visual Studio just to build an run application, isn’t it? I think so, since to be honest it will take a while…
    • Wait Visual Studio to be started
    • Get latest source code
    • Wait until Visual Studio will load a project
    • And finally we need to build a project.


  2. Peopleware: Productive Projects and Teams

    Peopleware is a really amazing book. IMHO it isn’t just for managers or management people, but to the all people engaged in collaboration. So please consider to read it since I’m sure it will provide a lot of joy for you! Some great quotation.

    • The manager's function is not to make people work, but to make it possible for people to work.
    • There are a million ways to lose a work day, but not even a single way to get one back.
    • Quality—If Time Permits
    Among other things book states that productivity heavily depends on the working environment. The main negative factor is Interruptions and Noise. So companies should stop saving money on the office space. Since in that case they will pay hidden cost on the productivity drop. So it’s much better to provide nice (required?) working environment to the employees to make them happy and receive productivity boost. As about Signal & Noise issue. The authors stated that Phone (I’m sure it’s related to the Skype calls as well) usage should be avoided in the most cases. If you really need an immediate answer to continue your work, then phone should be your choice. In other case they recommend to use e-mail. All we need to be able to rely on e-mail is just to come to the agreement that e-mail will be checked with reasonable frequency.
    People must  learn  that it's  okay sometimes not to answer their phones, and they just learn that their time—not just the quantity but its quality—is important.


  3. Erlang and web development

    First off all what is Erlang? Here’s description from the http://www.erlang.org/

    Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance
    First time I heard about Erlang was way back into 2007. At that time I thought about it as a great choice for development of the server applications such as game servers, instant messaging, etc. Recently I was wondering if are there any Erlang frameworks for web development exists. And as you probably expected there are Many frameworks. I made some research of the Chicago Boss. And you know it’s just awesome! One of the greatest features is Zero downtime code upgrades in production. I’m sure Chicago Boss doesn’t so mature as for example ASP.NET. But you know ASP.NET is a general solution. You can build any kind of web application using it. It could be regular HTML pages or highly interactive single-page application or just web service. I suppose Erlang (and Chicago Boss) are more specialized. For example if I plan to build web site with regular HTML pages I probably will rely on ASP.NET (or PHP). But for single-page applications with requirements on high availability I will consider Erlang (Chicago Boss) + HTML5 (jQuery, Knockout) …


  4. Tempo – tiny templating engine (JavaScript)

    Tempo is a neat JSON templating engine with No dependencies. And it’s just 8KB of the minified JavaScript code. However if we will decide to use JQuery (for example to make AJAX requests in a convenient way) probably we could just use mature jQuery Templates. Anyway I’m totally sure Tempo could be a great choice for some kind of projects. …


  5. Knockout.js - MVVM for the client-side code

    If you didn’t have a chance to review Knockoutjs library written by Steve Sanderson, please Do that Smile It’s just amazing! Furthermore it has great interactive tutorials so you’ll be able to learn the basics in a very convenient and fun way! By the way Steve shared which open-source components he used in learn.knockoutjs.com. …


  6. 12 Steps to Better Code

    Just came over the amazing article The Joel Test: 12 Steps to Better Code written way back in 2000, but it's still 100% true! Actually IMHO we could improve the article slightly (today after more than 10 years since original article was published)

    • It’s worth to add there something like – “Do you use any Test First Development technique?
    • Also “Do you have a spec?” could become something like “Do you use Acceptance Test Driven Development (ATDD)?”
    Interesting thing is that I read that article several years ago and it was very fun to read it now to compare my perception. …


  7. Acceptance Test Driven Development (ATDD) principles

    Acceptance Tests are very similar to the Functional Tests. And they actually are the Integration Tests. The main idea of the Acceptance Tests is to create Executable Specification (Spec) for the project. And that Spec will be readable by humans and machines. So ideally it could stand in place of requirement documents. To generate document all we need is just run Acceptance Tests with an parameter. Such reports could be send to the customer on the end of each iteration and could be available all the time on the CI server. It's the main advantage of the Acceptance Tests as for me. …


  8. Offshore development… and software defects

    Just read interesting overview of the Offshore development related issues. The main point is that NON Co located projects will have approximately 2.8 times as many software defects as Co located projects! Amazing thing is that Agile could fix one of the Offshoring issues (Many Defects), by cleaning up defects as earlier as possible. Since we deliver smaller releases we are able to make carefull testing of all features. So defects will be fixed earlier with a less price.


  9. CoffeeScript, Sass and Less (support for Visual Studio)

    There are new amazing stuff an Scott Hanselman’s blog (as usual Smile)! He wrote about Mindscape Web Workbench extension for the Visual Studio, which adds CoffeeScript, Sass and Less support into it. As for me I really liked CoffeeScript & Sass. Below are some quotations and screenshots from the original article. …


  10. Agile Development Management Tools

    Just read interesting research The Forrester Wave™: Agile Development Management Tools, Q2 2010 I was a little surprised that TDD, BDD, FDD are the separate Agile methodologies. Previously I was totally sure that things such as TDD & BDD are just a way to Improve an (any?) methodology! …