Software engineering and coding are two very different concepts. As a software engineer, I write code on a daily basis, but the value that a good software engineer provides to a business is so much more. This is emphasised by The Entelect Way.
What is The Entelect Way?
I’m a software engineer at Entelect, a software engineering and solutions company based in South Africa. The Entelect Way is a set of guiding principles for software delivery that can be used to help guide your decisions, activities, and behaviour as a professional software engineer. The principles are broken down into the following areas of focus:
- Agile Planning and Development
- Software Engineering Quality Practices
- Individual Growth
- Team Engagement
- Value Adding Activities
- First Class Service Delivery
A few weeks ago, my team attended a workshop on The Entelect Way with a few teams based at other clients. We took a deeper look at each of the principles and were encouraged to find ways to apply these principles in our day to day activities.
We were asked to discuss Value Adding Activities. We chatted about each team’s strengths and weaknesses around the points raised during the workshop. I realized what our team does well - and where we need some major improvement. While we didn’t stay entirely on topic of Value Adding Activities, we did manage to learn a lot from each other that we then compiled into a list. Here’s the best picks across our three teams:
Focus on your client’s ‘why’
You can take action on your client’s what, or you can take action on their why. Try to find the why, and use that as your guide.
Imagine you’re fetching data from a service and displaying that to the user. If someone asks you to attempt to make the service call three times in the case of failure before displaying an error message, they’re asking for the what. The why is likely to be something along the lines of “I don’t want the user to visually experience errors when the server goes down”. Now that you know what they hope to achieve, you know that your task is to build more resilience into the app and reduce downtime. You as a knowledge worker likely know the best approach to achieve this, and you can use your experience to solve the client’s actual need.
Communicate constantly to understand your client’s intention
This is pretty much the crux of agile software development. How do you know that you’re building a product that will give the client the most possible value? You communicate. Constantly. Raise concerns. Show progress. Share ideas. If you open up that dialogue, your client will happily communicate back and share what they really had in mind. This level of communication will get you on the same wavelength.
Commit to your own work
There’s nothing worse than giving an estimate and seeing it being ignored. When you’re asked to commit to goals that you don’t see as feasible, it leads to demotivation and shoddy results.
Emphasize the importance of taking responsibility of your own estimates and commitments. Rather than being forced to take on work that you didn’t sign up for, you now have the motivation and autonomy of playing a pivotal role in reaching an objective that you helped to set.
Use deadlines to your advantage
A deadline doesn’t need to be a negative thing. It defines the expectation that is laid on you and, when realistic, can be an effective measuring stick for you to gauge the value that you are providing to your company.
By pacing yourself against a deadline, you’ll have an end goal that you work towards. The satisfaction from meeting a realistic deadline that you’ve committed to can be a great motivator towards reaching the next deadline.
Make use of the rhythm of sprints
Sprints provide a good set routine for you to find time for other value-adding activities. By ringfencing a chunk of work to the boundaries of a sprint, you provide time for activities such as reducing tech debt, setting up build automation, and finding ways to improve the way your team works on a daily basis. Use the quiet time provided by the cadence of a sprint to focus on ways to improve.
Do more than just code
A set of principles like those found in The Entelect Way helps one to realize that there is more to software development than just writing code. There are a lot of areas of concern that we need to focus on before we can define ourselves as true professionals. Following some guidelines and making deliberate effort towards putting them into practice is how we can provide true value: whether for a client, for your company, or for yourself.