Questions and answers

Questions that we’ve got during our analytical and project management work from our clients or elsewhere. Since we provide services in the Czech Republic, most of the questions are in Czech and answered in the Czech stream. However, those that were arrived in English are here.

Whatever you want to ask about the analysis, business in the Czech Republic or about Prague, you might use the form at the end of the page, or email from the contacts. We are looking forward to hear you.

Is there a demand of System Analyst?

The system analyst role is very often neglected. It is expected that the developers are smart enough to propose the solution and build up the best application and that all architecture mistakes are easy to repair using refactoring.

Unfortunately refactoring cannot repair most of the really important mistakes and no one developed a successful refactoring for relational databases that are beyond most application. The major reason has close to the legacy code - the system analysts are so long expendable in the teams as they are useless because the application contains so much legacy code that on one can improve its design - it is simply too late to involve someone who see behind his tasks.

If the system analyst comes in time, he/she can significantly support the development team. He should see the application in its whole complexity which is rather different view than the programmers have. They are mostly invited for the 2nd generation of the applications - when the 1st generation becomes unmanageable.

We support Czech development teams with the analytical trainings experience practice in design and analysis and we meet with the same mistakes repeatedly. Software - although it is mostly expensive, complex and business critical solutions - are developed with less preparation and design than most much cheaper buildings and projects. “Experts” believe themselves so much that they don’t need to sit down, plan and think about the architecture and design. The results are obvious: spaghetti, many mistakes, non-believable internal dependencies and redundancies. Late deliveries. And - of course - tons of legacy code after a few couple of years. Simply with Mr. Covey - all teams are always too busy to sharpen a pile and make things good directly from scratch.

Is there a help? Yes, thinking. Ask for the best solution before you write a piece of code. We might help - training analysts, verify the design. But at first the team shall understand that good design is nice-to-have feature but indispensable part of the development work.


Can we come with an franchise into the Czech Republic?

Let’s look on the facts well-known to all franchising merchants.

McDonald has an advantage of worldwide well-known brand that allows simple franchising. The partners as well as potential clients have known the brand and yellow M far before it comes to a new region including CEE. But most of the franchising channels do not have this advantage. 

The disadvantage of the Czech Republic is its higher cost than the brand sensitivity. (It is stronger in the Czech Republic than in other CEE countries!) It significantly complicates a way for all new brands and especially when an entrepreneur should start with licence pay for a brand that is not known in the region. Then the franchising chain does not bring him a significant advantage (well, logistic, quality, ... but does all that pay back the investment licence and the risk?)

I think there is a large space for new franchising concepts in CEE starting from services both in B2B and B2C sector (bank, healthcare, shared offices, know-how services, personal services, etc.) because the level of services here is still significantly under the US/WestEU standard. BUT the chain should start with the brand building at first. The best way would be starting with supported franchise that builds up the brand together with the business model proof. When the chain proves the concept than next franchise can start up more easily. Next branches can pay back the investment to the start-up entrepreneur.

Donut is a good example. But the franchise starts a step before - when there is an entrepreneur that has strong will and believes to the brand to open the door to the market. Thus the franchisor should at first sell its donut (=brand) to the entrepreneur society.  Not to the 10.000 customers but to the first one.

I know a story of ancestors when they started up a chocolate company about 90 years ago in Moravia where no chocolate company had been before, they walked around a town and giving a chocolate pieces to learn up people the chocolate. It’s something a franchisor should do before he can sell the brand.

Some years ago new brand came to CEE – reality brand Re/Max – they’ve invested to the massive ad and has succeeded – they are known with several franchises. But they also have other advantages: well-know services, stabile market and low start-up investment. The reality franchise (agent) has low risk and minimal investment requirements. With more sophisticated services and especially with totally new service/product (chocolate :-) ) it is much more complicated (what about genetic tests for diseases, brain trainings, South-American medicine, new type of entertainment,...). It can bring totally new opportunity but it would be hard to find a first “market tester”.  (And that would be a business that you (probably) and me would like to start up in Czech :-)  )

PDQM supports organizations that are coming with the business to the Czech Republic. We are prepared to support all business, legal and technical needs: start up a company, find and equip an appropriate location, set up team including managers and define organisation and processes. However we do not make miracles: we know about troubles at the Czech market (e.g. it is complicated to hire people to some positions) but are prepared to solved issues that comes on the way.



What do you use to estimate projects?

I’ve good experience with the Function points but in combination with the experts.

The first step - evaluate complexity of the functions using FPs according to the number of entities that are used / modified / created / deleted and with the respect if the functionality is for a single elements or mass operation. Then use the experts to set up assumption for some subparts of functions. They are able to calibrate it according to the historical experience

Separate estimation we made for interface - both user (screens) and technical.

However, I do not trust to the FP historical database because I go from team to team and they mostly have no historical data. But the complexity estimation is based on the FPs.

I do not need any special tool. The most important tools is a right selection of the required functions from the model repository. Then a simple excel calculation is sufficient.

Why do so many people want to become BAs?

I am not persuaded about a big pressure of people for the business analysis position. It is rather difficult position with very high impact of a potential error. BA is often in the centre of the mill: project manager with the time and budget control, the supplier with the solutions and its limitations, lazy programmers that are not willing to redesign everything several times and the end users who are looking to have they dreams realized immediately and free-of-charge.

Nevertheless, BA has some strong advantages above the related positions:

BA advantage above the project manager (PM) role
  • Less stressful
  • More control about the work quality. Whilst the PM should manage people to work well and may improve the quality of a weak team, BA has more self-control. If you want to have first-class result, you can.
  • Peer-to-peer relations with the colleagues that are mostly more pleasure than the boss-team relations of the manager
  • More stabile work; Whilst PM goes from project to project and there are big differences between projects (scope, team quality, priorities, sponsor cooperation etc.) BA work is more consistent.
