Software R&D : Stop Focusing On Technology

Some big companies have centralized development R&D. But sometimes, it’s simply not working.

Some big companies have centralized development R&D. But sometimes, it’s simply not working.

 

Start making developers better at choosing instead of choosing for them

 

Don’t misunderstand me (especialy you my dear colleagues who read this) : we need some kind of normalization in a company with a lot of different quality level developers. But if you focus on technological solutions you’ll risk to miss the point and make yourself useless. Especially on tight budget.

Do Less :

  1. Trying to produce One-Size-Fits-All-In-One-Inegrated-Frameworks
  2. Hiring intrusive consultants for a short term study
  3. Producing Out-of-the-real-world POCs (Proofs of Concepts)
  4. Listening to all exterior vendors that claim to have the best One-Tool-To-Rule-Them-All

Instead Start :

  1. Gathering common needs from different projects already in production or in the making
  2. Emulate innovation by offering a kind of Entreprise Github
  3. Best : go open source and participate to the real world solutions
  4. Organize as many education events as possible. It’s harder but cheaper than buying soon deprecated solutions.
  5. Create an internal StackOverflow to promote help between product departments that never speak together.
  6. Promote User Groups for both external (open source) tools and internals
  7. Look for the best practice, not the average one. For example promote and teach TDD and Continuous Integration.

What matters is not an all in one solution that will deprecate in 2 years, what matters is making the other average developers of your company better.

It’s about education, not technology. It’s not about methodologies, it’s about state of mind.

 

What Kind Of Lead Developer Are You ?

There are at least 2 kinds of Lead Developer. The Backup and The Coach. A leader is always someone making you progress in your craft. Either by teaching or by showing.

There are at least 2 kinds of Lead Developer. The Backup and The Coach. A leader is always someone making you progress in your craft. Either by teaching or by showing.

The Backup

He is working in the shadows. He is your safety net. Every commit, every unit test or method, he scrutinize it.

His goal is to soften the difference of levels between other developers. He is quiet and working on tasks you don’t see at first :

  • repairing or improving a unit test
  • reordering your files
  • answering your small questions
  • taking and applying merging decisions for your
  • making great utility classes and stacks to accelerate your work on the most visible part of your project

The difference with a simple developer is that he can explain what and why he is doing. Hence, you progress.

Each of his commit is to be looked at. Because they can and should change the way you code.

The Coach

He is spending more time with you than coding on his own. Peer programming with him (either as a pilot or a co-pilot) is a better than 2 months of school.

It can be frustrating for him, just like for the Backup leader; because he is more helping others to code than coding.

He is the guy you look after every time you start the architecture of a new user story. And you should. More visible he also have to be humble yet firm.

You Should Hire Both

They are complementary. There can be many leaders, not just one. And the time spent by the first must be used by the second to educate the team.

Both are the architects of the project, one by example the other by reputation.

I worked with a good combo on an iOS project. And it’s a joy to follow them, through the code, or in peer programming.

And you ? What kind of lead developers did you meet ?

 

If you still hang on to “features” you are not as Agile as you think

If you still speak about features, or plan to add another sprint to “finish” the backlog : you are not Agile.

On some Agile projects I’ve been working on I noticed an arch reality :

If you still speak about features, or plan to add another sprint to “finish” the backlog : you are not Agile.

One of the first warning I give a new client about Agile projects is the following : your backlog is not a magical whishlist. You can have :

  • sprints (event with fixed time frame)
  • a backlog
  • a board
  • a scrummaster
  • a product owner
  • a daily meeting
  • and so on

but if you still think the team will finish all your User Stories at  the end of the last sprint, you’re gonna have a bad time.

 

So Agile is a big scam, right?

No. Certainly not. It’s a reality call : if you don’t have enough money to build all you have in mind, you won’t.

And you know what ? It’s a good thing ! Features are not the goal of all this sprinting. It’s about VALUE.

Your backlog is not final. It’s a moving plan. It’s a goal. And User Stories are certainly not features. A US can be composed of many features. Or none sometimes (just a simple analog solution)

There will be delay and lag. Even in Agile of course. And the solution is not to do another sprint. It’s to cut down the number of features and start concentrate on what is really meaningful to users.

If you think I’m to vague start looking a the best product out there : less features but an immense value each time you use it.

Dismount what you already built !

Maintenance is a part of your software value. It has a cost, it represents a debt.

So some final word of advice :

Have some budget dedicated to dismount or erase some features. It increases software quality (with less code base) and increases its value (more stable, less feature creeped soft).

 

 

 

Why living in Korea seems better than France

Here is my theoretical/biased/undocumented/partial point of view of why Korea is a better place to live for a frenchman.

