środa, 31 października 2007

Microsoft Business Intelligence Days

Mood: 4 free days ahead :)
Music: Smushing pumpkings, Bleeding the orchid

I have just come back from the Microsoft Business Intelligence Day. I usually do not like this type of events, as I believe that having exactly the same amount of time you may usually find more on the web. The main reason why I still force my self to move my ass off, is a willingness to meet new people or old friends ;) This time I found not only this, but also quick review of new, interesting MS product(s).

As it is easy to notice, I put some interest into SharePoint area as I do believe that it is for now one of the most promising point in whole Microsoft’s products portfolio. In the same way as an age ago they started to provide products on MS platform, they start now to provide the services basing on SharePoint+SQL Server platform; actually, services in SQL Server 2005 are visible literally ;)

SharePoint and SQL Server are somewhat high maintenance women, when we speak about hardware requirements, but there is no doubt that it is one of the best on the market, when we speak about true plug-and-play approach. That is why, I am quite sure it is a perfect shoot for standard applications and MSP market. As a bonus it provides the customers the interface, to which people are used to as it is fully compliant to the whole Office package. Sharepoint is nothing more than web collaboration extension of Office package.

There is number of interesting actions, which happens in Redmond right now about SharePoint and the most important from my perspective are:
  • Reporting Services (as the most visual of new SQL Server 2005 services) allowing you to provide quickly SQL query on the web, within the complex and out-of-the-box web platform, which includes the security mechanisms, alerts etc.
  • Excel Services – in fact the Google Spreadsheet competition ;)
  • Enterprise Project Management – the MS Project on the web finally after so many years!!! It seems also like within this product, there will appear the Project Portfolio Management bought with UMT. I hope that adoption of the product will go quicker than usage of NetIQ solutions within MOM>SCOM and smoother than incorporation of PlaceWare into NetMeeting>Microsoft Office Live Meeting.
  • Pefromance Point Server – long awaited complex web GUI for BI functionalities like budgeting (actual versus plan) process.
As you can see most of these products are nothing more and nothing less than just web, collaboration-enabled version of various MS products. Heave usage of SharePoint+SQL Server bundle is a promising trend and I am quite excited looking where it goes.

The conference was about the last bullet (PPS). I was quite sure, that I will see (as friend of mine said) the SharePoint with number of color bullets and arrows. Consider for a second SharePoint as a tree and PPS as lamps and chains. When you put is together you will get the Christmas tree ;) What my surprise was, when I saw… Proclarity! Yes, the next product, which MS bought and now they sell it under the different name with couple of additional sauces ;)

The approach is quite smart, as it is always better to buy the ready to use product than bleed producing it from the scratch or maybe the corporation is so big, that it can produce the breaking through technology only buying it with some smaller company ;) The Performance Point Server is actually relatively young product and MS officially says, that it was not sold in Poland yet! There is a living blog of development team. It consists of:
  • BizSharp – the tool which helps to plan the OLAP cubes; they does not promote the tool too strongly and treat it mostly as kind of support application; in Google, there is just 1180 findings!
  • Business Scorecard Manager – the simple, standalone application, which allows you to create in drag-and-drop way the BI reports for publishing on SharePoint pages as WebParts (when you use link, be aware that live demo is loading infinitely)
  • Proclarity Analytics – the horse power of the whole solution including desktop and web client, with all the candies like the decomposition tree, strategy map and perspective view (on-line demo under this link works smoothly; is it the metaphor of the whole solution?). It is quite visible that buying Ploclarity, MS bought also number of interesting patents ;)

It was what I took from the Tomasz Kwiatkowski (real demo!) and Paweł Borowiecki (business talk) session. Fellows tried to play cool buddies, but it turned out a little bit artificially. Luckily the content of the whole presentation was quite solid; I took out from the session clear vision, what the whole thing does and what the PPS from user perspective is. They hidden smoothly the double nature of the whole solution – it is Proclarity inclduing GUI, but it can be SharePoint also ;) I think the whole thing is still in transition phase. Under this condition, the try to charge the regular client 80k$ for about 25 clients installation (Performance Server + CALs + SQL Server with 25 CAL + consulting company for 3 months period of installation – the price for SharePoint Server, which is not included as in standard they offer free Windows SharePoint Services!) seems to be relatively high price, even after impressive demo of “ready-to-use capabilities”.

