At Hotels.com I look after the development of the Hotels.com search experience, along with the core backend services that power up front end applications. We have Java Software Engineer vacancies, where you’d be working with cool technologies like Cassandra, SOLR, … Continue reading →

Scrum is a Lean approach to Software development.
The term itself (“Scrum”) was introduced by Takeuchi and Nonaka (1986). The study was published in Harvard Business Review in 1986. They explain that projects using small, cross-functional teams historically produce the best results. They relate these high performance teams to “Scrum” formations in Rugby.

Scrum for software development was introduced in 1993 by Jeff Sutherland at Easel Corporation using the study by Takeuchi and Nonaka (1986) as a basis for by adopting their analogy as the name of the process as a whole for software development. The other name linked to Scrum is of course Ken Schwaber who formalized the process for the worldwide software industry in the first published paper on Scrum at OOPSLA (Schwaber, 1997).

Scrum is a simple “inspect and adapt” framework that has three roles, three ceremonies, and three artefacts designed to deliver working software in Sprints, usually 30-day iterations (Scotland, 2005).

The Web is full of articles “explaining” what the Scrum Masters’ responsibilities are and how they should help the team to achieve their goals. Unfortunately most of the articles fail to grasp the core concepts of Scrum, and by arguing whether a Scrum Master should or should not be a part of the development team the authors of the articles hint they have no clue what Scrum is.

Yes, the Scrum Master IS part of a team, but he’s part of the Scrum Team, together with the Development Team and The Product Owner(s). SM is the owner of Scrum and he’s the one to make sure both the team and the product owner adhere to Scrum principles. She is the one who works hard to enable, coach the team and by no means manage!

SM is not part of the development team. There are many companies that think they’re doing a great job by rotating the SM role between their developers, but that purely means they haven’t got a clue what the role of SM is, and it is usually richer than most SM job descriptions outline; not reflected in dozens of more lines of job responsibilities, but reflected in the fact that a simple expression “The Scrum Master removes impediments for the team”, or “The Scrum Master helps the team be accountable to themselves” can be only achieved by employing a abundant and Continue reading →

Sprint plannings in Scrum sometimes take long; even when you have all the Stories ready for sprint and estimated. Reason being the team still need to break down stories to tasks, and the Scrum master needs to calculate the capacity and compare the total hours of broken down tasks to the capacity available in order to find out whether the team are committing well, under committing or over committing in order to further negotiate the commitment with the Product Owner if required.

All of this are basics and well accepted, but does it make sense to make the team to break down all the stories right at the beginning of the Sprint – during the planning? Most of the Continue reading →

If you’re using Scrum in your organisation to develop software, then you are very well aware of the challenges of getting your Stories spot on. Writing a good User Story is not easy; it depends on both business and development factors.

The ideal Scrum Sprint planning is fast, the estimation session does not drag on, however usually the reality is nothing like that and both the Product owner and the development team are equally to blame.

Many questions raised for each User Story; unclear acceptance criteria; missing artefacts, unresolved cross-team dependencies, unresolved 3rd party dependencies… The problems are far more apparent when the Continue reading →

“A well-functioning team of adequate people will complete a project almost regardless of the process or technology they are asked to use (although the process and technology may help or hinder them along the way).” – Alistair Cockburn

This quote by Cockburn formulates the truth in the software engineering nowadays. If you have a clear set of business goals, the technology decisions are straightforward , trustworthy and you’ve got a team of adequate and responsible people then it’s highly unlikely that you will be spending day and night thinking how to optimize your development team to produce Continue reading →

“A leader is best when people barely know he exists. When his work is done, his aim fulfilled, they will say: We did it ourselves.”
Lao Tzu

Throughout our careers, many of us at some point in time take on the responsibilities of leading teams; whether that’s a group of developers or a large IT organisation we need to decide for us how we lead, what values we follow and what we concentrate our efforts on.

Just because you’re being followed doesn’t make you a leader and just because people have to do what you decides doesn’t make you a leader as well.

While talking about traits that are common for good leaders Davidson-Frame mentions “Honest, Empathetic, Inspired, Continue reading →

In my previous posts I did add some ideas that hint only using certain Agile ceremonies will not guarantee a bright future for your development environment and the software you develop. The Manifesto of Software Craftsmanship does address these principles, please see … Continue reading →

There is one thing in common with a lot of software development companies, or companies that have a software development unit. That’s the system labeled with the monstrous name “Legacy”.

So what’s in it, really?

Is your software change tolerant? Is your software easy to adapt to changes proposed by the business, or the tech department itself? Are you software’s modules independent and enable change? Does your software enable quick releases?

If you were nodding your head negatively about all of the above mentioned questions, then… I am really sorry but you’re dealing with Legacy software.