Thoughts about business analysis and project management

...and Opera

Subscribe to RSS feed

Let quality be the priority!

, ,

In every software development project occurs a dilemma: time+cost vs. scope+quality. These parameters can be aligned in a Project Triangle, but for the purpose of this article I will reduce them to time vs. quality, as the other two can be considered derived from them - longer time inevitably means higher cost, while too small scope can result in less satisfactory total quality.

Time is the easiest factor to measure - one sets a deadline and the software must be delivered before this deadline.
Measuring quality is much more complex, subjective and intangible. To measure it well, one have to understand and compare a long list of needs of stakeholders and users with the planned functionality and how they relate to each other on a detailed level.

This causes project managers to focus on the most visible measure for the project to be seen as success or failure, which can be summed up as the following thinking approach:

Make software in expected time within acceptable quality.

Such approach puts quality on second place - the focus is to finish project on time. I boldly encourage you to reverse the thinking approach to:

Make software in expected high quality within acceptable time.

When you approach it this way, the time frame is still important, but you work with focus to deliver a really good* product and less pressure that you have to sacrifice quality to keep the target release date.

In my professional experience, both as a business analyst and project manager, I tend to follow the latter rule. And with every project finished I am receiving confirmation that stakeholders and users are impressed with the outstanding quality, being easily forgiving even if the project sometimes took a bit longer than it was assumed to.

The point is - the moment of software delivery is temporary - everybody will forget about it once it happens.

There is one more catch here - if one wants to keep the deadline while sacrificing quality, there will be mistakes and overlooks made, which will brutally retaliate when the software is near to shipment. In the effect, the project manager is likely to hear from stakeholders that the product does not meet their needs and there will occur an unnecessary stiff atmosphere of scramble between the sides about what can be improved before the shipment to make the quality acceptable.
At the end of a day, from these reasons the project will slip by the time equal or even longer time than when it was done from the beginning with focus on quality. Moreover - in the other scenario the quality would be better, when the project was not done with too much hurry through most of its timeline.

The quality lasts forever and people will be impacted by it every single day. If they will be impacted positively, they will praise the software and its creators. Especially that there is a lot of poorly designed software they have to use everyday. So why not deliver something contrary to that, that will distinguish, fulfilling the needs in a superior way. I strongly encourage you to.


*To briefly mention, as the key to make a good software I consider deep and broad enough eliciting real needs of users and stakeholders, which includes understanding context of their needs to be able to advise them in the process. Also on the design and testing phase, one should be prepared to listen and implement various requests for changes. I will cover this topics in separate posts.

Better be right than fast!

, ,

I consider it is never too much to remind about one of the fundamental laws of physics in software development.

The costs of a change in requirements to functionality can be approximated in the following proportions:
- 1 dollar on a business analysis phase
- 10 dollars on a design phase
- 100 dollars on programming and early tests phases
- 1000+ dollars on late tests and production phases

This is why defining precise, consistent and well though requirements on a business analysis phase is crucial for a project so it can head flawlessly to success on later phases.

I am an IIBA member and on one of the seminars Darryl W. Booker (third picture from the left) stated the following phrase:

Remember - better be right than fast, when gathering requirements.

I have put it in a frame and posted on a wall in one company I worked for, seeing that this idea is not immediately obvious for everyone. I share this simple image with you. You are welcome to print and use it, if you feel it can help you make any positive difference in your workplace. (Go to bigger version of this image) Better be right than fast, when gathering requirements. Darryl Booker Soon after, I noticed Opera Software used this statement in a very real situation - upon announcig version 11.60 of their web browser, which included many improvements, but not yet a major hardware acceleration feature - from the very reason this post is about. So I made up another poster and hung it just below the previous one. (Go to bigger version of this image) Opera Software does it right --> On 4 November 2011, on Desktop Team Blog in a post announcing first snapshot of version 11.60 of Opera with many improvements in rendering engine they stated that it will not include hardware acceleration feature because it still requires a fair amoung of work and they "consider it more important to do it right, than to do it fast" I attach the original ODF (Open Document / Open Office) files - feel free to use them.
Better be right than fast.odg
Opera Software does it right.odg

Blog switched to English and range of topics broadened

, ,

The previous posts on my blog are in Polish language and they mostly covered one topic - Opera web browser - which I use since version 5 released in 2000. I consider it a superior piece of software with ultimate functionality and ergonomics along with speed and security. It is noteworthy they invented a lot of features other browsers have today as a standard - and they keep on inventing further.

From now on I plan to post in English and cover mainly topics about business analysis, project management and facilitation. Through many years of work in Software Engineering, from the roles of Programmer and Functional Designer to Business Analyst and Project Manager, I gathered a lot of inspiring experience and I have my thoughts about bad and best practices in this matter. I would like to share my expertise. I hope it will be inspiring for you and I welcome your feedback.

P.S. A request to my readers - please post comments in English language only.