Thursday, 11 October 2007

The real goal of Agile.

The 3rd Agile Gathering was conducted by Agile Ukraine in Kyiv on 9/10. I was participating as humble developer from our team listening to people who have already achievements (or at least pretended to have) in implementing agile technologies.

Being a participant of previous two gatherings I feel some remarkable symptoms, which probably may cause me to review agile technologies in different manner.

Organization crew strongly wants to sell certifications. So, they encourage everybody to become SCRUM certificated master (SCM), to have affiliation of the international agile community. Then you probably gain SCRUM Certificated practitioner. And the third stage of that is to become SCRUM Certificated trainer to be able to provide certification for other people. Capacities are growing: soon one more battalion of SCMs will appear in Kyiv. IMHO, it rather makes SCM devalued than increase percentage of successive projects, but let's see it together in the future.

Reporters lean to tell about their projects and how effective they are with agile. That's great, but why main accent is made "How to make your business applied for agile"? They prefer to answer question: "What kind of project should you manage to implement agile?", not "How to apply agile on some project?":
- How about deadlines? How can you check if you are meeting deadline or not, implied from your estimations?
- We do not operate with term "deadline". We have workflow, sprint, backlog, but do not use deadlines.


Well done. Thanks! Only challenge is to find such brave customer, that doesn't care about deadlines!

As for me, it's pathetic point of view: instead of appling process to business, let's make your business applied to the process. Bringing business to agile is even more ridiculous thing then bringing agile to agile software tool.

Accordingly to report of Adam Byrtek about his company Codesprinters agile techologies can be applied for small teams developing web-based solution on languages like Python. Unfortunatelly, that doesn't impress me much, because I can't drive out requirement of my customer and say: "Dear sirs, instead of delivering desktop client-server application based on Win32, we offer you web portal developed in Java".

Indeed, the most crucial thing is how to convert methodology to something worth to decision making people: would it be customer, headmaster, sales or owner you should represent your approach in his values.

I remember very remarkable book Critical Testing Processes by Rex Black. It impressed me very much because author managed to convert his technology to business benefits. Actually this is essential point of his thinking. Look at the first frame of his presentation here: his approach serves to save money. His listers don't even think what business values will be spent on implementation such QA-driven development. Because his approach is business value itself!

I can see community is progressing comparatively with last year: among people bedazzled with some extra-special-new-super-cool methodology appears essential community of pragmatic specialists, who will probably reenforce agile stronghold. Askhat Urazbaev from Luxsoft Moscow emphasized that agile is implemented not for agile, but to make project successful (in the meaning of business). I strongly belive in that and I also believe that agile will make software industry more successful, but for now I didn't get any good ideas how to make agile benefits evident for business. And this is very disappointing ...

Antipattern introduction seminar

    On Monday (09/10/2007) I was holding workshop about Antipatterns in our host company Ciklum. Attendance was quite low, but anyway I know start can't be easy.
    The topic is quite interesting, but since workshop was going to be mainly based on single book "Antipattern" by W. Brown and company, I strongly decided to brighten up it with my own experience. Project I'm involved in is all geographic map of Antipattern, so I had enough examples to make presentation pretty close to reality.
    I have found one peculiar thing: some people are really appreciate commiting to the main topic of presentation: they were steadily asking question and sharing their experience or opinion. Once I thought it's not good that reporter is frequently interrupted, but I really like it now. Only suggestion, that he (reporter) should be adequate on interrupting: to not argue very much and to know when to stop paying attention on the active listener.
    Next time I would rather have something like technical club, where all participants will be more or less equal ...


    And I believe I already have some ideas ...

Monday, 1 October 2007

Windows 2000 must survive!

3 years ago I have switched from Windows 2000 to Windows XP. It's already year since WinXP is issued, but I have surprise intention to return to Windows 2000 again.
Today I have successfully compiled Outlook Integration solution in VS2005 based on new VSTO. And to my own surprise it was done without any VS extentions, w/o .Net framework 3.0 and even without Visual Studion itself. The secret?
Oh... There is no secret at all: VS2005 uses msbuild.exe to compile own solutions. It adds some tolerance to it, but my general build engineering approach is too keep build server and development as lean as possible. The thing I dislike most of all is when somebody updates list of prerequisites of our software and particulary preinstalled software necessary for development. My will would be to be able to compile everything in commandline without any additional tools.
In next post I'd like to describe this process in detail, but today I would like to concern attention on main principle:

Build process should be environment independent.
I.e. irrespective to environment that exists on build server the result should be invariant.
Some days ago we have established new build server and I accidently realized that it works different in testing environment. I swear to avoid situation like that in the future.
Seems to be like we are striving to a catastrophe?
Oh, yeah, we are: it happens when we try to deliver our soft built on new server to customer who has version of the old prerequisite ...
Somebody thinks that update is some kind of Tivoli. Oh, dear sirs, you are mistaken, it is some kind of Ragnarok!