Backlog T indicator

June 28th, 2008

For those who are closely looking at what’s happening during a sprint or release cycle, important parameters are the ones related to values (effort, business value) to be delivered.

T indicatorUsually, an implementation cycle starts with a commit, which is the moment in time where both business and workers agree on the value to deliver. The workers commit to deliver this value at the end of a sprint or release. But for various reasons, the final reached value may be different, because  some requests may be dropped out or added,  and some effort may differ from initial estimations.

In order to display these kind of values in one single and simple visual indicator, I had the idea to use stacked columns type of chart, mixed with a maximum vertical line.

As a consequence of the T shape in the middle, and because T is target first letter, I proudly named this new indicator the “T indicator“.

This indicator is intended to be very easy to read, as it does not require to “mentally” move objects to get a global picture of the situation. It avoids to use 4 different columns with different colors, or pie chart parts, standing to each other. Therefore, it’s much more compact, and should impact faster the eyes looking at it.

How to read it

T indicator documentation

  • the top of the column represents the delivered value,
  • the “T” is set to the initially committed value,
  • the light blue block height represents the amount of added value,
  • the dark blue block height represents the initially committed value minus removed value.

ExcelIn case you might be interested in using it, feel free to download the Excel spreadsheet! This file is in MS Excel 2007 version, but will work in Excel 2003.

Possible extensions

There are two main types of reason why a backlog may change during a sprint:

  • added or removed business requests,
  • grown or lowered effort compared to initial estimations.

The current version of this indicator does not make any difference between the reasons why the backlog changed. But it may be included by using different color codes on half side of the column.

Optimal team size

June 11th, 2008

“What is the optimal team size?” This is a recurrent question in a lot of organizations. And there are two main approaches to answer it.

Molecular interactionsAn approach (like SCRUM’s one), sets a “natural” limit to x collocated team members. This limit is often presented as an a priori limit, even if some heretics allow themselves to set the limit higher if the team’s dynamic increases. Organizational design is not considered as a choice variable: collocation is preferred, there is a “natural maximal team size”, the only possible organizational change is a team split, etc.

Another approach consists in creating a mathematical model, in order to simulate variable impacts and find the optimum setup. This approach is quite new (first publication between 2002, 2004), but is very interesting. Simulation is nowadays widely used in a lot of industry branches, so why not apply simulation to organizational field?

A very interesting example of this model approach is described in the paper “Optimal Team Size and Monitoring in Organizations“, from Pierre Jinghong Liang, Madhav V. Rajan, and Korok Ray, from repectively Carnegie Mellon, Standford and Chicago universities.

As the title suggests, organizational design is seen as a non static variable (an optimum can be found), and a link is established between team size and monitoring. But this is not all: incentive contracts offered to workers and managers are of course also taken into account. Team size, monitoring and incentive contracts are the 3 “instruments” used in this approach.

Although  interactions between the model’s agents (workers and managers) may be complex, the modelization and associated simulations leads to some rather simple learnings:

  • the robustness of workers contracts
  • it is almost never worthwhile to employ multiple managers to supervise a given set of workers
  • complementarities between team size and monitoring, and between worker talent and managerial monitoring ability

These are already interesting results, although used model is static in time. It may be expended to take into account variations over time. The link established between team size and monitoring is also interesting, as monitoring now plays already a key role in modern organizations.

Picture of molecular interactions © Cytoscape.

Une très bonne idée!

May 20th, 2008

Idee logoIdée (idea in French) company had a very good idea: to offer the possibility to search for “visually similar” pictures. Said like this, it may not sound interesting. But imagine this is coupled with a search engine: by tagging with the word “plane” a picture representing a plane, typing the word “plane” in a search engine display pictures representing a plane, based on the pictures themselves, not by the text surrounding the pictures in the web pages. Which means: the algorithm used by Idée is able to recognize in a picture what make it similar to another picture. Not convinced? Have a try on this page!

Applications:

  • Find out where and how an image appears online
  • Research products using a product photo
  • Find modified versions of unmodified images or vice versa
  • Research the usage of editorial or stock images
  • Get international, multilingual websites in your search results
  • Research corporate imagery or brand usage online
  • Use a webcam to digitize any image and search for it on the web
  • Search for your images to see where they are being used

This is maybe the best 2008 idea, by the way…!

Predictability versus SCRUM

May 13th, 2008

I had the opportunity to analyze the distribution of show stoppers defects found over several sprints (4), for a team releasing code every 4 weeks, using SCRUM methodology, and no other methodology pattern but SCRUM ones (which mainly consist in backlog management, estimation, implementation and final acceptance tests). The main context data are the following:

  • 1 release per sprint,
  • sprint length of 4 weeks,
  • no test automation, tests are performed manually,
  • sampling done over 4 sprints,
  • methodology (SCRUM) and tools remain the same over sampled sprints,