BA Advantage above the programmer role
  • Less dependent on the technologies; BA does not have to learn new technologies every year; well she has to learn the business area she has working for but usually it is not as fast-changing area as the programming environments
  • Less stressful because of the terms - the programmers are mostly under harder time-pressure than BA
  • Human-human interaction; programmers primarily have human-computer interaction; many of of prefer natural instead of computer language

State-of-the art BA makes the software team including PM pleasure and comfortable. Well prepared analysis, relevant scope and complexity evaluation is something that prepare nice-to-have setting for programmers and important data for project planning and control. Such BA is a shadow eminence but the most important person of the team.

Unfortunately, most of the BA I have met never learned state-of-the-art analytical skills; they prefer human-computer interaction (writing documents and emails) and do not bother to be professional in the business area they are responsible for. They also do not bother about the schedule and risks as PM should be. Having such BA in a team, the work of both PM and programmer become stressful, disappointing and exhausting.

How do you predict research tasks on your projects?

The research can be planed in time and scope but the results are uncertain or at least unguaranteed. Otherwise it is not the research but engineering.

I can plan several steps - hypothesis formulation, data gathering and analysis but cannot guarantee that the hypothesis will succeed and solve the initial question/problem. That’s why a combination of the research with the fix-time fix-scope engineering project should have a contingency plan how to complete the project if the research fails.

I’ve put the article freely related with but it is in the Czech language:

August 1

How do you ensure your project deliver's quality?

There is not a general approach and no universal quality management system (QMS). When I consider quality assurance, I shall answer the following questions:

  • What are the project outputs?
  • What is the risk of their non-compliance?
  • What are the possible sources of the non-compliance?
  • How and when I can find out that the results are not as expected?

Unfortunately most of the controls that are proposed by the QMS are too late to repair the issues without overwork. Often the only way to check and manage the quality requires controls not of the product but a control of the process. E.g. a control of the weld is more difficult than control of the welding. Control of the armature after the sealing with concrete is effectively impracticable.

Similarly, control of the software system design after the system completion is impracticable and the results are useless - except cancelling all the consequent work (implementation).

The best control mechanism for each project output shall be find before the work on the output starts. For each output and production process I choose a control from one of the group:

  • Visual control (concrete armature as well as web pages design)
  • Measurement and Tests (material severity, software stress tests)
  • Preliminary control of the key process inputs (tools, material control, qualification of the welder or business analyst, supplier control)
  • Continual quality control (quality inspection, coaching, pair programming)
  • Automated controls (material or product Ph testing, continuous integration, automated tests)

Last but not Least: For each control mechanism I shall know what to do if it finds a fail. I can hardly strip down a house or an IT solution to remake it.

February 2013

One big Project or multiple small ones?

It depends on the subject of the project. A single project shall deliver a single result. In the project shall be included all tasks necessary for the result completion and delivery and nothing more. If the project result can be split and one part has a meaning without the other one, then there is no reason to produce both of them in a single project.

However a multi-project coordination in the company shall also be taken in the account. If there is lack of such a management, a project manager of each project shall control how other projects might affect his/her one and then it might be easier to manage more than less. But still I would manage it as more separate projects with unique outputs.

Are clever people hard to lead? What do you think about this?

In the Czech we have a phrase: Advise clever guy and give silly guy kick.

Clever people definitely need dissimilar management approach than and ordinary stuff. The best team I’ve ever worked with was a team of MSA/PhD. Management consisted of the three tasks:

  • Motivation (which was easy),
  • Coordination (more difficult) and
  • Resource management (person-independent).

On the other hand work with an ordinary group requires:

  • Motivation (very difficult and based on very different techniques that with a first group),
  • Step by step guiding (time-consumig),
  • Problem-solving (nothing solved itself and everything was a big issue)
  • Coordination on the micromanagement level
  • Much stronger quality control

February 2013

Should Business Analysts be Subject Matter Experts?

The answer strongly depends on the meaning of the term expert. Many people with 10+ years of experience in some business has now expert knowledge of the subject area. They can know how to do their work, understand processes and repeat the same activities again and again. Are the experts? No.

On the other hand there are people - and I believe the BA shall become from this group - that always open take up the lid to understand how the business machine works and who it can be improved. Such people may understand the business rules and become experts in a few weeks or moths.

Well, when a clever and open-minded BA comes to the business and asks for trivialities and routine rules, no one believes him being a right guy on a right place. Elicitation shall be based on a home-base study instead of interviews and “expert” detaining asking for general rules. BA shall become at least intermediate expert of the field before (s)he opens a mouth with the first question.

I also agree that when an expert with no BA skills comes to a new field he repeats the practices using the experience. His ability to improve is unpredictable. It may success if his/her experience is right that what the situation needs but fails otherwise. Expert that is no BA on the BA position is as risky as BA with no experience but with strong self-confidence and lack of self-control.

Many of my clients have experience with BA coming from big consultancy companies asking them how to invoice a field, make a transaction, having no experience with the business or managerial issues etc. And they also have to deal with “experts” coming with an ultimate solution for each task no bothering about real needs of the company.

I have many years of experience in some business areas working for several companies. I know why my clients pay me: for the analytical capabilities that can point issues and extract the essence as well as for the state-of-the-art knowledge, experience and practice that can help them to see their problems and issues and bring a new ideas how to improve the business. They can trust that I understand their situation and needs as well as that the new ideas I bring are based on the practice and will work. They pay me both for being a business analysis AND being an expert.

Innovativeness based on the unconscious incompetence has already failed several project and even ruined whole companies.

