Highly Effective Soft Skills for the Software Development Life-Cycle Part 1
When I started consulting in the software world several years ago, I knew I had the hard skills to do the job. I knew the questions that I should ask and which key members to invite to the meetings. I knew everybody’s roles and I knew on paper exactly how the first three stages of the SDLC (Software Development Life Cycle) should go: Identify and Gather Requirements, Plan, and Design.
What I didn’t know was how to use soft skills to take on multitudes of opinions, diverse, and sometimes difficult (sorry guys!) personalities. I didn’t know how to learn complex industry and business processes without feeling overwhelmed. And I didn’t know how to spin out an organized, comprehensive scope that prioritized a company’s goals, making them feel understood and accommodated.
The 7 Habits of Highly Effective People and the SDLC
Then I read The 7 Habits of Highly Effective People by Stephen R. Covey. The ideas from the book ran around in my brain for a while as I went about my daily routine. I found myself extrapolating these concepts when I met complex situations and scenarios in the Software Development Life Cycle. It wasn’t an epiphany but rather an adaption of principles that I knew would work to make concepts clear when I applied these habits.
For those of you unfamiliar with the book, I recommend watching this YouTube book review (looks really cool when you watch on high speed 1.5 setting).
Habit #1 – Be proactive
Focus your energies on your circle of influence. There will be preconceived notions that your clients bring to the table, or you’ll be confronted with unrealistic goals or expectations. This is where you become clear about what you can and can’t deliver to your clients. It’s where you communicate your focus to your clients on what they can expect from working with you.
By separating these concerns, you allow yourself the space to focus on doing the things you can and will succeed at, without stressing on results that are totally out of your reach.
Circle of Concern:
- Clients WILL make more money after this project.
- I will fix the company’s dysfunctional behavioral patterns.
- Clients WILL sign the proposal.
- I will learn every industry better than my clients.
Circle of Influence:
- The technology we build will handle client’s business growth.
- We will deliver quality work in a timely fashion.
- We will prioritize the client’s requirements to meet their budget and goals.
- We will work with honesty and transparency.
- We will find the right tools/resources to get the job done.
Habit # 2 – Begin with the end goal in mind
I can’t stress the importance of this habit in the SDLC world. This is the primary purpose of our Business Requirements Document. It’s the very first deliverable within a week of starting the project. Here’s where we set up the Business Goals, the Software Goals, and Initiatives – the steps we will take to meet these goals. Here’s where the client feels understood. We get what you are trying to do, and our initiatives will get you there.
Knowing what these goals are is key to determining the priority of features further down the SDLC.
Habit #3 – Put first things first
Be clear about project priorities.
Here’s where we take everyone’s ideas, feedback, pain points, opinions and processes, and start organizing them. We create feature lists or stories, organize them by epic, and then assign priorities.
My personal favorite adaptation of this habit is the 4-quadrant categorizing, which applies so well to project scope decisions and support tiers.
Category 1 – These are the features that affect core functionality & all users in the system. If they go down, they are tier 1 support. -urgent, immediate 24/7 attention. These are also features that fix the biggest pain points the company is facing which are preventing the company from functioning and growing.
Category 2- These are the features that affect the USP (unique selling proposition) of a company. These are also features that affect many users in transforming and advancing the way a company does its business.
Category 3 – These are the widely used features that will make everyone’s life smoother but don’t really change the fundamental way the company does business.
Category 4 – These are nice-to-have, cool features that are usually requested by a small subset of users.
Obviously, within all these categories, consideration needs to be taken how large the investment will be in comparison to the results. For example, a user can have multiple requests that span several categories, but they may decide to prioritize the ones that fit within their budget.
The key here is letting everyone know that there is a place and time for all ideas, which leads us into the next habit which I will cover in the upcoming Part 2.