Globally, the context is a pure SCRUM approach. In the following chart, 2 states are tracked:

  • ready for testing state (development done, “Development” curve)
  • tested OK (final state, “Tests” curve)

SCRUM and predictabilitySampling of the 4 sprints are calibrated on the planned release date, showing the last 20 working days before releasing the product.

The red dots lines show the days were show stoppers were found for each sprint|release, one line of red dots per sprint, first line from top representing the first sampled sprint.

We can see on this chart that:

  • when the test velocity is high, between days 13 to 15, or from 17 to 20, stories are being reopened, resulting in 3 peaks of reopened stories (days 7, 14, 19),
  • the highest test velocity is performed in the last days of the sprints, from days 17 to 20,
  • show stoppers are found between days 16 to 21 (day 21 being 1 day after releasing new product version),
  • majority of show stoppers are found 1 day after releasing the product (found by the customers ;-).

This configuration is the evidence of a waterfall integration model, as the tests are not synchronized in time with the development, and with an insufficient test coverage. Another lesson learned from this chart is that the situation does not improve really over 4 sprints, show stoppers being found too late.

As a global result, the predictability in terms of quality is low, which is what can happen when, for instance, one single methodology like SCRUM is used.

An efficient automated tests coverage (unit tests, functional tests) would allow to have more continuous control over the quality, especially in the current case were functionalities are quite constant over sprints. Requirement management process, enforcing more time spent on specification review, would also prevent against final manual acceptance tests having “holes” in their coverage.

Back to my previous post about methodologies’ patterns, this chart show that in some cases, one single methodology (SCRUM in this case) may not fulfill the needs in terms of quality assurance, and delivery date predictability. This is maybe because SCRUM is about “potentially shippable software”. The potentiality of the shipment is sometimes not good for predictability.

Agile methodologies meta patterns distribution

April 29th, 2008

As for software development with design patterns, some meta methodology oriented patterns, can be identified and distributed over Agile methodologies, and weighted with the uses or constraints intensities.

meth4.jpg
This overview¹ is interesting as it clearly shows what is mainly addressed in each methodology. Some methodologies, like Extreme Programming, are focusing on the test patterns. Others, like SCRUM, only focus on backlog organization, and final acceptance testing.

I am talking here about meta patterns, as each of these patterns can be broken into smaller ones. For instance, Project Management and Requirements patterns can be implemented in several different ways.

The idea behind my Agile 2.0 approach is that it’s better to use and mix those meta patterns as needed in order to reach the agility, time and quality predictability, scaling and cost targets, instead of targeting the implementation of one single methodology.

Not to mention that “non Agile” methodologies also contains interesting patterns, which may be used in Agile context: 6 Sigma offers for instance a mature approach in statistical modeling of production defects and associated causes in order to systematically improve run processes.

But the choice or adoption of methodology patterns that fit best a given production case may not be enough if the choice becomes static in time: non linear management may be used to promote emergence of new patterns, the pattern list being open by definition. No one would think about closing the list of mathematical theorems! And this is actually another key difference with the usual Agile approach: the possible universe is closed. This is for instance typical in SCRUM approach, with a close list of predefined roles, a limit set to team size, and a non scalable way of organizing the work. SCRUM is more a momentary patch to solve a critical situation, rather than a self evolving and questionable approach.

¹Pattern distribution chart is based on an initial work from Teodora Bozheva and Maria Elisa Gallo, modified by me.

An introduction to Agile 2.0

April 22nd, 2008

clavier.pngAgile is one of the most fashion idea in software development. “Agile software development”, or the ability to implement fast the business requirements, is a graal which many companies are looking for. Several methodologies propose a way to implement agile software development. Here is a small list of the most famous ones (without any specific sorting):

  • AUD (Agile Unified Process)
  • ASD (Alternative Service Delivery)
  • XP (Extreme programming)
  • LD (Lean Development)
  • AM (Agile Modeling)
  • FDD (Feature Driven Development)
  • SCRUM

Each of these methodologies has its own specificities, but they all have the same goal which can be summarized in one sentence: to be able to implement fast a list of requirements. They come with lists of check lists, rules, processes to follow. Consultants, evangelists, and even so called “masters” assist companies on their path to software agility.

This leads to the first problem to address: which methodology to choose. This choice can, in the worst case, be based on rumors, fashion, or, in the best case, on a pragmatic study of the situation, a clear set of criteria, and an analysis of the proposed solution. But this choice has a high impact, when it’s about switching organizations to a new way of working.

