Software Testing Fundamentals

Software Testing is vital for any software development life cycle, it is fundamental to ensure the software quality and to have a workable functional software at the end of the project.

“Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results” Bill Hetzel, 1988

The main motive for the testing is to ensure that all functionalities are working correctly as per the requirements. It is not only that this is the basic purpose of testing, while It is important to test how to break the system, how to simulate the abuse of the system by the quality team before someone else does that for you and it will be a disaster at this time.

Read more

Stakeholders Management, WHAT, WHY, and HOW?

Each one of us is surrounded by people, for example, families, friends, coworkers, or clients. These people are affecting our lives in a positive or a negative way that shapes our personality as well. This kind of relationship with people needs a proper communication and management since this communication takes a big percentage of our life. Some studies point that we spend an average of 70% of our day listening to others and an average of 30% speaking to them.

Similarly, strategic planning, architecture, project management, and other fields are powered by people, people who envision, plan, analyze, design, manage, execute, operate, …etc. Communication with those kinds of people should be managed effectively to ensure that every person not only informed but also involved and contributing to the process whatever it is. We mainly aim to those people as the stakeholders.

In this article, we will discuss who are the stakeholders, and why managing them is important, and how we should do that.

Read more

The Waterfall Model, a different perspective

What is Waterfall Model?

It is mostly known as the traditional software development process model, widely used until now, and the most popular SDLC model and the one you should avoid to use. Moreover, it was the first introduced presentation of the software lifecycle.

You can read this Wikipedia page to know the waterfall model history.

The Waterfall Model is a linear sequential flow. In which progress is seen as flowing steadily downwards (like a waterfall) through the phases of software implementation. This means that any phase in the development process begins only if the previous phase is complete. The waterfall approach does not define the process to go back to the previous phase to handle changes in requirement.

In this article, we will discuss the advantages and disadvantages of the waterfall, should we avoid it? when to use it? and the waterfall model pitfall, and why I see it as the father of the SDLC models.

Read more

Lessons learned from “CONSULTATIVE SELLING” Book

The Consultative Selling: The Hanan Formula for High-Margin Sales at High Levels, 7th Edition by Mack Hanan is mainly targeting sales representatives to provide a specific and consistently successful approach and techniques for better sales.

I read the book and I found that it very helpful and useful for sales representatives.

Personally, I have met a lot of salespeople who are selling without knowing anything about the customer needs, challenges or strategies and they are selling products features without presenting the true added value of these products. I think you may have faced the same, especially with the infrastructure and equipment vendors.

The book offers some useful techniques and tips to enhance the selling process and make it value driven process to both customer and the seller. I think most of the big companies are using similar approaches and techniques mentioned in the book with different flavors.

I tried to summarize the key points which I think they are important to others while I do recommend to read this book.  Here are the key lessons I learned from this book

Read more

The successful failure of the Software Projects

The IT systems and applications are everywhere now, from simple to complex systems to run basic data entry to control autonomous cars and autonomous planes and more complicated systems.

Unfortunately, after a lot of research in software process models and project management frameworks, Software and IT projects still have a very high failure rate. According to a study has been made by Mckinsey at 2012

On average, large IT projects run 45% over budget and 7% over time while delivering 56% less value than predicted. That’s beside the common issues of deliverable quality of final software product according to specifications.

Another study from Mckinsey at 2014 regarding how to achieve success in large, complex IT projects.

Read more

Why Enterprise Architecture?

The Enterprise Architecture concept has been introduced since 1960 by Zachman. Although it is still not widely introduced for many organizations, It becomes an important topic in Information Technology community and many organizations are trying to understand how it is important to have Enterprise Architecture capability within the organization.

In this article, I will try to illustrate what is Enterprise Architecture, why it is important, and what are the existing practices for that? And how you can start?

Read more