Continue reading: Three “no brainer” engineering practices for developers

Three “no brainer” engineering practices for developers

In modern software development there are three development practices that everyone should strive to apply:

  • Automated testing
  • Pair or mob programming
  • TDD, test driven development

After many years of using and researching these practices in the development community there is no longer any question whether these engineering practices bring value or not – they do. It’s not a matter of opinion, it’s a matter of fact. We know that now.

Continue reading

Continue reading: Still not automating tests? Here’s why you should (again)!

Still not automating tests? Here’s why you should (again)!

The other day I read a blog by Uncle Bob. It more or less stated that no matter what situation you are in, writing automated tests will make you go faster. Ok, this is old news I thought, until I checked Uncle Bob’s tweets. A fair amount of people argued against this statement, and that surprised me!

Campfire
Join me at the campfire!

So I started thinking about why there still are fellow software developers that doesn’t believe in automated testing? Have they not seen them in action and understood what they are for? Please, gather around the campfire, and I will tell you one, just one, of my war stories, and then I will tell you why also you should write automated tests!

Continue reading

Continue reading: A team experiment with and without offshoring

A team experiment with and without offshoring

A cross-functional team I was working with last year had three testers offshore in India. The rest of the team (about 15 people) was co-located here in Stockholm.

Some team members had a nagging feeling that they could go so much faster if the testers also moved to Stockholm so they went to their boss and asked. The reply was that testers are so much less expensive, by a factor 2.3, so it was not possible, unless they could settle with fewer testers.

So they decided to do an experiment for a few months. They moved one of the testers from India to Stockholm and dropped the other two testers (re-allocating the other two to other teams) to see how that would work.

Continue reading

Continue reading: The Future of Software Development

The Future of Software Development

Whar are YPU doning in the future?

What will software development be like in the future? “Agile” as we know it, will not be around, nor will test-driven development, continuous delivery, or BDD-like methodologies. I’ve been pondering this for a while, and based on some observations and a dose of wishful thinking, I’ve arrived at the conclusion above. Do you agree?

Continue reading

Continue reading: Backbone: Orderly JavaScript

Backbone: Orderly JavaScript

Backbones aren’t the usual fare for tech blogs, but if you’ve been following frontend development, then you’ll have heard of Backbone.js. From their site: Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions,views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.Continue reading

Continue reading: How to hire a real star developer

How to hire a real star developer

What makes the difference between a star developer and a day coder? First of all, with a star developer I don’t mean star as in ”famous”, rather as in ”elite”.  And, a day coder is OK to be, no disrespect here. We need you as much as we need the elite.

My point here is that if you wish to hire a real star, you need to know what to look for.

Continue reading

Continue reading: Learning, understanding, and horizontal development

Learning, understanding, and horizontal development

As developers feel the daily pressure to deliver, they tend to skip a crucial step in the process: learning and understanding the system. There’s a huge difference between just adding more lines of code to the codebase and making changes that maintain the conceptual integrity of the system.

Horizontal development is the result of not spending enough time learning and understanding the system you’re working on. By starting to churn out code too soon, you’ll inevitably be adding silos of functionality in parallel to existing functionality.

The outcome is legacy code. It doesn’t matter how well factored it is, and what test coverage it has!

Continue reading

Continue reading: Why Scrum is better than Kanban

Why Scrum is better than Kanban

I have for some time been thinking, what is best, Kanban or Scrum. I can’t make up my mind so I decided to write two blog entries, one where I have the "I love Kanban" hat on me and one where I’m wearing a "I love Scrum" T-shirt. My conclusion is, not very suprisingly, that  it depends on the situation.

In this entry I take the Scrum T-shirt on.

Continue reading
Continue reading: Why Kanban is better than Scrum

Why Kanban is better than Scrum

I have for some time been thinking, what is best, Kanban or Scrum. I can’t make up my mind so I decided to write two blog entries, one where I have the "I love Kanban" hat on me and one where I’m wearing a "I love Scrum" T-shirt. My conclusion is, not very surprisingly, that  it depends on the situation.

In this entry I take the Kanban hat on.

Continue reading
Continue reading: Lean för mjukvara på 10 minuter

Lean för mjukvara på 10 minuter

En kort sammanfattning av grunderna i Lean på 10 minuter. Concept To Cash, Cykeltid optimering och köer och flaskhalsar.

Lean handlar om att bli snabb genom att sluta göra onödiga saker.

Lean värdesätter det som levereras och inte det som påbörjas. Att få saker ur händerna istället för att jobba hårt.

Continue reading
Continue reading: Planning ahead in Scrum

Planning ahead in Scrum

In Scrum it is often perceived that planning takes place on sprint planning day. Getting the required parties in the same place and do planning is a good way of making real time decisions. But getting people together is a dounting or impossible task and this also neglects some of the thought processes that needs to take place before stories are estimatable.

Continue reading