Ming the Mechanic:
The conversation of work

The NewsLog of Flemming Funch
 The conversation of work2014-11-01 17:33
picture by Flemming Funch

Being a computer programmer has been one of my main sources of income for the past more than 30 years. More than half of it freelance, doing projects for people. I've noticed an important difference between very successful projects and not so successful projects.

Is there anybody to have the conversation with?

Software development is a type of knowledge work. Key parts of the work is to get to understand the problems at hand and inventing solutions for them. Because what needs to be done generally speaking isn't known in advance, it is being discovered along the way. Modern approaches to development, such as the Agile principles, take that into account by bringing all the stake holders together and engaging them in frequent conversation, and by progressing very incrementally.

But many people still mistakenly think that software is something mechanical. You just need to specify clearly what you want, and then the programmers need to just go and code it. That was how it was generally perceived a few decades ago. Analysts would write the specs for what needed to be done, and then we just needed to apply enough programmer man-hours to implement it. It never worked well, because once the programmers came back with the work, 6 months or a year later, and it was shown to the people who asked for it, they usually would realize that it wasn't really want they wanted, and they'll ask for changes. And the analysts would revise the specs and the programmers went off and did the work again, and came back some months later. That used to be the idea, but it is ridiculously wasteful and ineffective, so the approach has mostly been abandoned. However, that doesn't necessarily mean that it is easy to persuade clients that they need to be engaged in the process. Sometimes it is a very hard sell.

The most successful software projects I've done have involved a continuous conversation with some other people, often daily. That doesn't mean long meetings. Nowadays it means brief asynchronous instant messages, and occasional short face to face meetings. Doesn't have to be with everybody, but it should certainly include somebody who has a sense of what is needed, i.e. somebody who represents the interests of the end users. And, strangely, that's occasionally very hard to find, and it might make the project suffer greatly. Meaning, it will take a lot longer, be more costly, and most likely not deliver what really is needed.

The problem is in part that complexity is hard to understand. Complexity is something dynamic and alive that can't be all understood in advance, but that has emerging properties, which might or might not be the desired ones. This is as compared to stuff that is merely complicated. If it is complicated it might well be possible to make a big assembly diagram and have somebody simply follow the instructions. That works with many things, like Ikea furniture, but not with others, like software. Or communication. You can't just outsource an organization's social media relations and expect that it will work well. There needs to be somebody home who participates in a process of finding what works.

So, a note to myself: Face the issue up front. Don't accept a development project that the client isn't themselves taking part in. If they just want to tell you what they want and hear from you how long time it will take, walk the other way.

[< Back] [Ming the Mechanic]



20 Jul 2015 @ 11:02 by Koriandr @ : essay writing help
Students may study soil science, which emphasizes the physics, chemistry and biology of soils. Crop science and pest management courses focus on how herbicides, insecticides and other chemicals are used to deter pests and iad in producing healthy crops. Students also may learn the correct handling of chemicals and pesticides. Plant propagation courses cover seed planting, budding and grafting. custom essay writing service  

5 Mar 2016 @ 08:17 by Jatin @ : Delhi resorts for weekend
Packages for Hotels in shimla

Holidays deals for Resorts Near Delhi

Family holiday packages for Resorts in Jim Corbett

Tour packages for Holi packages near Delhi

and Group deals for River rafting in Rishikesh  

14 Apr 2016 @ 09:12 by sunglasses online @ : Nice one
I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. . Buy spects frames online  

24 May 2016 @ 18:48 by senator  @ : sukses
This is great and really informative.. I'll keep following your web and your article, thanks for sharing :)
Judi Bola
Judi Online
Prediksi Bola
Agen Sbobet

30 Jun 2016 @ 07:10 by murahbromo @ : murah bromo
Paket Wisata Bromo Lebaran Idul Fitri, HARGA TERJANGKAU !!!  

6 Aug 2016 @ 16:10 by fishdom @ : fishdom
I had searched all day long for somethins like this.  

7 Sep 2016 @ 07:43 by india @ : indian festival
Chhath Puja Songs

Chhath Puja 2016 Songs

Happy Dhanteras Images

Happy Dhanteras Wishes

Happy Diwali Wishes

Happy Diwali 2016 Wishes

Today Karva Chauth Moon Rise Time

Today Karva Chauth Moon Time

Karva chauth Moon Time

Karva Chauth Moon Rise Time  

15 Nov 2016 @ 06:46 by Mechanical Engineering Project Help @ : Mechanical Engineering Project Help
I personally like your post, you have shared good article. It will help me in great deal  

Other stories in
2007-02-24 14:20: Writing books in HTML/CSS
2007-02-05 15:21: Software is hard
2006-11-19 21:30: Thingamy
2005-12-14 15:15: Ruby on Rails
2005-03-19 16:04: Comment and Refererrer Spam
2005-02-23 21:34: Wikipedia
2005-02-22 17:32: Mail
2005-02-10 16:00: More Google wizardry
2005-02-04 15:14: The Six Laws of the New Software
2005-02-02 18:37: Blog, Ping and Spam

[< Back] [Ming the Mechanic] [PermaLink]? 

Link to this article as: http://ming.tv/flemming2.php/__show_article/_a000010-001997.htm
Main Page: ming.tv