13
Jun
Remote-Agile methodology part-1
Comments
Introduction
It has been noticed a few years ago that the trend of turning to the Work-From-Home model has been rapidly increasing, among all levels of software companies, that you may have heard about some teams in Microsoft, Google and many others.
Although it wasn’t so easy to work in the same performance as it was in on-site mode, the team as well as management had to pass many challenges and overcome a lot of obstacles to reach the satisfaction level.
And here we should mention some other actors which were playing main roles to succeed with the new model, such as Technical infrastructure readiness, Management hierarchy, applied process and development methodology, as well as team member’s willingness to perform the same as and may be more than old models they used to have.
As most of you may agree with me to choose Agile as a development methodology as many of great companies have implemented many years before, we also are going to build our model on Agile as well, but this time it will not be either SCRUM or Kanban but we are going to use the term Remote-Agile for the new methodology which we highly recommend to use when coming to remote or distributed teams management as we strongly believe.
Agile Principles at a glance
At the beginning, I would like to refer to some – not all – principles from the Agile manifesto which are most important and considered as essential rules for remote development.
Collaboration
“Business people and developers must work together daily throughout the project.”
Means, the idea owner must be engaged in the development process and try to be close to the developers to ensure the same understanding of what exactly the business value/s we need to introduce to the market.
Simplicity
“The art of maximizing the amount of work not done is essential.”
Always challenge the feature before you start developing, if it matches the main objectives of our product??, if it doesn’t, then postpone it for now.
There are many ways that help define those important and essential features that our product must have before launch to market, and that is how we introduce our MVP release.
Early and continues delivery
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
That means you always get feedback on what has been done till now, and as you go you can verify your idea and tune your direction to the right customer with really needed value/s.
Working software
“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
Also: Working software is the primary measure of progress.
You may have noticed that “Working software” is an expression that has been used more than a time in different principles, and that of course because it is the primary measure of development progress.
Never consider building a Back-end component or an RD diagram of your Database as a deliverable item, instead, focus to deliver something functional, that could be used by a user.
The main benefit of this principle is you always have something working and could be shown or presented to any prospect.
Lacking Principles with Remote Agile
Agile principles which are contradicting with remote -work
Interactions over processes and tools
“As per Agile Manifesto: Individuals and interactions over processes and tools, is the first rule”
Unfortunately, that doesn’t comply 100% with remote-environment, where the only way to communicate is over video/audio calls and most of time through chatting apps, which forces tea to step back again to stick to the processes and lay on some tools to avoid conflicts or adding ambiguity.
Face to Face conversation
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation”
Co-Location is mandatory in other agile methodologies and particularly in SCRUM , however, it is not valid in remote-work, so How can the team overcome this challenge?
Engagement of business people
“Business people and developers must work together daily throughout the project.”
Actually, it is still a challenge in the normal working mode, but it is– of course – becoming worse in remote-work unless we find a way to maximize the value of the meeting with the business presenter, by being prepared, focused and to the point in our questions and inquiries.
Conclusion
Our recommendation is to spend some time designing your solution or product, try to be precise of the technology stack you will use, it is critical and could be a point of failure in future. And once you did, you should have got those skills among your development team, and avoid lack of experience, but if you really can’t avoid, then you should do the following:
- Improve your skills first, try to get the knowledge before you start.
- Hire a talent, even part –time, at least at the beginning of the project.
- Keep improving, by learning and practicing.
- Have a coach, who can ensure product delivery, as learning does consume time and effort which – in most of the cases –deviate the delivery plan.