January 14, 2013


What distinct a superior project manager?

The project manager glues the team and keeps drive and direction.

Regardless the project scope, team structure etc. these 3 points are always paramount.

No one else has responsibility to keep all people working together and cleaved team cannot work efficiently.

PM has a principal responsibility to the project sponsor to achieve the project results. Without a drive to the project goals PM does not fulfil his/her principal responsibility and the project fails.

PM is a captain that is paid to reach the goal. It’s his/her responsibility to know, what is a current state and where that should be tomorrow or a week / months later. Or will you paid a ticket for a craft that cannot keep its schedule?

That’s what we teach in our courses for project managers:

GLUE: how to keep people together and pull the same end of rope

DRIVE: how to motivate and manage people to do the right things in the right time

DIRECT: continually check what might block the way, prepare and manage the base possible steps

December 21, 2012

Do you use formalised language to write business rules?

Although I am an author of then ultimate ECL (Event-Clause language) that is suitable to completely describe business and technical rules given to the real-time safety critical system and have a good knowledge and practical experience with several languages like OCL I’ve never successfully used them for the business rule description.

Business rule shall be understandable to a businessman. Technical rule shall be understandable to an engineer. As well as law-speak is optimised for the clarity but hardly understandable by a common person a formalised language with the algebraic roots has the same weakness even it is much worse.

Nevertheless I still use formalised languages. They are great for internal analysis - verification of the rules (self-check of the correctness and preciseness but not of a clarity). Rarely are they usable as a language of the rules definition for the programmers.

However I teach them my students because it gives them necessary intellectual background for precise thinking.

Does a Business Analyst need knowledge of the SQL language?

Good question that periodically returns … but the answer is not as simple.

The first answer comes up from the general phrase “The Number of Languages you know is the Number of Times you are Human” That’s right, you can go further in the details and analyse sources that no one around you could (as long as you work in the business environment you are one-eyed man in the land of the blind until you come to the IT dept.).

Nevertheless you shall answer the question about the BA purpose in your business environment. Most of the BA provide something between business and technical analysis, develop reports for the business, analyse issues etc. etc. If this is your case the SQL is a must.

BUT if your position is at the real business level and you communicate with the medium and top managers about the business - aligning strategy needs, business goals, roles and competencies with the business requirements to the software you’ll hardly have time to fork out databases looking for data. And this work is also an essential part of the BA albeit often neglected, even omitted.

If a BA candidate comes to the interview and admits that he’s never gotten touch with databases he/she shall have strong knowledge about the business sector and business needs or some other particular knowledge to be acceptable. He might find a very good position close to the process and business engineering. If so, he/she will be excluded from deeper analytical tasks but can concentrate at the goals that are essential. It can be even beneficial for his/her work because many ordinary business analysts “do not see the forest for the trees”, they lost the overview of the analysis for technical tasks and issues.

And what’s my verdict about the question? A company does not need so many such people working on the project top level so that it is much easier to find a job and be useful with some kind of technical experience. And the database skills are one of the most useful. From my point of view I put the SQL knowledge on the level equal with the process orchestration skills, technical business standards knowledge, internet application specifics, GUI efficiency experience, software quality experience, accounting standards knowledge, appropriate regulations (e.g. SOX) and law knowledge etc. You can see that no one can encompass all of the issues and the right mix shall depend on the business where you want to see yourself.

Underline note: I have deep experience in the SQL language but use it very extraordinarily in my business analyst’s work. Most often I use it when I shall persuade a reluctant development team or at the early state of the analysis to check the data availability and usability..

I need some views on the following. What is the best modelling technique to use when modelling requirements end-to-end? I know this is dependent on the type of project (?) i.e. Business Processes, Software related, BI, etc. If possible, comment on the best technique to model the most common type of project. When I talk about a modelling technique i refer to UML, BPMN, Agile, etc.

The questions about the languages and techniques are definitely the most common that applicants of my courses have. What languages for the analysis we use and recommend is a subject of this contribution.

DOCTORATES are over-qualified for Project Management. Doctorates lack several soft-skills and are mostly thin-skinned. Project management requires more softskills than hard skills. What do you think?

I think that doctorates are neither over-skilled nor under-skilled. They are mostly left-skilled.

E.g. European doctorate programmes (not regular Czech doctorate programmes) include soft-skill training and each applicant passes through the training of the research team management, budget management, time management, financial reporting etc. Technically, all skills are close to a regular management and they are completely useful in the business world.

Nevertheless there is a significant difference from an ordinary team and ordinary project management: The PhD had got and experience with the management of graduated or almost-graduated people, mostly very motivated, self-organized and independent professionals that do not need and don’t like everyday micromanagement, step by step control and mentoring. An ordinary project often requests many of such tasks due to less-motivated, not-concentrated people. The project management cannot reckon with team leaders only. The managerial tasks consume time and primarily profession of the manager cannot be usefully utilised because when are exhausted by the planning, reporting and control.

Doctorates can be very good project managers because of their ability to drive the work to the results, typically long-term analytical view and imagination which is as important for the real research as well as for a responsible project management. But they shall also have to have skills that are not necessary for a successful doctorate work. Since they often should resign on their primary profession it might be waste both for them and for the employer. However, it is the same with all managerial position.

An interest of high-level experts in management is mostly based on the carrier prospects that many companies offer much better in the managerial than in the expert hierarchy instead of the inward hunger for the managerial work. We try to change this attitude with our clients but it has strong roots that cannot be changed easily.


June 25th, 2012

Why do I find it difficult to get ISO/CMMI experienced persons in Asia?

It depends on interest about the standards. ISO standards are popular in Europe whilst CMMI is mostly used in US. Companies use the standards that they customers look for and thus the Asian companies that are mostly US oriented are more familiar with the CMMI standard.