My clear vision was slightly blurred during Krisitina Kerr speech, who started to talk something about Monitoring and Planning servers being a part of the whole solution. I must admit, that even now after 15' browsing, I am a little bit lost in the whole complexity of the whole architecture, even knowing a little bit about OLAP. If it is just for implementation engineers, why to torture pure decision makers with such a level of information. BTW, plus for MS, for organizing headsets with english-polish translation; it was visible that surprisingly many people used it.

Summarizing in numbers, the whole conference was quite interesting even if there was about 60-70% percent of marketing talk cover like Monitor>Analyze>Plan flow around the Strategy bubble and just 30-40% of some real show. Only? Maybe, as much as!

90% of time was spend on presentation layer, which is definitely the coolest part and small part about the sweat and pain of collecting and clearing data (actually only Jarosław Szybiński touched that topic). I know from practice, that it is the most often the hardest part of any BI implementation (definitely not plug-and-play, regardless from how good the product would be). This I can forgive, but what I cannot forgive though, is that some sessions had the same content – it happened even once that some guy showed part of demo, which was just showed couple of hours before and it was publicly noticed!

In fact it was the only visible set-back. For such a mid size conference, it is not much and the whole thing was organized quite nicely. Year after year MS in Poland learns how to make truly social events. This time during the lunch break, they let people enter into the dark dinning room, where you had Halloween pumpkins (conference was 3 days before Helloween, which we traditionally in Poland celebrate differently from US citizens) and they left the place dark for some time; delicious ;) Also budges had interesting, modern outlook and about 83,4% of people had them attached, what I treat as a proof of acceptance ;)

The T-shirt is from Microsoft Technology Summit 2006 and budge is from the conference. I feel like MS Christmas tree commercial ;)

sobota, 27 października 2007

EPM Adventure - 1st Chapter

Mood: That is Saturday!
Music: The best videoclip ever and one of the best song

The topic of the day is to remove the EPM project. The task seems to be easy, but as some the things in real world it is not as simple as it seems.

1. Quick introduction
Within our installation of the EPM, there are three types of "projects":

A. Proposals - these are things, which you establish before the project is opened. It is very useful to plan and report the prepartion period and/or offering process etc.
B. Projects - that is a real project, with a regular project plan in MS Project
C. Actions - that is set of post-project tasks like support and/or closing things, which have not been included into the project period

The categorization has some special meaning as only Projects can have the real, advanced schedule, which you edit in MS Project. Proposals and Actions has just some simpler Web schedule editor which has limitations like you can not add two persons to one task.

2. The case

The problem is that user with "Project manager" role can easily remove his Proposal and Actions, but there are some big problems with Projects. As there appeared more and more out-of-date projects, I was willing to clean my desk up.

The first lead was saying that it is enough to change a status of the project...but the field was uneditable :(

The next lead was about finishing the work flow...but that did not change much and published projects, where still visible.

Couple of words about SharePoint workflows in here. That is truely a cool, new feature of MOSS. I strongly advice to take a second and have a look at two workflows implemented by default in EPM - acceptance and feedback collection, they truely work fine. Unfortunatelly just limited number of ready-to-use things is available for now and if you want to create some consistent, customized set of workflows you need to involve some SharePoint programmer - there is still not too many on the market.

But coming back to the main case... I had to make couple of other unsuccessful tries (like tring to remove all reources from the project, but I could not remove myself :( ), before finding out that the simplest solution is the best. It is enough just to open MS Project and right click on the project :)


3. Conclusion 1 - from administrator
And now the most funny part of the whole adventure. I came to my SharePoint administrator, told him about all my problems and my succcess. He looked at me, a little bit surprised and said...

- Well, you should be able to do something like that even with your privilleges

This short setence explains, why removing Proposals and Actions was so easy comparing to Projects. On the other hand it means that EPM has some security whole and even when the "delete projects" privillege is not added you still can do a trick from the MS Project - it is just enough to have the privillege of managing projects from that tool. How slimy bastard am I ?! :)

4. Conclusion 2 - project archivization
Just next step after I found out how to delete projects, the question has appeared how to archive the content and unfortunatelly the EPM does not provide any tool for it. If you have various type of 20-30 libraries per project and number of various documents distributed among them, lack of such a tool is quite painful. It is the next proof that EPM is quite a young solution and I hope that engineeres from Redmond will come up soon with some cool rocket science, which will allow me to do a trick with one click just for some extra 100$ in new version of EPM 2011 or 2012 ;)

