In this article, we’re going to talk about good software practices, particularly Pseudocode and Agile.
What are those? Might you ask, well keep on reading and you’ll find out!
PSEUDOCODE
Pseudocode is a very important part of programming. It is one of the first steps to take, before writing your actual code. Using plain English, or short sentences, you basically create an outline of your code’s intent. It is not an actual programming language: the machine will not understand it, but humans will. Which is why it can be read by most, designers and programmers alike, as long as it is clear.
By writing down this rough draft, it allows you to think of the way you want to program step-by-step, and is therefore very handy to catch errors early, which can save a lot of time.
It is basically a tool that helps you structure your thoughts, and think through problems before launching yourself into the hard part: writing up the code.
The great thing about pseudocode is that, as I said, it’s not a programming language, meaning it can be translated into pretty much any type of programming language: JS, Java, C++, etc.
The main thing is to keep it clear and well organised: each line of code will be translated in one task.
THE AGILE METHOD
The Agile Method is used in many companies, such as IBM, as a software development process. It is an iterative development methodology, meaning it uses work sequences called sprints, which are periods of time allocated for a particular phase of the project.
So instead of seeing a project as a big block that has to be delivered as a whole after a certain period of time, it is split in pieces and each of them is worked on for a set amount of time. When the deadline is reached, the team moves on to the next piece to be worked on (even though some team members might feel like that phase wasn’t entirely completed).
Therefore, the product is continually built and improved based on the lessons learnt from each spring.
This method uses a lot of feedback, and face-to-face conversation is what it’s all about, so forget about long chains of emails. With each feedback, the team can easily see where everyone is at, what’s working, what isn’t, and make changes accordingly.
It is an incredibly adaptive and effective method, which means the product is delivered faster, and is well aligned with the client’s needs and desires.
If there is an error, it is caught rapidly, and avoids wasting time.
A non software related example of the Agile method would be the “build your own meal” type of restaurants, such as Subway or Boojum: you decide what you want to put in your sandwich/burrito, the type of bread, meat, whether you want avocado or not, whether you can get a bit more cheese, etc. With all the feedback you’re giving at each step of the sandwich conception, you can expect your end product to be exactly as you want it to be.
Both Pseudocode and Agile are great to save time and to know where you’re going, with constant feedback and early error catching.
If you’d like to read more about those subjects:
What Exactly Is Agile? A Definition of Agile Project Management