E.g. in our region (the Czech Republic, but it is general for CEE) we recommend our clients to get knowledge and best practices from the CMMI standard but certification according to the ISO 9001, ISO 15504 standards which is more appreciated by the EU clients. Thus, our clients have good knowledge of both standards and we develop ISO process models using the CMMI best practices.

We also provide CMMI training more than ISO, because there is a lot to learn from the CMMI but not too many from ISO - mostly improvement, prevention and correction.

June 25th, 2012

I started doing process scoping and used the Prime PMG methodology (not sure if anyone has heard/used it, thoughts?) then moved on to draw my BPMN. The goal? The business already has in mind what they want to do, but want to analyse the overlapping functions across the different systems that they know. I can't seem to demonstrate that in my BPMN. Am I missing something? Joyce

If the Prime PMG methodology is a start from the business goals and vision (Corporate level) going through the Function level (Functional plans) to the Operational level (Business processes and relation) as is presented at the Prime PMG . com page, than it shall be clarified what is a Functional Plan & Strategy. In the TOGAF / BABOK vocabulary there is a business element capability that is fulfilled by the corporate functional ability (naturally: a company has an internal functionality that provide and serve some capability).

If you start with the capability mapping to the process mapping, business won’t slide to the system functionality and overlapping. That shall be solved after the process definition.

However as I understand you role you are in the middle of the project having functionality of the three system defined, the organization processes defined and people that shall see how these two models match each other.

In my practice, I don’t use business use-cases together with the process definition because they often duplicate the activities in the processes. I directly link process activities with the functional requirements that in represents the system functionality. An each process activity that is system-supported has dependency links to the system uses-case that represents the required system functions. If an activity shall be supported by two or more system, it has dependencies to two or more system uses-cases.

In many cases a company has solutions that overlapping in their functionality (probably your case). During the process mapping only one of the system shall be selected to be used for the processes and so uses-case that represents not used functionality of another solution remains spare without a link to the process activity. Those spare functionalities can be pruned or at least marked as unused.

March 21st, 2012


Which are the mandatory documents / records to be maintained for software / project management department as per ISO 9001 & ISO 27001 standards??

ISO 9001 - Quality Management

The ISO 9001 does not define documents for software projects but it requests mandatory documents generally and those are mandatory for all departments that accomplish fulfil the standard.

According to the Guidance on the Documentation Requirement ISO/TC  176/SC 2/N 525R  the quality management system according to the ISO 9001 shall include:

  • a)    documented statements of a quality policy and quality objectives;
  • b)    a quality manual
  • c)    documented procedures required by this International Standard
  • d)    documents needed by the organization to ensure the effective planning, operation and control of its processes, and
  • e)    records required by this International Standard;

Requisite documented procedures (minimal limit) are these:

  • 4.2.3 Control of documents
  • 4.2.4 Control of records
  • 8.2.2 Internal audit
  • 8.3 Control of nonconforming product
  • 8.5.2 Corrective action
  • 8.5.3 Preventive action

Requisite records are these:

  • 5.6.1    Management reviews
  • 6.2.2 (e)          Education, training, skills and experience
  • 7.1 (d) Evidence that the realization processes and resulting product fulfil requirements
  • 7.2.2    Results of the review of requirements related to the product and actions arising from the review
  • 7.3.2    Design and development inputs relating to product requirements
  • 7.3.4    Results of design and development reviews and any necessary actions
  • 7.3.5    Results of design and development verification and any necessary actions
  • 7.3.6    Results of design and development validation and any necessary actions
  • 7.3.7    Results of the review of design and development changes and any necessary actions
  • 7.4.1    Results of supplier evaluations and any necessary actions arising from the evaluations
  • 7.5.2 (d)          As required by the organization to demonstrate the validation of processes where the resulting output cannot be verified by subsequent monitoring or measurement
  • 7.5.3    The unique identification of the product, where traceability is a requirement
  • 7.5.4    Customer property that is lost, damaged or otherwise found to be unsuitable for use
  • 7.6 (a)  Basis used for calibration or verification of measuring equipment where no international or national measurement standards exist
  • 7.6       Validity of the previous measuring results when the measuring equipment is found not to conform to requirements
  • 7.6       Results of calibration and verification of measuring equipment
  • 8.2.2    Internal audit results and follow-up actions
  • 8.2.4    Indication of the person(s) authorizing release of product.
  • 8.3       Nature of the product nonconformities and any subsequent actions taken, including concessions obtained
  • 8.5.2    Results of corrective action
  • 8.5.3    Results of preventive action

The numbers in the lists aboce reference appropriate articles of the ISO 9001 standard that establish the commitment.

It is a long list - you shall go trough the list and consider if they are relevant for your situtation. E.g. records about "lost customer property" are somtimes irrelevant because you might not have any customer property. But most software companies have: sometimes they have a copy of customer database and mostly they have user specification that includes the customer know-how and should be carefully guarded.

Other records are requisite always although many quality managers neglect it. E,g, unique product identification is very important in the SW/IT world because it requires unique identification of the software module, versions, patches etc. This part of the standards requires versioning, packaging and proper identification of all work inputs and outputs. Other parts requires traceability (see section 7.5.3 of the standard) etc. In a nutshell, ISO 9001 requires pretty detailed and complete documentation from start to the end of the process.

ISO 27000

The ISMS and security management standard ISO 27001 requires nearly the same documentation as ISO 9001 but focused to the information security processes and maintenance. As well as with ISO 9001, the team shall manage processes, incidents (security incidents), improvements etc. Above the standard processes use shall deeply consider security and system risks. The SW/IT companies that produce software products should carefully consider security of their own products and if they assemble the product from components (almost all current software uses components) they shall also consider security threads in the components - which is very exacting when freeware or shareware components are used. All these activities shall be planned, monitored and evaluated and plans and other artefacts are documents that an auditor will ask for.