5. Links
Just by the way I have found couple of nice links, which my be useful to you

niedziela, 21 października 2007

Project planning and EPM

Mood: Regular, despite it is the election day in Poland
Music: Bedshaped- Keane

Black screen. At the bottom appears the sentence written with the white, bold Verdana 18

7 years ago – Microsoft Project 2000

A manager is sitting in his cubicle and creates in silence the project plan in MS Project 2000. At the end, when he created his masterpiece (at least he thinks so :) ), he is willing to dispatch the tasks to a team. He starts the painful road of tries and dies.

1. Tasks
At the beginning he is ambitious and he wants to share the appropriate tasks to appropriate people. He notices that he can do it by emails! Wow! Great thing! He sends these… but somehow, after some time he is reported that some of the tasks does not reach the recipient, team is bitching and complaining

2. Project plan
He becomes less ambitious, so he wants simply to send everybody the whole project plan. Yes, you can do it. But the reader… must have the full, commercial installation. Bitching and complaining again.

3. Microsoft Project Central
I bet you did here about it. The solution were not too popular, despite it was quite interesting – the installation over the IIS is quite simple and the only disadvantage was a relatively not-comfortable way of browsing the whole plan, especially when it was a little bit more complicated. Bitching and complaining again.

So finally our poor manager, printed simply the plan in 5 copies and passed it manually.
Seven years passes.

Now the manager is sitting in front of the Project Web Access opened from the IE (maybe even Firefox), where the one sees, the central deck with all the flavours:
  • Schedules (personal and teammates)
  • Risks
  • Tasks
  • Status reports
  • List of projects in which we are involved
Yes, there is a difference and furthermore future seems to be promising even more.

The end
of the trailer… Let’s come back to the real life.

Since some time my company uses the Microsoft EPM Solution; I must say there is a lot of complaining in the house, that many things does not work as it should, but these are the most often some organizational / implementation problems. At the end of the road, personally I am pretty amazed by the capabilities of the system. It is still quite new version of the system, not adult yet, but it has truly great perspectives - the marriage of MS Project with SharePoint seems to be great shoot. I am pretty sure that many people on the world, looking at the screenshoots, says "Finnally". It would be actaully quite nice thing for MS commercial :)

The most important thing is to explain that EPM is not just the MS Project via Web Page, but the true implementation of the heavy weight project management methodology like Prince2 or PMBoK. It is a true Project Management Office.

Of course the tool is just a tool – you can build the chair with the hammer or kill your neighbor. If you have no common and detail vision of what you want to do with IT (whatever IT means for you :) ), you should clarify first the processes before the installation, instead of believing in the mysterious panacea for everything. There are no silver bullets – there is always the sweat and pain of the change management :)

I am just getting on the path, but I can already enlist couple of things...


Cons

  1. The solution is relatively young and not too many companies are using it
  2. There are still some small bugs like you can change the name of the project, but the portal name will not change
  3. Lack of archiving mechanisms
  4. The hardware requirements are pretty high
  5. System could be slightly quicker
  6. Administrator must know SharePoint solution in details
  7. You must have appropriate SharePoint license, which is not cheap
  8. Just couple of very simple workflows is installed and any new require coding
  9. Limited capabilities of creating a plan for Proposals and Activities on the web
  10. You still must to have couple of smart key users, who make the system living

Pros

  1. Common and nice GUI, which is truly user friendly after a while
  2. Very extensive administration/installation options and scalability
  3. Good integration with MS Project 2007 and Office 2007
  4. Focused on collaboration – discussions, alerts, white boards, lists, document libraries
  5. Wide possibilities of customizing – in fact new project runs the new SharePoint site using the template
  6. Nice idea of Proposal (before project) > Project > Activity (after project)
  7. Well-planned reporting mechanisms - eg. reporting hierarchy with accept-decline, status reports
  8. Nice workflow mechanism from user point of view - eg. Acceptance and reviews collection
  9. Possibility of creating any other SharePoint site side by EPM, when necessary like the Bug Tracking System
  10. Smart key users have the place, where they can show their talent
    (if you need more what MS Marketing says)

