Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 159

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 162

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 165

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 168

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 171

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 173

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 175

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 197

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 201

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 224

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 225

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 226

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316

Warning: Creating default object from empty value in /home/jfcouture/jfcouture.com/wp-content/themes/platform/core/library/class.layout.php on line 316
SE Process 101: Habitability

I always wanted my blog to be about my thoughts on software engineering. I feel they have matured long enough now for me to try and write them down. Hopefully, this is the beginning of a series where I give my opinion about what’s important when developing software.

Some would argue that process is at the center of software engineering. However, that word often often brings nightmarish visions to people, visions of activities with multiple signed handoffs of deliverables, usually including a ton of documentation. These are what you would call heavyweight processes. There are of course lightweight processes and agile processes. When I talk of process, I don’t want you to think of any these. I want you to think of what you and your team do every day, of the way you are organized, the way you work to get software done. That’s your process. It may have a name, it might be documented, it might only exist in your head. No matter what, you always have a “process” when you work. It might simply be whatever works (by the way, that’s an awesome process). This article is not about whether process are good or bad. That’s irrelevant, because by the simple act of working, you have a process.

There is an attribute that I think is very important for a process: habitability. This is an idea I came across in the book Crystal Clear, A Human-Powered Methodology for Small Teams, by Alistair Cockburn (p.232-233):

Habitability became a top priority when I started noticing in my project interviews that most programmers have the power to ignore whatever methodology is mandated by their organization. All they have to do is say that it slows them down and they’ll miss their deadline if they do all that extra work. That is usually sufficient basis for ignoring it. [...] If the programmers are told they have to do it anyway, they usually find ways to circumvent it. It doesn’t matter what the methodology is if it doesn’t get used. In other words, habitability is a critical success factor of methodology adoption.

Part of habitability is tolerance for human variation. Some like to make lists, others don’t; some work best visually, others with text; some like to work alone, others in groups. Some stare at the design for hours, days, or weeks making sure it is right, while others like to “feel” the code taking shape. It is for that reason that Crystal has so much tolerance around techniques – not only do they change all the time, but different people are drawn to different techniques. The habitability priority means that the rules need to be such that the people on the team can live with them.

Emphasis mine.

The process you use should fit the team. That’s what habitability means. The process should not go against the way team members like to work. That’s what is meant by the Agile Manifesto, “individuals and interactions over processes and tools”. People have a first-order effect on software development (an article by Alistair on the subject). The process is there to help the team deliver, not the other way around.

That’s all there is to know about software process. Good people will find a way to deliver, whatever the process. That does not mean to use any process, but to use one that will make the team happy. And happy people are more productive.

Popularity: 11% [?]

 

3 Responses to SE Process 101: Habitability

  1. Gilbert says:

    … கர க ட த ன … உங கள க க பரவ ய ல ல க ர ட ம ட ட க கல.. பணம எட க க மல பணம எட த தத ரச த வரல பணம த ர ம பவ ம உள ள ப கல… கள ள ந ட ட க கள வரல.. வ ற ய ர ம உங க ப ன நம பர த ர ட பணத த ஆட ட ய ப டல…. அப பட ன ன அட க க க ட ட ப கல ம ப ல ர க க ஆன ல ம வ ள ய ட ட machine … ச ப பர ந ன ந ங கள ச ல க றம த ர எனக க ஏற பட டத ல ல ச ர ,ஆன ல க ள வ ப பட ட ர க க ற ன .நன ற

  2. Онлайн займы и кредиты пользуются огромным спросом среди заемщиков, теперь уже за 5 минут, Вы узнаете, одобрят кредит или откажут. Наш информационный портал “Супермаркет кредитов и займов онлайн” создан для всех граждан Российской Федерации. Вы без труда сможете подобрать кредит или займ, кредитную и дебетовую карту, ипотеку. Все оптимальные предложения банков России по параметрам в режиме онлайн! Онлайн заявка на кредит, Совкомбанк, Тинькофф Банк, Честное слово, Деньги взаймы, Домашние! Выбирайте самые выгодные кредитные предложения http://rfcity.ru/ и оправляйте заявки в банки России! Желаем Вам удачи! Уникальное предложение № 6NI1P-F63DU-51127231024

  3. Afudbub says:

    Быстро и качественно переделаем любой автофургон под еду на колесах недорого. При необходимости поможем недорого купить автофургон и подоберем обрудование без перплат.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>