People, Scrum, XP, Lean, Complexity, Creativity, Fun

July 2010 Blog Posts

The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.
Michelangelo
When I see a mediocre team, a mediocre software department and I talk with the CTO and key peoples I usually understand that actually they are not failing at all. Instead they are just succeeding to reach a mediocre goal.
This kind of success can kill you :)
I read often that failure is a necessary investment to learn and innovate.
Indeed successful challenges goes through three phases, it start with hope, in the...

What looks like a people problem is often a situation problem
What looks like laziness is often exhaustion
What looks like resistance is often a lack of clarity
What looks like defiant people is often proceeding on the easiest path
Tags : Team Work | Agile | Leadership | Team | Disciplina | Team building |
Traduci al ITALIANO >>>

Some notes from the paper of Barbara L. Fredrickson, 1998: What Good Are Positive Emotions?
4 positive emotions are: Joy (happiness), Interest (curiosity, intrigue, excitement, wonder), Contentment (tranquility, serenity) and Love (romantic, passionate, compassionate , caregiver, attachment).
Positive emotions help us to broaden the scope of our attention our cognition, and actions. They help to build our physical, intellectual and social resources.
Positive emotions help us to broaden and build our repertoire of thoughts and actions. Positive emotions increase our curiosity and our hope, encourage our creativity and open our minds. Also build the energies that we can...

The well known inspect-adapt loops in agile software development are at work also in F1, and not only for software development, also for the car tests car developments and race controls.
You guess why? Because they are more effective than other traditional solutions :)
Here it is:
- Racing Under a Watchful Eye That’s Thousands of Miles Away (McLaren)
- The nerve centre - Renault’s engineering truck
Would like to ear more about Ferrrari :D
Tags : Team Work | Agile |
Traduci al ITALIANO >>>

So far, as reported here
- Versioning (1)
- Versioning (2)
- Versioning (3)
- Versioning (4)
team that do in-house development and also many other teams have the possibility to adopt practices that extremely simplify versioning for the modules (assembly, jar, dll, exe, binaries in general, excluding executables as web-applications, services and web-services) and speed-up developments: no need for modules to
provide support and bug-fixing for previous versions
deal properly the beta, release candidate and official release cycles
...

Versioning for every module (assembly, jar, dll, exe, binaries in general, excluding executables as web-applications, services and web-services) can be even further simplified
when
the software development team that develop the module is the same team that use the module in their applications
or
at least the two team can agree on a common release date for the application and the module. In pracatice when both teams has synchronized time-boxed sprints and releases.
In this case for the modules there is no need to have an explicit beta=>release-candidate=>official cycle, the last source code for the code can...

An object-oriented abstract design for a particular kind of application, also called a framework, consists of an abstract class for each major component.
One important characteristic of a framework is that the methods defined by the user to tailor the framework will often be called from within the framework itself, rather than from the user's application code. The framework often plays the role of the main program in coordinating and sequencing application activity. This inversion of control gives frameworks the power to serve as extensible skeletons. The methods supplied by the user tailor the generic algorithms defined in the framework...

Three Examples:
Every attempt to determine the correct abstractions on paper without actually developing a running system is doomed to failure.
A framework is a reusable design, so you develop it by looking at the things it is supposed to be a design of.
...
Develop three applications that you believe that the framework should help you build. These applications should pay for their own development.
Source: Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks, Don Roberts and Ralph Johnson, 1996
Tags : Team Work | Agile | Progettazione Software |
Traduci al ITALIANO >>>

Ralph Johnson is one of the gang of four that published Design Patterns (http://www.refactory.com/people/ralph.html). And has been deeply involved in the Smalltalk community.
In the 80's he published some papers about framework, that still today are the most interesting and advanced literature on that topic. From these papers also originate the position of the XP and agile community about frameworks.
If you looks at frameworks and libraries and components in use today, you can see that many of those learning are still unused. So those paper today are an opportunity to learn something useful, to be on the edge.
Here...

Since people make things, work must begin with developing people
- Eiji Toyoda
source: http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/quiz_on_the_toyota_production_system.html
Tags : Team Work | Agile | Progettazione Software |

Versioning for every module (assembly, jar, dll, exe, binaries in general, excluding executables as web-applications, services and web-services) can be further simplified
when
the module used in a code-build-test-deploy environment has Continuous Integration and the application that uses the modules has sufficient automatic tests as acceptance integration and unit tests, and at every automatic build the last official binary version or source code of the module is pulled into the build.
In this case for the modules there is no need to trace and document breaking changes (i.e. for the public interfaces, for the...

Some session discuss topics that are covered also by current agile literature.
When this is the case, current related agile literature could be mentioned and it could be interesting to know if the session content confirm or deny the current literature.
I think that this could help to build on what we already know today, still giving us room for innovation and to subvert preconceived ideas.
Tags : Team Work | Agile | Eventi | Creatività | Innovazione |

1) To start a Sprint using Scrum all of these are important to have:
- a Release plan and budget
- executive sponsor and technical lead
- team space and team rules
- a vision and the Product Backlog
And is absolutely needed: some work to do, a purpose, and some people to do the work.
2) Is it permissible to modify Scrum, but be aware that each modification may lower potential productivity and quality.
Tags : Team Work | Agile | Pratiche |
Traduci al ITALIANO >>>

Before I posted interesting links to assessment of your team Scrum/Agile adoption (here, in Italian).
Here there is also the link to assess your knowledge of Scrum: http://www.scrum.org/scrumopen/
The test result show each mistake together with the right answer.
Just completed it now, after reviseing the Scrum guide and Scrum & XP From The Trenches:
Score:
Percentage:
48 out of 50 points
96%
What I got by taking the test ? I have learn from my mistakes :) And you ?
Tags : Team Work | Agile | Leadership | Pratiche |
Traduci al ITALIANO >>>

In order to reduce the costs, visible and hidden ones, of giving support for previous versions:
Microsoft have tried hard many years to push his customers to use the latest versions of his software products as Visual Basic, Visual Studio and related technologies.
When can you simplify here ? And how ?
Versioning can be simplified for every module (assembly, jar, dll, exe, binaries in general, excluding executables as web-applications, services and web-services) that actually is used only by a partners or by a software develoment team inside your organization and in...