Before you turn on the system for users

  1. Establish the common vision of users groups, roles and privileges sets
  2. Establish the hierarchy of reporting and mechanism to control the way it works (or not)
  3. Establish the projects life cycle in the system (including projects versioning) – saying that we are Prince2 or PMBoK is not enough
  4. Establish some audit mechanisms to standardize content of the system, avoid duplication and ensure that system works well providing real data
  5. Train all users, especially key users
  6. Establish some working, feedback chain from users
  7. Avoid packing everything into EPM- if you need department site, create the separate SharePoint site
  8. Prepare for integration with the other systems
  9. Except the production environment, prepare the test system, where you can (pre)test various settings
  10. Remember that the main goal of the system is to make the life easier; it is for people and not backward

Other solutions
iPlanner
PlanView – (PlanView vs MS EPM)
Business Objects EPM XI

And at the end... EPM has actually very various meanings, but anyway I hope that at the end of the implmenetation process you will be the monkey walking on two feets :)

And couple of screenshoots (sorry for polish)...
1 - start screen with tasks, schedules, schedules to approve, status reports, problems & risks plus list of projects

2 - Schedules approval screen with filtering options and possibility to send marked elements directly to superior with a comment (at the bottom)

3 - Projects center

4 - Resources center (yellow lines are employees and green are their tasks)

5 - Your tasks list

wtorek, 16 października 2007

5 ways to produce valuable software

Mood: Regular
Music: This time instead the music - watch this!

Answering a question posted on the LinkedIn

If you truely plan to create the valuable software you must remember that your targets are...

1. Focus on the solution - fix the problem!
Joel Spolsky said once that, if you plan to make software it must fix a REAL problem - rule number. The best possible, the coolest solution will be bad, if it is just a toy. If you truly make the others life easier and customer surveys are saying that it means your product is good.

2. Focus at users - be stable, intuitive and user friendly!
The solution should behave as we expect it to behave. Whatever you say the MS Office package is quite a good sample in here (definitely 2k and 2k3). As my old IT teacher said… if your mother can install it, without a question and without the manual plus she knows how to use it after some time without cross wording – it means you are there.

3. Focus on the customer - has good value/price factor!
Of course, the best solutions are free solutions, but I guess we speak about the commercial packages. There are some articles, which are saying that there is a rule: “the barrier between 0$ and 10$ is bigger, than the one between 10$ and 100$”. That is a reason why it is sometimes better to provide the complex solution, which comparing to the other, similar things provides simply more USEFUL functionalities (1) for smaller money. Notice that most of users, use just a couple of small tools and most of them are free.
Wise price list may be a key to success. I love solutions like ZoneAlarm or AVG, which are free for private use and cheap for business.

4. Focus on fun - be cool and fresh!
LinkedIn the best sample for me – it is so easy to see if the company worked with some professional graphic / GUI expert or not J

5. Focus on community - do the they space for sharing knowledge between users, listen to them and support them
It applies also to non-web solutions; SAP has a very strong users communities. Microsoft focus less on the centralized MSDN right now and more on the communities, which supports people answering the direct questions. If the product vendor takes care about this community, it grows and helps to improve the product – that is a part of the Web 2.0 movement.
If your product is big enough, it should provide some place for plug-ins and platform for external developers to write extensions (AppExchange from SalesForce is good example).

... and this is it. So simple and so hard in the daily life, where you need work out the common vision of your product; it is so easy then to loose some or all of these focuses :)

poniedziałek, 8 października 2007

5 best ways to have the house full of bugs

Mood: Just after sex
Music: Elektrobank

There was a question on the LinkedIn "What are the Top 5 reasons that NEW applications are released to production prematurely?" and just 4000 letters to answer it! Not enough... Full answer published below...

It is quite hard to discuss with such a guru like Joeal Spolsky, who answers perfectly your question directly in the article. Anyway the life is about the challenge, so lets try to watch fellows, who causes that software is immature. They say:

1. We do not need QA!

It sound crazy, but that is true and I met it couple of times. Many software houses do not have the regular QA team! It happens not only because “we can not afford” (the number 5 on Joel’s list), but also because the decision makers believe “we do not need it”! I met once a very clever director, in a mature consulting company, who believed (despite number of my suggestions), that consultants can perfectly find all the bugs, when preparing the demonstrations and installations!