November 25, 2011

Business Analysis: Art or Science?

Business analysis is mostly (90 per cent) an engineering work. Analysts have given rules and procedures, the results should follow project or organization guidelines. There are several common standards like TOGAF or Zachman Framwork that describe how BA works and what he proceeds. Indeed, a piece of art can be in the imagination about the best solution but I would rather talk about the sense for complex systems.

Creativity is not in a contradiction with engineering. The engineer developing new building should also apply knowledge, creativity as well as the technical skills. Design the best business solution should grow up from experience and wide knowledge of the area instead of fantasy.

Art - An artist typically does not follow common work procedures and the result has significant footprint of the artist fantasy and style. Even the fantasy is mostly dominant factor influencing the result. Contrariwise, analytical results cannot follow the BA fantasy.

Science - A scientist follows the scientific standards but the result is unknown. A scientist often starts with some hypotheses that shall prove or disprove and can finish the work with the negative results (no discovery). BA might also cancel some prototypes but shall finish with usable results. At the beginning BA has assignment not hypothesis as the scientist has. Business analyst does not provide proves. It might be the tester’s task.

November 17, 2011

New investor is relocating to Czech within next months. He is searching for small and medium sized business to start. He is concerning about entertainment such as restaurants, cafe shops, and bazar. as you are the expert local there, would you advise which one is the best? and where he can start, which city? and what is missing there so he can think about such Arab restaurant or Arab style bazaar or cafe? or any other ideas ? Appreciated responses at earliest.

Arabian products are almost unknown in the Czech Rep. and there is a large space for business success. But few conditions should be filled:

  1. Stay different - a lot of things have replicas on the market and Czech won’t understand the difference of the pure original with its genuine quality and from the East-Asian copies
  2. Educate - you shall invest to the PR (find a contact to the lifestyle writers) and communicate constantly with the ignorant Czech population. Czechs are not too critical and are open to try new things but they are not hungry. They do not starve for new things se that you shall be very active in communication
  3. Be visible - Do not believe that Czech will search for Arabian. They have no reason for that. Big cities (Praha, Brno, Pilsen, Ostrava) is a place where to start. People from big cities are also more open for new things and willing to try them.
  4. Pure quality - Although price is important , you will not build up a success in the Czech Republic with the price as a primary weapon. Czechs are price sensitive, but the low-end market is overfilled by low-cost chains as well as by Asian local stores with optimised supply chains. I do not believe that a price competency can succeed.

I am not an expert for Arabian goods but I believe that food and home equipment with strong origin can be the best start.

Be lucky and contact me if you want some support with the business start.

November 9, 2011

What's the difference between programmers and business analysts? What's the difference between programmers and business analysts? Business analysts are a subclass of programmers that are less brilliant, but who have social skills.

Provocative question requires a provocative answer: The programmer is an analyst that is not able to see a house because he solves how to put tiles on the roof frame. The difference between analysts and programme is similar with the difference between a civil engineer and well-paid roofer.

The best business analysts I know have no IT/SW history but economical or mathematical background and managerial experience. They perfectly understand the business and its needs. They are able to describe precisely business capabilities, processes and derive the business requirements. They know how to prioritize them and justify the project scope. They are respected partners not only for designers and a development team but primarily for a top management that understand them. And really good analysts are able not only programme the organization (meaning define processes) but they are able to develop the strategy. They are business visionaries and formulate enterprise architecture strategy. It goes far behind step-by-step analytical approach.

I think people with these skills do not build up a programmer career. They mostly do not know anything about operator overlapping, abstract classes, inheritance, stateless components, migrating agents, TDD, SOAP, etc.

Business analysts / architect cannot and mustn’t substitute managers in the decision role. Top management should decide how to turn the trick wheel. But an analyst with a wide business experience enables a potential that managers typically have no idea about. The analyst that creates models and follows new trends in the company organization and strategies is an invaluable assistant that a manager can reckon on. The analyst recommends solutions but managers make decisions.

October 11, 2011

What prevents Enterprise architect from being effective? What is the most important skill?

The problem is more general - some guys are too much oriented to IT solutions whilst others want to see the business side only and do no stain with technologies.

In my practice I’ve never seen an enterprise analyst with the responsibility for the whole EA. Small companies do not feed standalone EA and larger companies are to complicated that all parts - business, IS solutions, data and technology - cannot be covered by one guy. And the roadblock is in the communication between IT and business experts who do not build up common Enterprise Architecture model and do not effectively cooperate in projects.

So that I see the efficiency in the communication across all parts of the business from CxO level to the IT helpdesk. In a nutshell, efficiency of EA/BA is in the communication and cooperation.

September 28

What is the best business analysis related book you have read lately?

Albeit most of the (business) analysts that I?ve met were under skilled in the analytical work theory and practice, the most important issues have been always hidden in the real interest about the business area that the work on. Even IIBA certified analyst with BPMN/ UML/ ZF/ PetriNet/ TOGAF/ ArchiMate... experience produces unsatisfactory results if he/she is not lack of experience, understanding and deep penetration to the business area. And this is the most common issue - more or less skilled guy that does not understand the business domain.

Regardless the mentioned experience I recommend BABOK / Zachman Framwork / TOGAF as a standard for overview and BPMN / UML and Petri Nets for modelling tools experience. Since I am not a fan predigest information I recommend source materials (IIBA, The Open Group publications, etc.)

