January 2021 M T W T F S S « May 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
CategoriesAgile Automated Testing build quality in checkstyle configuration continuous integration create knowledge defer commitment Definition of Done deliver fast development dynamic languages eliminate waste Functional Programming groovy hudson Lean Multi-Paradigm-Programming NoSQL optimize the whole pair programming programming style respect people Scala SCRUM Scrum master sprint planning tdd test-driven-development testing Uncategorized UnitTests User Story value stream welcome
Error: Twitter did not respond. Please wait a few minutes and refresh this page.
Category Archives: Agile
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
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
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
“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.”
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.
There’s something else that makes the system Continue reading
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