If QA exists, very often these guys are responsible for the other duties like builds, version management or configuration. I know the companies, where one tester is controlling the work done by 15 developers! Joel Spolsky says about 1 tester per 2. Gurock goes even further writing about dedicated software - one per one. In my opinion well trained programmers, who does unit tests can have 1 tester per 3 programmers, but they definitely need QA team, who is focused on testing and nothing else.

2. QA is tiring and boring!

Many people feel it inside their hearts and they are not strong enough to admit it. We are amazed by the possibilities of new technologies and so tired because of countless number of errors. Who like the messenger, who brings the bad news? Who wants to hear about hundred of the very specific situations, when the system does not behave, as it should? Why do we need to repeat the same routine (test script) again and again and again? Ooo my goodness, do you report the same error again? The damn QA team… they are the pain in my ass!

This is why many errors are hidden under the carpet, some inconvenient scenarios are omitted and test reports are so optimistic. It is so rare to hear: "Yes, that is sometimes boring, but it is necessary to do and I will not release the product without having this check list working in 100%!". I promise my QA team nothing else than sweat, pain and… support.

3. I want just demo version!

Very often the sponsors of the projects want just to feed sales forces, so they can present the amazing, break-through functionalities on the conference. The first one, the second one, then there is a first client... lets just install it only for this customer. We will do the real re-factoring later after we cash this deal. The real horsepower is irrelevant until the regular users start to report zillion of bugs and then the witch haunt starts :)

The other variant of this story is “add this, this and this functionality, and keep the quality!”. Sometimes it is simply impossible to froze the scope of the application (especially when agile methodologies are used) and then the application may truly explode with number of functionalities :)

4. Automated, unit self-testing is the panacea!

Part of many agile methodologies is the automated unit testing. Each function should have the shadow function, which automatically tests its effect. The idea is truly great, widely popularized, but even when the company says loudly that they use XP or Scrum only some functions are truly automated. Furthermore, in the situation, it is quite easy to neglect the other type of tests like integration, platform, destruction etc. Do we need it, if programmers do the tests on the lowest level?

Yes, we need them! If you do not do all these things, they will happen sooner or later unless you bankrupt before the first commercial release :)

5. Do not write papers - just test it!

If the QA team is not instructed to document the scenarios, work done, errors – they will not do it! Most of people prefer to speak than to write, to keep the knowledge than to share it. The decision of the final release must be based on hard, written information like the number of bugs per test iteration (how close are we to Zero Bug Bounce ), level of code coverage by tests, performance and security test reports plus number of the others. Feelings are not enough in this business!

QA team is paid for being a couple of steps before any user and knowing the strangest possible way of using the software (Joel’s 3rd story). If the final user is finding some unknown bug, the QA team fails . Not all bugs must be fixed, but all of them must be documented! You can do it only if you keep some reasonable level of documentation – check lists (test scenarios), bugs registry with reproduction list and statistics.



At the end I want to express quite brutally that the most often the business decision makers are responsible for these things as they take care about quality only verbally! Their declarations are not followed by real actions and investments. The regular quality reviews are neglected as the new, cool functionality or the customer behind the door is more important. Most of them are not capable to stay with Sara Ford talking at channel 9 until she gets into the lab. Yes, she is not sexy and she is boring :)

ps.
She probably can not also dance as the one on the videoclip, but she as amazing as the one :)

piątek, 5 października 2007

Advanced Project Management- Herold Kerzner

Mood: Sick
Soundtrack: Relax and take it easy (video clip is horrible, so this is why I prefer to display just cover :))

The book is definitely the must to read for any manager or leader in middle size or big organization (not only from IT sector). It is very visible, that the author put the strong effort in collecting the experiences from big number of companies. It is a pity that number of companies did approve publishing, but the list of contributors is very impressive anyway and it includes the brands like Sun, CA (all their procedures are published in appendix D! p733), HP, Nortel, Erricson and ABB. Sometimes the author allows treating the pages of his book as the free commercial for these companies, but usually the valuable information is passed including even some sample forms. Each chapter is full of samples from real life of the company with sweat and pain scenarios (the second one usually under the cover) – that type of approach gives that book a special, unique taste. Usually that type of book is saying you in rounded words what should be done, but this book says you also how. It covers a very wide angle of topics starting from the document flow systems, organization structures and finishing at some aspects of corporate politic.