Petri Nets might look old-dated and outclassed but this is a beautiful modelling language that simplifies understanding of many process and technical issues. However it is intended for people skilled in theoretical thinking :-)

For those who have real interest and intellect are these materials sufficient and I recommend invest more time to the business sector studying.

The best book I recommend? Some lecture book or even the standard TOGAF, BABOK and some books of the modelling languages. And plenty of articles, studies and web information about the business area and its processes (There are no books typically available). Petri Nets as the second step for those who have reel ambition and potential to go deep under the basic knowledge.

September 23, 2011

Are there any other methodologies you would recommend along with TOGAF that may be helpful for me? I am transferring my process improvement and PM skills toward BA positions, so I am definitely coming from the business side and do not have an IT background. I find different BA descriptions and defintions across the board. This is probably one of the few professional areas that I find hard to define. Thank you.

. I frequently use Zachman Framework as a clear tabular overview of the enterprise architect competency. Albeit a little bit old-style,  ZF is still the most navigable well-known EA methodology. Business architect operates typically on the 2nd and 3rd level of the ZF hierarchy, company architects that works for the C-level management typically operates on the 1st and 2nd level.

On the other hand I?ve never worked with a guy with full competency for all areas of EA - from business motives through the business rules till the hardware technology topology. ZF as well as other methodologies are frameworks that cover more than a competency of one guy.

Another question is how much methodologies/frameworks helps the learn up the BA/EA work practically. ZF is totally useless, TOGAF is slightly better. BABOK is a good style guide over the required BA competencies and skills probably the best collected official material. I?ve build up my lectures for business analyst from many sources piece by piece but the most useful is experience with the management of the business. It helps me understand the business and managers needs better than any methodology or study material. In a nutshell the most important source for analyst education is constant desire to understand how the business operates. Less bother about formal methods and work approaches and more focus on the business sources. E.g. eTOM process standards and all relating documentation help a guy to become a good BA for telecommunication area.

Experience with negotiation techniques like structured interview / 6 hat method etc. help to gather ideas and opinions. Knowledge of BPMN/UML and other models are requisite to be able to documents thoughts and results. But only the knowledge of the business domain helps to become real expert.


Does an analyst has a reason using BPMN in the business analysis where UML/Activity Diagrams are used?

We'd used activity diagram as a standard for process description in the workflow automation system as well as BA tool for process description on both business and technical level. Nevertheless we were annoyed by lack of synchronization and collaboration elements that are not included in the activity diagram standard (let us mention that events are considered only as terminals).

BPMN solves most of the issues and provides better support for the process description both on the enterprise and technical level. Events and messages are well understandable not only for BA but also for domain experts that shall check and verify the proposal. The second significant advantage is a support for parallelism description.

We still use activity diagram for description of complex procedures (both software and person handled) that have no interaction beyond the borders. It has advantage in integration with other UML elements and tus it is easier to use within the UML framework (system desing). And it is also easy to understand (especially the Guard controls that are missing in the BPMN) even for face-to-face procedure description.


Why people start up their own business in the Chech Republic?

As far as I know, my business colleagues and me had one of the following original reasons:

  • Self fulfilment: A desire to get the experience of the self-business
  • Inertia: Change of the employer that caused that there were not appropriate place for them
  • Necessity: Lack of interesting positions in their region
  • Family: Necessity to have a self-managed life (free working time)


What are your top interview questions to ask a BA candidate?

Sounds stupid but the most important question is verification of the declared skills and competences. Most of the candidates declare knowledge of 10+ structural languages and BA frameworks (UML, BPMN, ZF, IAF,?) but when we ask them about it they rarely know more than few basic entities.

After this start they are half-naked and much more honest and describe themselves in the right colours.

In the next stage we ask about the hardest point in their recent practices which shows which level of complexity they are able to solve. Some of them are even in the unconscious incompetence about real issues of business and technical analysis.

(Although as a external consultant I never have real decision responsibility, mostly internal HR specialist do not have anything to continue with after this first part of the interview.)


What are your thoughts on instructor-led training programs?

Virtual methods like eLearning, virtual class, videoconferencing etc. are great tools but my best experience is with face-to-face communication. Although  it is replaceable the quality and efficiency is always affected.

My educational programmer are based on a close cooperation with the whole team (BA, PM and even developers, documentarist or testers if available). We improve not only individual skills but also communication and teamwork. I can?t do that without real life experience with it - watching their everyday communication, quality of the documents and quantity of emails I can understand bottlenecks much better than from remote discussion.

The training programme consists of seminars (education) supplemented by the mentoring and coaching sessions individually with each team member and with small groups (2-4 persons) of close co-workers. Direct communication about actual project, tasks and issues that I can monitor on site is indispensable part. It is hard to imagine for me to provide such support remotely. It is the most effective ground of the programme. Not slides but two ways communication about concrete problems helps to get practice. Applicants directly use new techniques and methods and have instant experience and self-feedback how it works and helps.


How to become a Business Analyst? Let's help those new to your profession...

Most of the BA have work based on a collection of the experience and some fragments of a methodology. However, that?s a final state of experienced users that constantly develops their skills in their business area and neglect overall scope of the BA.

I recommend starting with some common BA methodology (e.g. TOGAF but others are also good - RUP, Zachman Framework, IAF) and then focus on the tools for concrete tasks.

If the BA is already working in the job than I?d recommend to start with deep studying of the tools for the current tasks. It provides quick wins in the current job and brings immediate improvement. Simultaneously focus on the study of a methodology in the background in order to get complex overview about the BA scope. After that, continue with other tools as mentioned earlier.

Although I am not a big fan of any methodology they are great for the entrant to get the scope. For experienced BA they are good to check from time to time that nothing is neglected.



