By Deanne Gomes
I know first-hand of the frustration that comes with deadlines not being met. Coming from a payroll background, where the word ‘deadline’ would literally invoke the historical meaning of a line drawn around a prison, beyond which prisoners were liable to be shot, if the payroll department didn’t produce payroll in time. I too suffer the frustration that is development and trying to fathom what takes so bloody long to release the developed code, the end result, the designed product. Don’t get me wrong, EDMA is a fully functioning product, with a roadmap a mile long, even if the roadmap was completed, it will always be in development, there’s always a better way to do something, there’s always a client that will request a specific report, or a new module and more interesting features, a new integration with another software or hardware.
Had I known, in the beginning how long a product like EDMA software would take to create, would I have still jumped headfirst down the rabbit hole? Some days, it feels as though the answer to this is more straight forward. During hard times our minds can’t help but wonder if dreaming up something and just never having the faith in yourself to jump in and just do it would have been the wiser choice. But through all the good, the bad and the ugly; I like to think the path of least resistance is better travelled by cowards, what adventures would Alice have if she was too afraid to follow her curiosity? Down the rabbit hole, is the only way to make an impact and truly make a mark on this world.
Like Alice, I have learned along the way, created wonderful relationships with my team and our clients, sometimes it feels like we’re all at the mad hatter’s party but we understand each other, we have become family and all work towards the same goal and for the same purpose. EDMA has become our baby that must one day grow and reach its full potential. It’s ironic then that we consider EDMA our baby, a human being is designed, created and fully developed in nine months, and yet developing EDMA, has taken several years; albeit we have a small team of experts working on a massive, complex piece of software, but come on, it takes one mother to make one, two or even eight babies in nine months, how absurd that a product can take longer.
I read an article recently that stated that software development specification and design can take 2-4 weeks to implement, this is simply not true; I am the creator of EDMA product and I work with a team of experts that work on it all day and sometimes nights, and I have been involved with it at every stage of its development and I have to say, specification and UI alone takes me lots of time, a lot longer than 2-4 weeks, and I’m the person that knows what I want the end result to be, I know how it already works and how I want it to work. I am by no means an expert at Ui or specifications, but I have intimate knowledge of the product, unless you sit with the dev team for hours and hours and make them understand your vision through your eyes, 2-4 weeks is nonsense.
I get it, in the world of IT where every company wants to launch an app and create amazing digital content, outsourced software companies have to pedal their wares under the assumption they will gain enough understanding about how your product will work from a few meetings, don’t be mislead though, what your vision is and what may be produced can be worlds apart.
No, software development is not for the faint hearted, I have recently started comparing it to a triathlon, something I’ve decided to part take in, in an effort to keep young and healthy and possibly iron out the stress lines that come with software development.
The race of course consists of 3 stages, each stage comes with its hardships and rewards and each as important as the next but without each other, there would be no finish line.
Stage 1 is the design and specification stage. Vitally important so that the whole team understands where you are going but it’s the hardest part, how on earth can one think of all the scenarios and edge cases that a product might go through to reach the correct functional and user-friendly objectives that one desires. It can’t, it’s impossible, we leave the unknowns to figure out in stage 2 and 3 and even after the race is complete, we work out better more efficient ways of handling scenarios in preparation for the next race.
Stage 2 is the development on the backend and then integration on the front end. Each of these developments takes a plethora of code and understanding of how the product already works and where it is going, constantly evolving and increasing in size. It has to consider functionality, speed, accuracy, security and above all else, the dreaded user. It also has to imagine user specific scenarios in order to accurately come up with validation and error messages, it has to expand far and wide into the depths of the “what if’s”. The kind of what ifs that, if accurate, might have saved the likes of Boris Johnson from being taken to the slaughter, had the Sage – (scientific advisory group for emergencies) predicted their pandemic models more accurately and been more on point with their data.
Stage 3 is the testing phase, endless testing of backend code and Frontend code and data, ensuring that it all works correctly and swiftly, that if you’re lucky and your legs have managed to last the entire race, you will reach the finish line, with a new version release.
My team likes to call version releases mini sprints, and the irony of that is totally beguiling. The training by the way is the constant maintenance and upkeep and support that has to be done to ensure the next race can be completed. And of course, it’s obviously a race, a race to market, to give clients what they need and want.
Each stage is so precious, exhausting and exhilarating, that one sometimes forgets that it can easily not always go to plan. You might get dunked in the swim, pedals fall off the bike and your legs, just run slower on the day, but at the end of it, finishing each time, ensures a better product for the client, and the team; hardly rested, has to get back to training for the next one.
Some days, I just wish I could snap my fingers and it would all be there, the whole product, completed in its entirety according to its roadmap, the exciting things to come, would be there waiting for the user, But in all honesty, the most important part of development is actually time, the time to learn the right ways to do things, this is priceless, this is where companies get it wrong. Speed to market is essential in development of a product but the product is better today for the time we have taken to improve it for our clients.
The saying “ all good things come to those that wait”, must have been written by an entrepreneur waiting on the dev team to complete the product.