Warning : I’m French. Married to a Korean woman. We live in France in a small town near Paris. We only spend vacations in Busan, Korea, not real living. Don’t know about Seoul thought.

You might want to look a this Price comparison between Busan and Paris.

This is a way to engage in a discussion with my French and Korean readers.

Here is my theoretical/biased/undocumented/partial point of view of why Korea is a better place to live for a Frenchman.

Security

Better :

  • You have a much much higher chance to be attacked in the French subway than taking a bomb from North Korea
  • Streets feel safer
  • More respect between people

Worst :

  • I you watch too much TV you might get influenced about Pyongyang’s actions

Transports

Better :

  •  Taxi is much cheaper and frequent
  • Oil price is lower
  • More alcohol controls at night
  • Better roads and lights are on !
  • Better subway, cleaner, no strikes
  • More bus, better time estimation

Worst :

  • Same traffic jams
  • Don’t drive : you’ll die.
  • Few people really wear seatbelt

City

Better :

  • More larger streets
  • Clearer indications
  • No dog sh..

Worst :

  • Too much billboards
  • Some small streets smell really bad
  • No historical places or old interesting places in Busan
  • Less parks, but many mountains

Technology

Better :

  • One of the fastest Internet infrastructure on earth
  • 4G-3G everywhere. Phone always able to catch network.
  • Edge-2G ? What’s that ?
  • Phone plan cheaper and less blocking

Worst :

  • Too much technology ?

Services

Better :

  • Your are a king. 
  • Employees smiles. For real. Impressive. Never saw that before.
  • Anything can be delivered anywhere, cheaply, real fast
  • Postman does everything in his power to give you your parcel. Don’t have to go to post office 48h after he came.

Worst :

  • Hard life for people working in services
  • It makes you impatient and demanding sometimes

Shops

Better :

  • Always find some place open
  • Supermarket still open at 11pm !
  • Incredible service
  • Everywhere

Worst :

  • Loud music and advertising in some streets
  • Some article are much more expensive

Restaurants

Better :

Worst :

  • More and more junk food. But, hey, you have the choice not to go !
  • Wine is so expensive !

Accommodation

Better :

  • More shops and commodities around
  • No bedbugs (personal note after a year of suffering)
  • Cheaper
  • Larger

Worst :

  • More appartement than house
  • Less protection when renting
  • 2 years in advance to rent sometimes

Health

Better :

  • Appointment in the day (in France 3 months some times for a dentist)
  • Cleaner, calmer
  • Very efficient and dedicated employees
  • More employees
  • Choice between traditional and modern healthcare, no prejudice between the two

Worst :

  • More expensive

Education

Better :

  • Real culture of personal development
  • Aim for the best
  • First school is not a babysitting place, it’s where learning starts
  • Less or no babysitting required
  • Many baby/child friendly places

Worst :

  •  Very expensive !
  • Big burden for kids, starting early

Administration

Better :

  • So quick, no comparison possible (10 minutes for obtaining national number  for our daughter)
  • Lot of employees that smiles and are nice (yes it could be)

Worst :

  • You should speak Korean, it helps 😀

Ambiance/Population

Better :

  • Apparently less social status division
  • More respect
  • Less touching between people

Worst :

  • More division between generations/age

Work

Better :

  •  Risk friendly / fast environment
  • More innovation, less tax

Worst :

  • Less protection
  • Too much hierarchy
  • Less less vacations

I’ll edit and correct this article from time to time.

Please give me your opinion on the real fact.

Did I forget a category ?

Translate your iOS app to Korean : a tip

While trying to add Korean support to the Wifinsite app, I ran in the following problem : the app stays in english. French was ok, but no Korea.

Actually you have to add 2 Korean languages : ko(korean) and ko-KR(South-Korea). Very disturbing.

 

PS/ Sorry for the short article. I’ll post a detailed tutorial if needed.

 

Traduire une application iOS en Coréen : astuce

En essayant d’ajouter le coréen pour l’application Wifinsite j’ai rencontré le problème suivant : l’application reste en anglais.

Il faut ajouter DEUX langues : ko(korean) et ko-KR(South Korea). Autrement l’application se lance dans la langue par défaut (anglais pour moi).

PS/ Désolé pour l’article rapide mais je retourne développer. Si besoin je mettrais ici un tutoriel détaillé.

 

Fête des moissons « Chuseok » (추석) ce samedi

La fête coréenne des moissons aura lieu ce samedi 10 septembre 2011 (11:00 – 16:30)

Voici un lien vers l’évènement sur Facebook :  https://www.facebook.com/event.php?eid=202086383188660

C’est comme l’année dernière au Jardin d’Acclimatation dans le bois de Boulogne (av du Mahatma Gandhi, 75116 Paris)

Bonne fête !