What are the best practices to follow for small projects like 3-4 months long projects (mobile application)?

Keep the team as small as possible. For small projects it raise high overcost when you involve many people that should study requirements, transfer knowledge, coordinate among themselves etc.

Try to keep customer involved as much as possible - 3-4 months is not tool long and customer might stay tuned. You can significantly reduce cost using SCRUM (3 turns) and XP development team that directly transfer requirements from the customer to the architects and developers. Reduce forma validation of the documents and put the stress to the peer-reviews with direct customer involvement.

Be careful about the non-functional requirements. Hardware limitations like screen size or processor power (especially for Micro Java application) can have fatal ramifications on the projects when considered too late. Look at the and from the early start.

Do not believe that 12 moms can give births within a month. Even a small project requires time for dreaming about the best possible solution and architecture. Flutter the keyboard at the soonest of the project is the best way to fail at the end.

Make at least two or three turns/phases with presentable results. 3 month is enough to make steps and present a half-way solution.


Can a project manager serve as a business analyst in the same project?

Two guys (PM as well as BA) are always useful and for larger project always needed. Even when the project is so small that one guy has may have capacities to serve in both roles, one man show has significant drawbacks in missing reflexion and assistance. In the best projects BA and PA are like twins that pull at the same end of the rope all the time.

We have bad experience with project managers that do not understand the system specification and have no experience in both software and business areas. A manager that does not understand the guts of the developed solution is a clerk that does not manage but simply administer the project. He is not able to solve any issue on the way. Such guy is often a drawbacks for the project.


Does the business analyst should have the programming skills?

There is a large bag of work between pure business analysts output and programmer work. It is obvious from the Zachman Framework that we take as a business analyst (BA) work structure:

Scope Definition

Definition of the project goals and scope. Consist of Paper work, mind work and a lot of communication with the top and mid managers in the enterprise

Pure business analysis, the major skills are experience, business knowledge and vision

Enterprise Modelling

Modelling of the processes and objects interaction using tools like BPMN, data model etc.

Typically work for business analyst, experience with the business is a must. Experience with the system definition is essential as well but might be substitute by the cooperation with the system architect (if available).

System Modelling

Modelling systems, modules, connectors interface - UML is a right tool for that, E-R diagrams etc. - system and architecture analysis

Typically work for the system architect if nominated to the project.

Technology Model

Data modelling, system design (patterns come on the board), detailed business rule description (formalized language is a good handtool)

In small companies / teams analyst might do that, sometimes skilled programmers do it themselves. It is beneficial when the BA at least understand the model.

Detailed Representation 

Detailed description how to implement the model (exception, cycles etc.)

Simply programmers' world

Functioning Enterprise

Nice to have result of the project - functioning system filling the customer will

Work for administrators, not BA

Well, if BA needs programming skills he drills over almost all layers of the work. It might have sense only in small projects where analysts and programmes are only. Good system architecture skills are much more useful for BA than understanding catching, template classes or even building releases.

On the other hand a BA without a practical knowledge of the system modelling and architecture design will never be a partner for pure programmers that have no global view over the solution. Such specialist always needs a system analysts / architecture designer among themselves.

BA without practical knowledge of the software architecture is usable in the corporations like banks, large enterprises and government institutions but rarely in a software company.


What tool do you recommend for the requirement analysis?

As a business analyst I am asking my clients which tool they are comfortable to work with. Even if they are used to use Open Office for the internal collaboration I?ll use it for the requirements communication with them.

I would not be happy with the Architect tools but they mostly do not support changes highlighting which makes the facilitation much easier.  Although, for review and approval, is the linear form (document) much more comfortable, because it can be more easily managed by the client. That?s why I always put the requirement to the linear document even when they are developed in some graphical tool.

Nevertheless, the technical requirements are for the development team. So that I am asking the team what they are used to use. Here is the mentioned UML tool as well as any other appropriate. Technical requirements should be clearly transferred to the technical analysis and so they should be in the system that supports it.

As you can see, for the business analysis tasks I typically use two different tools according to the client and team experience and knowledge. I can imagine to come with my own solution only in case that partner does not have its own but it is not common except in start-up or really small companies.

A couple of years ago there was a great tool Telelogic free for download. But the big capitalist came :-) and the tale has finished. And this page is not an advertisement for any commercial solution.


Should the project manager sit with the Business Analyst on requirements discovery meetings?

During last months I helped a SW company establish a functional project management processes. On of the major question was "How much should the project manager understand the software that is subject of her/his project?" It is very close to understanding and participation on the requirements development (RD).

According to my experience any investment of the PM to the understanding of the project definition and scope is valuable and often saves time during project plan negotiation. PM is neither partner for customer IT nor for its own team if does not understand the project.

Doubling people at any activity might look as a overloading the task. For small projects it is definitely right. But staffing "low cost" facilitator helping the BA and they pay time when PM study requirements afterward (typically during the document revision) is probably even more expensive!

We have found a better model - when the project is small like the enhancement of the running system to a minor functionality the PM/BA role is shared ? simple RD can  be made by the PM as well as small project can be managed by the BA. There is no exact limit of the project size that decides if both BA and PA are nominated. It depends on the customer, project type and available resources. If the project is for a new customer, both BA and PM should be there and both cooperate on the REQM and RD.

Personally, I have very bad experience with "general project manager" handling projects without understanding its goals, scope and challenges. Those managers are like blinded persons totally driven by the project team (BA, designers, programmers) and their scope and problem assumptions because they are not able to have own professional opinion. Skilled manager should interest about the project and thus participation on the requirements development meeting with the customer is a must.


Do you believe there is a difference between a Business Analyst, Technical Analyst, and Systems Analyst?

