Category Archives: SCRUM

[Back to basics]: Scrum origin and Lean Thinking

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).

  • 3 Roles
    Product Owner, Scrum Master, Development Team
  • 3 Ceremonies
    Sprint Planning, Spr Continue reading

Posted in Agile, Lean, SCRUM, build quality in, create knowledge, defer commitment, deliver fast, eliminate waste, optimize the whole, respect people, value stream | Tagged , , , | 7 Comments

Scrum Master – a Visionary or a Beat Cop?

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

Posted in Agile, Lean, SCRUM, Scrum master | Tagged , , , , , , , , | 19 Comments

Just in time, Just Enough Sprint planning

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

Posted in Agile, Definition of Done, Lean, SCRUM, User Story, sprint planning | Tagged , , , , , , | 4 Comments

Getting User Stories ready for the Sprint – “Story Status”

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

Posted in Agile, SCRUM | Tagged , , , , , | 7 Comments

last day at be2, my career at be2 in a sequence of words

software engineering, java, j2ee, jboss, mysql email marketing, blacklisting, smtp, rmi, jms, crm, friends, travel, munich, specification, review, coding, esp, project management, gantt chart, matchmaking, tracking, pixels, company event, travelling, hibernate, spring, tomcat, invoker, redundancy, scalability, data complexity, performance,  partitioning, sharding, activemq, broker, soap, http call, queue, strategy, social networks, facebook, lean, agile, architecture,  scrum, scrum alliance, agile manifesto, sprint, continuous integration, hudson, static code analysis, transparency, communication, iteration, definition of done, spm, srm, user story, failure, success, confidence level, pair programming, retrospectives, groovy, grails, nosql, mongodb, rest, jersey, value stream, london, development management Continue reading

Posted in Agile, Definition of Done, NoSQL, SCRUM, UnitTests, development, dynamic languages, groovy, pair programming, programming style, tdd, test-driven-development, value stream | Tagged , , , , , | 1 Comment

About good Leaders, Agile managers and Value Streams

“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

Posted in Agile, Lean, SCRUM, build quality in, value stream | Tagged , , , , , , , , | 7 Comments

The Definition of Done (DoD)

What is a Definition of Done?

Definition of Done is a crucial element of a successful scrum software development. When defined and followed, makes sure that when someone says that a task is done. There is an explicit understanding what it means.

For completeness and integrity you would have 3 different definitions of done: for a User Story (a feature), for a Sprint and for a Release. This is also in line with the SCRUM Alliance recommendation.

A User Story Definition of Done

So, let’s pick the User Story DoD, and elaborate more. The User Story DoD’s Continue reading

Posted in Agile, Automated Testing, Definition of Done, SCRUM, UnitTests, testing | Tagged , , , , , , , | 25 Comments

Pair Programming Matrix / Board

Pair Programming Matrix / Board

Pair Programming Matrix is a tool that helps the team to visualize the Pair Programming procedure. It shows who worked with whom, and who has not worked with anyone else at all.

Set up a board, that has a matrix with team Continue reading

Posted in Agile, SCRUM, development, pair programming, programming style | Tagged , , , , | 13 Comments

Scrum developers’ glossary

Well, I’ve been in SCRUM and Lean principles for the past 18+ months, and I thought maybe it makes sense to present to outside world a glossary of keywords that we use in our day to day work. Scrum developer’s … Continue reading

Posted in Agile, SCRUM | Tagged , , , , , , | 22 Comments

Fighting the Software Uncertainty principle. SCRUM+TDD+CI+SELENIUM+cfEngine

“The outcome of the execution of E-type software entails a degree of uncertainty, the outcome of execution cannot be absolutely predicted”, or more fully, “Even if the outcome of past execution of an E-type program has previously been admissible, the … Continue reading

Posted in Agile, Automated Testing, Definition of Done, SCRUM, UnitTests, checkstyle, programming style, tdd, test-driven-development | Tagged , , , , | 8 Comments