Alex Ballarin Latre
Spain
About Alex
Alex has spent all his professional career, started in 1999, around software development, doing things such as:
- Developing software (1999-2004)
- Helping teams to adopt SW engineering tools (2004-2007)
- Consulting on project management and SW engineering (2007-2009)
- Teaching and coaching on Scrum, Agile & DevOps (2009-Present) both in University and private courses
He is keen on helping teams, people and companies to improve their software development practices, foster bottom-up intelligence, improving communication and shortening feedback loops.
I live and work in Barcelona, although I enjoy teaching and coaching wherever needed.
Courses taught by Alex
Other Services by Alex
- Coaching/Consulting
- Private Courses
Latest Blogs by Alex
See all blogs
This is a very common myth, frequent on people used to develop software only within the context of a closed scope (traditional project). The Scrum framework is agnostic when it comes to set the context of software development; it just talks about “complex product development”. In general, agile software development avoids this concept of “project”.
The iron triangle
Software development is an activity that is frequently outsourced to IT companies with technical and domain know-how. Most of the times those collaborations are shaped by a “project contract” based on the iron triangle model. This model identifies four aspects of the software development endeavor that are tightly related: the product scope, the delivery time, the contract cost, and last and frequently overlooked, the product quality. It happens so often than later those constraints become impediments in case the contract was not accurate (the bigger the more likely) and changes should be agreed to succeed in the project.
Why is this? The main reasons to continue using fixed scope projects are:
Distrust between the customer and the software supplier
Corporate aversion to risk
“We always did it this way”
The last available edition (2015) of the famous Chaos Report by Standish Group shows than less of 1/3 of projects is considered successful, so people buying software projects would do well in considering why to continue doing it. Trying to maximize all the four aspects of the iron triangle at the same time usually entails losing out in all.
Agile software development generally changes this “fixed scope project” approach, fixing resources, time and quality, and estimating scope. Due to the transparency and prioritization of the features provided by the product backlog in Scrum, the probability of having a troubled project decreases significantly.
Unused software
Another source of criticism for fixed scope projects it that they produce software with many unused features. The classical “ROI, it’s your job” study by Jim Johnson reveals that 64% of features delivered by projects are rarely or never used. Although the sample of projects is very small, my gut feeling tells me that reality may not be very different from that, which is a big waste on money and people time.
Planning a project using Scrum?
Projects can be planned with Scrum. From the point of view of product management, this is usually called “release management”. The scope management tool is the product backlog, and it can be estimated before the development starts. Scrum calls for empirical process control to avoid waste due to requirements identified too early, so the lightest scope definition should be made which creates trust with the product buying part. The “transparency leg” of empiricism entails being radically honest with the customer about the risk of not delivering the full scope on the expected timeframe and eventually allocating a reasonable contingency, e.g. in the form of extra sprints. The Product Owner is responsible of involving the stakeholders in the progress tracking, and helping them to shift from a “original scope mindset” to a “value delivered mindset”.
Closing
Scrum can be used to plan and track a development with a fixed scope, although some other common beliefs about the traditional project management such as the concept of a fixed scope project should be revisited to help customers to evolve into a healthier product management mindset.
Feb 5, 2017
One common consequence of teams that do not deeply understand Scrum and the nature of its events is that they believe it is possible to run sprints which do not produce a Done and releasable increment of the product. This belief typically leads to dangerous consequences so it’s important to caution about them and to review the basics of what is a Sprint.
A sprint goal is always to produce a Done increment
The Scrum Guide starts defining a Sprint with this sentence “The heart of Scrum is a Sprint, a time-box of one month or less during which a ‘Done’, useable, and potentially releasable product Increment is created”.
Why is that? A Sprint is based on the empirical process control theory to optimize the predictability and the risk control of the development activities. The three pillars of this theory are transparency, inspection and adaption.
Producing a Done increment it’s the best way to create transparency about the ability of the team, within its context, to bring value to the customer by delivering that usable and valuable increment of the product. Inspecting the outcome of the Sprint unveils possible improvements to both the product and how the team worked. That inspection allows adapting the course of the development regarding the product, the team and its environment.
Therefore, sprints not designed to produce a Done increment undermine the empiricism of the development and do not meet the basics of Scrum.
Let’s review some popular “undone” Sprint types.
Sprint 0
A Sprint 0 is the name often given to a short effort to create a vision and a rough product backlog which allows creating an estimation of a product release. There is nothing bad in doing that as long as everyone concerned has clear that the plan is subject to change as more is known as a result of the inspection of the sprints outcome. To sum up, that activity does not meet the definition of a Sprint in Scrum, so it is better not to call it so.
Design Sprint
A Design Sprint is the name given to a “Sprint” dedicated to create a functional design or a technical architecture to guide the rest of the release. This is a “worse” case than the previous because, on top of not meeting the definition of a sprint, it narrows or even impedes the needed inspection an adaption of the following sprints. Again, doing a lightweight functional and architectural design as a part of the product vision can be helpful to avoid risks and put all stakeholders on the same page, but do not create a detailed and final design.
Hardening Sprint
A Hardening Sprint is to me the most worrying interpretation of what a Sprint could be. This concept was widespread by a popular scaling framework that partially changed their mind about this in its last version. A Hardening Sprint goal is achieving a releasable and integrated increment that eventually could not be achieved before. That means that it is accepted that sprints can create undone increments, so the ability of teams to create transparency, inspect and adapt are seriously jeopardized, and therefore, no real sprints are being performed.
Closing
In this post we saw why a Sprint must always produce a Done increment, some popular myths about “special sprints” and some consequences of ignoring the true nature of a Sprint.
Jan 14, 2017
I would like to kick off a series of posts in this blog trying to debunk some common myths about Scrum. Many of them arise sometimes from a poor understanding of the Scrum Guide, and even more often, from not having read it at all.
What is velocity?
According to the Scrum.org glossary, Velocity is “an optional, but often used, indication of the average amount of Product Backlog turned into an Increment of product during a Sprint by a Scrum Team, tracked by the Development Team for use within the Scrum Team.”
A couple of posts in this blog, by Derek Davidson and Hiren Doshi, show velocity as a useful metric to forecast how many items can be delivered in a sprint or how many sprints may be needed to achieve a release.
Gunther Verheyen makes a couple of interesting points about velocity in this post. The first about its transparency: if the increment is really undone, velocity is not a valid indicator. The second is about trying to see velocity as a commitment: in an empirical process control, we accept that what will happen is unknown.
What is value?
Value is a more general concept. According to the Oxford Dictionary is “The regard that something is held to deserve; the importance, worth, or usefulness of something”. Let’s consider that money is a proxy of value in most circumstances, and therefore a valuable product should increase revenue or decrease costs for the organization that uses it.
In the context of a Scrum Team, value is only created when the product (increment) reaches the customers, it is useful to them and they start obtaining benefits from using it.
Measuring value is not a trivial task. Value indicators need be identified and they should be aligned with the product vision and strategy. Good places to learn further are the Professional Scrum Product Owner course or the Evidence Based Management approach.
Once value indicators have been defined, they can be used to estimate the value of individual Product Backlog Items, and therefore the value created by a product increment could be calculated as the sum of the value of the PBIs included in the increment. Tools such as Value Burnup are useful ways for the product owner to estimate the value delivered. However, the real value can only be measured once the product has been released and is being used.
So, does velocity = value?
As previously described, velocity and value are very different things. The first is a tool that can help the Scrum Team to self-manage during the product development, while the latter is a way for the customer to evaluate the usefulness of the product already being used.
Closing: a worrying interpretation
A worrying interpretation that derives from confusing velocity and value could be “the more software is released, the more value is created”. A product backlog item that is not useful to the customer, even if their designers think so, does not create value. A product backlog item released with defects or not meeting the Definition of Done can even create negative value, because it can undermine the trust of the customer in the product, disrupt their operations and also produce unexpected work in the future, such as bug fixing or extra work to build something on top of a bad quality product.
Making these concepts clear to all the stakeholders of the product, and especially to the product owner, could help avoid falling into the vicious thinking of “the more is always the better”. As Jeff Patton puts it in his book User Story Mapping: Minimize the output (code size), maximize the outcome (value).
Dec 29, 2016
Alex's Certifications and Licenses
Professional Scrum Developer I
Professional Scrum Master I
Professional Scrum Master II
Professional Scrum Product Owner III
Professional Scrum Product Owner I
Professional Scrum Product Owner II
Scaled Professional Scrum
Classes Attended by Alex
By using this site you are agreeing to the Privacy Policy and Terms of Service