I think, most of us feel there is significant difference between mentioned roles. But - why so many business analysts study UML? I guess that over 80% of those who have business analyst role at the visiting card knows at least basics of UML but knows nothing about BABOK, Zachman Framework or other useful tools / methodologies that relates to the real "business" role. Even the simple and old BPMN (a language for the process description) is much less known that the software oriented UML.

We've made a selection procedure for the business analyst recently and it proved that even the analysts itself confuse the roles. In a small company it is often hard to distinguish between analyst and designer and the partitioning of the analyst role is far behind their recognition - the companies simply needs more universal people that do not bother to switch between enterprise and system focus. Only large companies and project have comfort / trouble of splitting the role.

What the business analyst should have in the pouch? I guess that the most important is the experience with the several kinds of business models, managerial styles and business information needs. They should also have imagination and should perfectly understand the organizational structure, competencies and responsibilities. Furhtermore, they should not only know it and understand it, they should know how to work with it, explain it and model changes ? so that they need skills and tools for that.

Software skills are nice-to-have additional skills but it should remain at the second stage. The business analyst sank in the software issues are as not a business but a software analyst.

From the useful tools, the formerly mentioned BPMN is good tool for the process management, but the most important are spreadsheet, word processor and presentation tools. And they should be able to use them really professionally. They should communicate with both non technical and technical people and thus they often translate information between them and should know both languages. Back to the UML: good language but it should be the bottom end of the business analyst not the mainstream.

Are you a business analyst that loves the UML? Do you disagree with me? BTW, are you really business analyst? If yes, we are looking forward to hear your opinion.


Which software are you using for business analysis?

Which type of UML Diagrams you make (Sequential/State/Colaboration/use cas diagram etc.)

At least in our region (CEE) Enterprise Architect is a default/primary option. All analytics I know have an experience it this tool is a standard among all business sectors. However, I don't want to make an advertisement to this tool because I am not a fan of it (e.g. support for change management and maintenance phase of the software is totally missing) but its prices politics opened CASE tools to everyone.

I use all UML diagrams sometimes but I am not a fan of UML either. As a business analyst I mostly use E-R model for entity modelling since it is easier understandable for the non-IT customers than class diagram and BPMN for process modelling. UML is good for OO modelling of the SW systems but not for communication with the business. Unfortunately many analysts never understood the proper sense of UML.

How to be well prepared for software maintainability?

According to my experience the most critical for the future maintainability is the quality of the original design. Neither developer nor documentarist nor the quality manager might rectify lazy or non-experienced analyst that has experience and vision of the possible future of the system.

Well-proposed design should be visible mostly in:

  • Good database structure designed in the independent modules with limited binding

  • Good system structure with perfectly designed, strictly documented and adhered module interfaces. All well designed systems I have ever seen have used both multilayer and module structure

  • Strong utilisation of the standard patterns that significantly simplifies understanding of the code

  • Strong maintenance module that allows set as much of the internal constants and behaviour as possible. When defined well, it significantly reduce the necessity of the code changes that are always more risky than setting change.

  • Detailed requirements traceability is a must

Spiral Model for teaching Software Engineering

After all these years of teaching undergraduate software engineering, I just realized I have always organized my course as a "waterfall" with sequential progress through the topics. Instead, this coming semester, I plan a quick (~2 -week) first pass through everything for perspective, followed by a more thorough (~10-week) study, and then a final (~2-week) integration. Plan-Do-Check-Act throughout, with iterative work for individual students as they improve their mastery of different topics. Your thoughts?

Just a two month ago I have turned my lecture about metrics in the software development process inside out in the similar way.

Originally, I have started with the definition of the metrics, then methods of definition, using and validation. Finally I have a real-practice example of using metrics during my testing experience. What happened? Students were out of focus until the end example.

I've completely changed the structure: It starts with small introduction of the metrics using real-world examples out of software world (house building). Then the theme shifted to the software area and explained the theme using part of the mentioned example. After this introduction it returns back to the roots and explain definitions and theory with some dose of statistic background. The turn concludes with the details of the example. The third round focuses on the risks of using metrics and how to mitigate them. The turn finishes with the ?false examples? of metrics misuse.

What is the result of the change? The audience is more attracted and keeps attention most of the time. On the other hand less motivated participants felt that the first turn was enough and switched off when the topic returned back to the beginning (why bother about the formal definition when we know how to use it?). However, I still feel that the change significantly helped the theme. I will definitely change my other courses in the same way.


Who is chief innovation officer (CIO)?

Innovation officers recruit from 3 different groups:

Officers that manage a team of "innovators". However good she or he might be, such group will nob be useful without members from the second group - "visionaries"

Visionaries - people who are active in development of new technologies / ideas / break out improvements. Such people are mostly out of management because they have no managerial skills and company do not want to waste their potential for any kind of managerial work. On the other hand they often need supporting team to develop real solutions from their visions. Sometimes they become managers of such team. Great deal to have such person in the company! Unfortunately about 90% of people working in the improvement / development groups have no such skills and are able to propose and rollout small improvements or new technology implementation but no crack the ices.

Honorary managers - guys that were successful for the company but are tired to stay in everyday operation battle field but company do not want to loose them. Such people often work as innovators commuting within the company without tangible role or responsibility. If they are active, they provide good think-bank as well as working potential for company development and organization improvement. They seldom come with truly new business. Partly because they mostly have managerial and no visionary skill and partly because that if they find really a new opportunity, they start up their own business.

I would recommend each company to cultivate some visionaries but they also should develop improvement culture among all workers. Maintain a visionary office that comes with small improvement only or adopt a technology that has already been developed by somebody else is really not effective. If the officer is not able to come with break-through innovations, it is only a very expensive gaud.