Introduction to Waterfall Methodology: 3 reasons to use it and 3 major pitfalls

In my current role as a Business Analyst in IT transformation, I work within an Agile environment. Agile is simply a different approach to getting the same work delivered in IT development. Later this week I will delve into Agile mechanisms and why it is becoming the new normal in IT development.

Today, I want to touch up the traditional, and still popular, methodology used by the IT industry: Waterfall methodology. The approach to Waterfall is clearly delineated development stages. The organization creates “tollgates”, otherwise know as checkpoints, to confirm that all the work committed in that stage has been completed before moving on to the next stage of development.

Here are the five stages of waterfall development:

 

Requirements Gathering

In the first stage, the business undertakes gathering all requirements that need to be translated into IT development work. This includes speaking with subject matter experts (SMEs) within the organization to better understand what their needs are for the development project. These usually include team and departmental managers, specialist units (such as Risk & Compliance) and senior management. Requirements need to be documented and signed off by all the identified stakeholders. From there – the dye is cast! Once documentation is complete, no changes to requirements should take place and IT should be in a position to begin the design.

Design

IT then undertakes translating all business requirements into system design. Depending on the size of the project, this can be a large task that takes a great deal of time. The idea in the design phase is to map out the development work that IT will be doing to ensure that it will be completed to the satisfaction of business. An analogy for the Design phase of Waterfall is the blueprint drafted before building a house. It is important to have the construction plan documented and reviewed by the client to ensure that the home to be constructed aligns with their vision. This is no different in IT development. A crucial part of this stage is for business to review and sign off on the design as the tollgate to move to the implementation phase.

Implementation

This is the core part of Waterfall Methodology. During Implementation, software programming is conducted based on the design agreed upon between business and IT. This phase is typically the longest as development is usually complex and time consuming. Testing the code is often lumped in this stage to ensure that what has been programmed works and to ensure any existing functionality was not impacted by the new development.

Verification

This stage is often dismissed in the “real world” – it is where the new software, once launched, is confirmed to meet customer expectations. I think this is critical regardless of whether your customer is internal or external. Customer feedback is pure gold for companies. It’s up to businesses to satisfy feedback from customers. Listening to your customer = improved customer satisfaction = greater revenues.  It isn’t rocket science!

Maintenance

Once the software has been verified, IT is responsible for its upkeep. This includes fixing bugs and ensuring uptime/accessibility for users.

Reasons to use Waterfall:

There are still some compelling reasons to use the Waterfall approach despite the rise in Agile’s popularity.

1.     Its structured approach to development allows for clearly delineated stages and tollgates that ensure requirements are satisfied before the project proceeds to the next stage. This is especially important for projects that require sign-off from functions such as risk, legal and compliance.

2.     Project scope and budget are much easier to project as requirements are agreed to upfront and there is little wiggle room for any changes to the project once it has cleared the requirements tollgate.

3.     Testing is a more straightforward process as clear test cases can be developed in advance based on the agreed to design.

Reasons to pass on Waterfall

There are also some compelling reasons why many organizations are choosing to drop the Waterfall approach in favour of Agile. The top 3 reasons are:

1.     Customers are rarely able to map out all their business requirements abstractly without some foundation of functionality as a reference. For large projects, this difficulty is compounded further.

2.     The reality is that requirements are not static. They change and can change often as business needs are constantly evolving. The structured approach that separates requirements, design and development does not provide the flexibility required to cater to this reality. This can be increasingly problematic and risky for the organization as requirement changes surface in the later stages of a project.

3.     To ensure all requirements are captured, design is accurate and development is complete and tested in different phases, the project speed can be as slow as molasses in some instances. This is in stark contrast to Agile which calls for the requirements, design, development, testing and review of a singular function to be completed in a short period of time (“sprint”).

I’m looking forward to writing about Agile and why I think it is, in many cases, a superior development methodology. Waterfall definitely has its place in the development world and there is also good reason why its reign is coming to an end in favour of a more adaptive methodology.

What do you prefer for development: Agile or Waterfall?

The 5 Traits Every Great Leader Needs

The 5 traits every great leader needs

