First Experience of SDLC Projects
XXX
I started working on software development projects in 2019, and most of my projects since then have been in this area.
If you have read my other posts, you will know my first job was with a start-up consultancy - when projects would come through the door, there wasn’t a great deal of governance, procedures or practices in which to detail out before starting.
The boss of the start-up (I’m using boss, because he played so many roles and it’s difficult to pinpoint on one, just know him as the boss) set me as the one to lead, so at 23 years old, having minimal experience (none) in this field in-fact, I did just that.
Perhaps this was my experience of imposter syndrome, something which can be defined as having ‘repeated feelings or thoughts that you are incompetent or not good enough, despite evidence to the contrary’ - which in all honesty people feel throughout their life in every situation, not just in the workplace. Being a 23 year old fresh graduate, I felt this for sure, however my character, mentality and work ethic derailed any feeling of imposter syndrome and led me to focus on the opportunity I had at hand.
The project itself involved collaborating closely with a recruitment company (roughly 10 people) to significantly enhance their overall business operations. This transformation included a strategic shift from outdated and inefficient manual processes to effectively leveraging automation through advanced software enhancements.
A lot of fancy words to basically say - they wanted to improve the way they operated, which would ultimately help them focus on the important things.
The learnings were steep, the hours were long, however the knowledge acquired during that one project have stuck with me to this current day.
I remember going to the office of the recruitment company, which was two floors up - we saved on any fuel costs.
I started with the Managing Director of the company, which in any engagement is paramount. Knowing the challenges faced by seniors and working down, ideally everyone’s voice is heard in an equal manner, yet when projects need to be delivered by X date, with X budget - it is solving the hard hitting problems that will get the project the green light on successful delivery.
My plan for this discovery phase:
Speak to the seniors, understand their current processes and how they envision the future state, document their pain points, issues and reasons for change.
Rinse and repeat this for the other staff members - whilst understanding any nuiscances along the way.
Do the write up, put together process flows, present, iterate, re-present, re-iterate.
Finalise the write up and get it approved
Inform the boss, I am burnt out and need a holiday fully expensed - okay that wasn’t part of the discovery phase, but would have been nice after all the work above.
So, will all that done, the boss asked me on a Friday afternoon, ‘are you feeling stressed’ - I did pause and think. Stress is generally considered a bad thing in as it inhibits the ability for you to perform, can affect your health and other factors. However, stress can also enhance brainpower, increase resilience and get the job done.
This isn't me advocating that we should all be stressed just to meet client demands. Everyone deals with it in a different way, when I was asked, I thought about it briefly, then went about re-focusing on the job at hand. Maybe a start-up does that to you, less people, more responsibilties. I’ll likely create another post on dealing with stress in the workplace soon.
Lessons
Working on a software development project begins before coding or collaborating with builders or testers. It starts with a discovery phase to understand the business problem, why it matters, and how to solve it. The technical details can come later. So, the first step was to talk to the people involved in daily operations and ask about their activities, challenges, and processes.
Makes sense, right. Understand first, then build. Often in software development projects a common pitfall is not having clearly defined requirements for the solution to be built. It results in time delays, technical debt if new technologies need to be incorporated and a lot of frustration.
The job becomes ever more complex when third party organisations are involved in the process - an additional layer of communication is required, with appropriate ways of working and escalation to bear in mind.