At this point, it may be interesting to go back to the definition of the word “agility”. For most dictionaries, agility means:

  • the power of moving quickly and easily; nimbleness: exercises demanding agility.
  • the ability to think and draw conclusions quickly; intellectual acuity.

Transposed to software development activity, agility means then to be able to implement fast the business needs (most software organizations are business driven), and to adapt fast to any kind of changes (business requirement and priorities changes, technology changes for instance).

But in the real (hard) world of efficient software companies, the agility concept is in most cases mixed with 2 other important criteria:

  • the ability to scale, on the software complexity (software size is often synonymous of complexity), and organizations sizes plans
  • the ability to control production costs

As a result, 3 main factors are being quite often optimized:

  • the agility (to be close to business, to be business driven, to adapt fast to any change),
  • the ability to scale (complexity, size),
  • the production costs.

What is the best methodology to get the higher agility, keeping the possibility to scale, with a control on production costs? Well, all of them and none of them, and this is the point: depending on all variables defining a software market field (companies population on the same field, concurrence intensity, revenues, to name few) and all variables defining a human organization (maturity, cultural strengths and weakness, hierarchical organization), one single methodology may be efficient on the agile plan, but will not be able to produce good quality products. Another one may scale, but scaling may increase pressure on costs, etc. Another one may produce perfect products, but within too long cycles, etc.

Moreover, the choice for a new methodology represents in most case a big investment: pay a team to implement and control the change, a high risk to reduce production speed, a non quantified return on investment probability.

This is the object of the version 2.0 of this manifesto for software agility: to provide a pragmatic and efficient core concept for being agile, able to scale, with controlled cost.

To be continued soon…

How waterfall model is questioned by Agile approach

April 3rd, 2008

Java world logoAn interesting paper on Agile approach, and how this approach questions the outdated waterfall approach, from ShriKant Vashishtha in Java World. ShriKant makes a good description of some key points which make waterfall model and Agile approach different, such as the build frequency, iterative development and change control.

I will publish soon here a white paper describing a global methodology approach based on several experiences and best practises in agility and waterfall model cases.

World’s earliest sound recording

March 28th, 2008

FirstSounds.orgYou can listen to the world’s first sound recording, made in France on Monday April 9 1860 by Edouard-Léon Scott de Martinville. A woman can be heard singing “Au clair de la lune”. This recording was made using a phonotaugraphe, 17 years before Thomas Edison phonographe invention.

What integration means

March 26th, 2008

Intel Core 2 Duo E6600= Cray 1 × 182

(in MIPS, Million instructions per second)

Big manoeuvres around Java

March 24th, 2008

Java dudeJava Indonesian island has no problem, this post is about the programming language Java. Considered by programmers as a language to be used for small applets at the beginning of is life (cycle), it is now adopted by a lot of developers around the world, and large scale softwares are actually written using Java. Java is not only an object oriented language which comes with an extended and well structured API which addresses almost any programming need, it is also a concept, as Java binary code can be executed without change on the main operating systems of the market, Unix, Windows, and MacOS, not to mention some mobile phones manufacturers which also runs Java byte code in their devices.

One of the most famous Java Open Source foundation, Eclipse, is going to benefit from recent Microsoft announcement to collaborate with Open Source actors (or: Microsoft is going to attract Open Source developers on its platform, you choose the way).

In the facts, the SWT (Standard Widget Toolkit) layer, part of the Java API and responsible of user interface elements rendering, will be ported on Microsoft WPF (Windows Presentation Foundation), to insure the best interoperability with Vista. This means that when this porting is done, Java applications will have native Microsoft Vista look and feel, and performance. This is a good news, as it shows Microsoft finally collaborating around Java and a non profit yet powerful organization, and will bring a real native Microsoft look and feel, instead of just mimicking it.

No you are not dreaming: Microsoft, the biggest profit oriented organization in the IT world, collaborates with an Open Source foundation, Eclipse, in the context of an Open Source language, Java. Is it the consequence of Bill Gates taking distance with his company, or the result of… an European pressure?!

Satellite tracking

March 23rd, 2008

SatTrackWondering if you have a chance to see the International Space Station, or the Jules Vernes European Automatic Transfer Vehicle in the sky next night? Google offers a satellite tracking system, which displays the real time position of several satellites over the usual map, satellite or hybrid maps. It is also possible to display the ground tracks, and therefore this is a cheap way to check when these machines will pass over our heads.

Another leap to quantum scale computing

March 19th, 2008

