Thursday, February 6, 2014

Specification by Small Talk

Level: 4 where 1 is noob and 5 is totally awesome
Disclaimer: If you use anything from any of my blog entries, it is on your own responsibility.

Intro


This a term/method I have coined, based on some good experiences I have had. Just to rule out any misunderstandings, this has nothing to do with the programming language SmallTalk. It is hardly new, and I guess most of you do it to some degree. It is not supposed to replace any specification methods. It is a suggestion for a preamble for whatever specification method is used. It is quite simple, because it is just informel communication.

Motivation


We have come far with different specifications techniques, but how the techniques are executed, sometimes troubles me. Most a companies, often have a pipeline with tasks/projects. The tasks or projects is prioritised after importance, decided on some meeting. When a task or project comes to an end, it usually releases some human resources, which has to be allocated for a new task or projects. Usually a meeting or a workshop is arranged for specifying the task or project.

This is the point which troubles me, and here is why. Without any preamble, we are ironically using a waterfall alike model for specifying. It is like, meet up with you thoughts, specify within this period, see you again at next specify sprint. I know, this is very roughly, but it is for emphasising my point. The thing is, at the first meetings, people mindset and understanding, are not aligned. Often the best responses to input, comes when the input has circled in the mind for couple of days, but by then the specification meeting or workshop is done. Another issues is also, do we have the right people at the meeting? And most importantly, is this task or project in reality the most important, or should another project have the priority? We simply don't have the best start.

So what am I suggesting?


As mention before it is quite simple, it is just talking. The concept is about to find values, share thoughts maybe discuss something technical in a relaxed way, and in the end have an aligned mindset for a specification workshop. The process can run from an idea is born, to when there are resources to bring it to live. Regardless of the work pipeline. The point is, it has to be informal. The idea can be discussed on small informal meetings, maybe by mails or at lunch. Nothing must be settled or promised. The most important part is, involved people should have the time to think about it.

The process starts by someone wants something. As an example, lets say a customers gets an idea for a new feature in the system. He takes contacts his contact from the system supplier company, and tells about the idea. The contact person talk with a coworker about it. Maybe they invite the customer to come by to hear more about it. The co-worker mention the idea at lunch, and then finds out that another coworker, knows a lot about the domain of the idea. Thereby the best person for the job is chosen, instead if the available person at the time. The point is to let idea spread like rings in water through out the company/department. 

Another gain. Maybe the idea is has more value than first anticipated. Maybe it has so much value, that the pipeline has to be reorganised. Projects without values, could even be avoided, by this early evaluation. Value is always best discovered sooner than later. 

Maybe involved developers can test or try things, to improve the idea or give it the best solution. When running a time boxed project, developers do not have much time to do so.

It all sounds good, are there any pitfalls?


Oh Yes. The biggest pitfall is to settle on a solution, so the specification workshop is all about that solution. Some specification techniques, like specification by example, is about focusing on problems, instead of the solutions. In my book, it is the way to specify.

Summary

Specification by small talk, is preparing a project for specification workshop. Less introduction and more focus. It is also for an early evaluation, and preparing for developing. It is a interesting concept I'll explore some more.

No comments:

Post a Comment