When you start to cooperate with some organization, your first step should be formal or informal analysis of the situation. There are some samples of self-surveys (p653) and strong input for preparation employee survey - case 5, appendix I (p787), but the most interesting is the 2nd chapter defining the 5 levels of project management culture:
• Embryonic
• Accepted by directorate
• Accepted by managers
• Growing
• Adult
There is number of samples, definitions and methodologies, but the most useful will be the appendix B and C, giving you ready to use surveys to find out, on what level your organization is. If you need some guidelines in the area, the part 5.14 (p.248) contains some auto commercial about the Kerzner tools used for such The Growing and Adult stage are also broken into the pieces within 5 levels of Project Management Maturity Model (p239)
• Common language
• Common processes
• One methodology
• Competitors analysis
• Constant improvement (nice checklist in chapter 14.7 – p. 600)

Chapter 4 is giving you number of interesting samples from various companies, which worked out their own methodologies basing often on PMBoK. Prince2 is mentioned much more rarely and it seems like just Sun use it (p676). It was also interesting to read that Sun created originally RUP methodology. Anyway, there are not many books, which are brave enough to say that there is no golden rule and each company must create their own methodology. The IT fellow will find some well-known spots like Microsoft’s MSF methodology (p160), but most of the samples are quite fresh. The CIGNA sample (p138) was very good showing very well the linkage between the process and project plan. Intel (p147) enlists in details how the magic happens in real life, focusing on the document management. The list of critical aspects, when creating the methodology (p146) is also very valuable, but the best is the DePICT methodology from Exel (p153). It was the only company brave enough to publish their own document templates. Bravo!

Except strict project management the book covers also the general organization management issues including the Project Portfolio Management in chapter 7. The most interesting were the processes of choosing the projects for realization and two matrixes at drawings 7.6 and 7.7 (p308).

The 8th chapter is about the Project Management Office. I must admit, it was the first time I see so good PMO portraiture. Definitely, each organization has different understanding of PMOs and it is presented in part 8.4, but list of duties (p.334) seems to be common for most of them. Again, the chapter shows the real life situations starting from project approval mechanism like the 3 level recommendation mechanism (p354), closing at the sample template of document, which closes the project (p340) and set of sample postmortem questions (p360). Unfortunately, the implementation of documents management systems, which is in PMO duties, is not covered. The only things, which can be found, are some general drawings in chapter 16 (16.4 p647 and 16.5 p648), which shows document libraries structures on intranet sites. It would be great to see more in the area.

Very often, the risk management is neglected and that is probably why the author creates the whole chapter 9 just about that. He treats it in the complex and process way (checklist at p402), gives great ABB potential risk list (p413) and Motorola’s risk management system (p428) plus focus strongly on change management (p418).

I mentioned about the politic at the beginning, even if the book does not mention the word. That is known, however that half of success is to know what to do and the other half is to find a way to implement the change. The book give you a lot of tips how to fight with the resistance against the change, which exists often in big companies. The book mentions the interesting change management preparation list (p 243) and cool “basket team” scenario (p443), which shows that there will be always the person, whom you will not be able to change. The whole chapter 11 is discussing how to win the directorate attention. The sponsor or sponsor committee institution seems to be the best for it and chapter 11.2 contains some nice proves for it (p483).

To avoid accusation for being paid for this review, I must also to say a couple of bad things about the book. In some moments the author is trying to prove that some periods in history was about some particular stages in organizations grow. It went too far and drawings like 1.3 (p23) saying e.g. that the year 1994 was about “Cost analysis of live cycle” is simply funny. This is invalid tone, which can be heard through the whole book. Luckily, it is not in the mainstream and it can be ignored. The other disadvantage is, that there are some moments where the book is just the flood of words like the chapter 12 treating about trainings. The book would be as good as it is without this chapter.

On the other hand, the book shows definitely how wide the topic is and sometimes the mechanisms are just mentioned without further description:
• Statement Of Work (p196) – part of scope management
• Work Breakdown Structure (p196) – tasks management
• S curve (p196) – cost management
• Responsibility Assignment Matrix (p197) – responsibility management
As book has already over 1000 pretty well used pages, there is no space for blaming the author. See just for a second how often have I used the words sample and “in practice” – it describes the best the content of the book.

Score: 5.5/6 (very good)

The numbers of pages are based on polish translation of the book and they may be different in english version.
 
web metrics