Cobalt atomIBM managed to estimate the force needed to move one single cobalt atom on a platinum surface: it’s 210 piconewton. The target is to be able to create atom|molecular scale components (processor or memory), by mastering atoms distribution on a surface.

This should lead to get mainframe power in a sugar cube size space, and possibly to boost the Moore law.

Not to mention that this atom scale technology should lead to an important production cost reduction.

The picture on the right side shows one single cobalt atom on a cooper surface, © National Institute of Standards and Technology, Electron and Optical Physics Division.

The next quantum leap

March 15th, 2008

HAL 9000Until now, search engines are indexing the web pages content and the links between pages without… understanding what they are indexing.

Therefore, when we search for something with a search engine, the result is a combination of the number of occurrences of the searched words in the web, the number of hits on the pages, etc. This way of proceeding makes the search engine sometimes unable to display an accurate result given the searched words, as it simply has no understanding of the search request meaning.

And this may be the next quantum leap in information technology: to make semantic analysis operational at a large scale. In short: to analyse the meaning of the stored data. Curriculum vitæ are already analyzed by such semantic softwares, in order to sort fast between thousands of profiles and extract the ones who are most likely to match searched experience in a particular field. Other companies provides systems to anaylse data in various fields..

As a logical consequence, big Internet actors like Google and Yahoo! now starts to see in the semantic web the next step to take. In a recent news from BBC, Yahoo! explains how semantic analysis may be its differentiator with its bigger rival.

HAL 9000 eye picture © Turner Entertainment co.

Exploding digital universe

March 15th, 2008

Large scale universe structureAccording to a recent IDC whitepaper, the digital universe size (digital data created by all planet’ systems) was estimated in 2007 at 2,25.10²¹ bits, or 281 billion gigabytes (281 exabytes). In 2011, this size will be 10 times 2006 size, and half of the total data will be stored. Key size expansion factors are the rising use of digital TV, surveillance cameras, Internet access in emerging countries, sensor-based applications, data centers supporting cloud computing, and social networks. This white paper was ordered by EMC, a specialist in… storage systems.

The picture on the right shows large scale universe structures © CfA.

Scientific images awards

March 13th, 2008

NeuronsBritish Welcome Collection runs scientific images awards each year. Some pictures, especially at the very low scale, are amazing as they show objects which were only modeled in the past. Images are © Welcome Collection.

Publish your DNA!

March 11th, 2008

x23AndMeSo, you are already publishing your holidays pictures on the web, your friend connections, your business contacts, but it’s not enough. You want to show more. In this case, try x23andMe. You can use this site to display your DNA content, compare your DNA with your friends’ ones, and maybe find optimal business contacts based on DNA. Yes it’s true: you just have to use a home kit for a saliva sample analysis, and that’s it. Display your DNA on the web and be totally hype. The “edit, build and run DNA” functionalities are still missing, but it would be logical to get them in a near future.

I want my digital yurt.

March 11th, 2008

Open spaceAn interesting paper in French Libération newspaper on the (initial) joy and (final) pain of working in an open space office. So, if you want to know about the tendencies in this topic, and know what’s a digital yurt (!), just read it.

Yurt

Fashion is everywhere, including in the way to distribute offices in space. As a result, this way of organizing offices is now analysed in a scientific way, in order to clearly state if this way of working is worth it.

Life encyclopedia

March 6th, 2008

FishA new internet site “aiming to document all species of life on Earth planet” is online. Enclycopedia spirit from the 18th century finds a real echo with internet.

Internet power

February 17th, 2008

Drapeau corée du nordThe first commercial North Korean internet site (if you can reach it) visible on the web. Interesting to see that this country registered a .com instead of .gov! Do they know that for the internet DNS .com stands for commercial and not for communist?

Can work be a game?

February 3rd, 2008

Have you ever been wondering how is the work organized in one of the biggest internet company? You can read this paper in French from Cécile Ducourtieux.

Chez Google, le travail comme un jeu
LE MONDE | 01.02.08

© Le Monde.fr

The key points:

  • promotion of reasearch and development, by allowing engineers to spend 20% of their time on their personal projects, with a possibility to turn them into Google’s company project
  • limited hierarchy, people with knowledge and|or information are more trusted, in order to promote inovation

As a drawback of the flat organizational hierachy, internals start to say that non centralized decision process can be a problem, after a period in which the company size increased changed from 6000 to 17000 people.

History repeats itself

January 27th, 2008

Piracy advertising

Before internet and peer to peer transfers, music industry was afraid of piracy. This advertising is from… the 80´s!

Spiders feeding

March 16th, 2007

Technorati Profile