Throughout my career, I’ve been lucky to work with great people. This goes from the temporary worker (which I was one for a while myself) to all the way up to C-level management. As no one is a carbon copy of anyone else on this planet, each of them brought their own blend of strengths to work. I always have tried to take note about what they brought to their roles that distinguished them from everyone else. In some cases, they were model employees and shied away from former leadership roles. While others felt most comfortable in their own skin when they were placed in leadership roles. Either way, I found that there was a collection of traits that spanned the vast majority respected and looked at as true leaders within the organization.

I want to share with you today five traits every great leader needs:

 They listen

In our information driven and jam-packed calendar world, it can sometimes feel there is more talking than mental processing of information. Leaders differentiate themselves in this way by being good listeners. There is a saying that is often mentioned but rarely adhered to – we were born with two eyes, two ears and only one mouth for a reason. I believe in our society there has been an overemphasis on verbal communication. Listening has been framed as passive, even though this is far from the true.

When you listen, you win. The best ideas do not come from one person (unless your last name is Da Vinci and your first name is Leo) but from a collection of great minds.

I’m going to blow the dust off an old game show to shed some light on this trait. When Who Wants to Be a Millionaire was riding high in its heyday, contestants had three lifelines: 50/50 (removes two wrong options out of a possible four), Phone a Friend or Poll the Audience. There was a lot of chatter about which lifeline was the most effective. I remember a lot of people thought phoning a friend (or even 50/50) was vastly superior to polling the audience. There was a misconception that asking the broader public about a piece of trivia would lead to the wrong answer. Studies have proven otherwise. Polling the audience was found to be correct a whopping 91% of the time compared to 65% of the time when asking a friend.

This applies to brainstorming ideas and coming up with solutions. To bridge ideas and use our collective creativity, knowledge and intelligence, we need to hear what others are bringing to the table. Great leaders I have worked made a point of listening to other stakeholders and using the best of their ideas with their own to come up with the ideal solution or course of action.

They reflect

Great leaders always make a point of reflecting. Reflection included the impact a leader makes, where one has performed well and fallen short as well as looking ahead to the future. This trait is one of the hardest to develop and immeasurably valuable. To reflect effectively, leaders need to have developed a foundation of self-awareness. By being honest with themselves, leaders can go from good to great by pinpointing areas they need to improve or make adjustments and create an action plan to address them.

One of the most effective methods of reflection is through journaling. Reflection, journaling “and all that yoga stuff” isn’t usually spoken in the same breath as leadership. But there are many good reasons why journaling helps shape great leaders. This is something with which I’ve had a spotty track record. I go for a couple weeks consistently journaling every night and then up to a month without touching my journal. I can tell you that I am always happier, more focused and motivated when I journal – and I rarely journal for more than three minutes a night! That’s pretty decent ROI if you ask me.

They Empower

One of the tougher experiences in the modern workplace is working for a manager and not a leader.  A manager gets people to work for them, a leader gets people to follow them. There is a huge distinction and it plays out in many ways: motivation, productivity, team synergy and work culture. The way an employee goes from being a manager to a leader is by empowering their employees.

When I was in management, I would leverage the power of delegation. There were many instances when I onboarded an employee that was a superstar – they would eat new work for breakfast and come to me with an empty plate asking for it to be loaded up. They would always be curious and always trying to add value. What I did to keep my superstars motivated was delegate part of my work to them. The effect was twofold. My employees were more satisfied at their jobs from great challenges and delivered amazing results; I created more bandwidth for myself to work on IT transformation initiatives that added huge value to the organization. Win-Win.

They are courageous

Doing the right thing and doing what you are supposed to do should line up neatly. We all know this is not always the case. Many people will fall in line over speaking up when something does not jibe with them be it from an ethical, efficiency or customer satisfaction standpoint. A great leader has the courage to stand up for what they believe in and what they believe is the right thing to do.

They can say ‘I don’t know’

I find many people vastly underestimate the power to say ‘I don’t know’. If you think saying I don’t know makes you look incompetent, think again. You are doing yourself, the people you are working with and the organization a disservice if you fabricate an answer to a question just to look like you have it all together. News flash: no one knows everything.

Those working at C-level management should be able to answer most questions regarding vision or strategy but will likely defer to others when it comes to operational details (unless they are COO – and even then!). A frontline worker can likely walk you through all the intricacies of their system’s user interface but would refer you to their director when it comes to the department’s operations budget or quarterly cost savings.

So there you have it. Work on developing these traits and you will have a following in no time!

What traits do YOU think are critical in leadership?