Viaro Networks' Software Development Method

Viaro Networks’ software development methodology is based on practices and methods described in both "Agile Methodologies" and the "Personal Software Process."
However, these are not exclusive, and we include some other methodologies and software development philosophies.

Our main resource—the focus of our management efforts—is the developer, recognizing his individuality and acknowledging that different people have different skill levels in their distinct areas of work.

We take care of each developer individually and check for the quality of the work of each team member. We believe that by doing this, we will see great benefits across the entire organization.

What we are trying to create?

We want our developers to work within a structured system where they are able to plan their own work, set goals and milestones, and possess the tools to record their progress and the quality of their work. This means keeping track of the invested time, idle time, corrections and errors, along with a number of metrics that help us systematically measure each developer's progress.

Our developers' main task

Each developer is different and
unique, so what may work for one
may not be applicable to the
whole team.


We recognize this and help the developer to create his own system, where the main objective is to improve his own performance, taking his past performance as a reference; we motivate our developers to be better than their past selves at each opportunity. The process is based on creating estimates, planning, measuring performance, and reviewing the results to gather information that helps the developer to make better estimates in future tasks.

Software Project Management

Starting a Project

Every software development effort at Viaro Networks starts by defining in the most clear, explicit, and precise way the goals and objectives you wish to accomplish. We build this with the information available and our own experience. We then move to identify the necessary resources, the scope, and size of the project, and to estimate the time needed to accomplish it. Everything is based on a systematically created historic database that lets us recall past projects with similar characteristics.

Breaking it down

Each project is then broken down into tasks—highly detailed activities that, when completed, push the project closer to its goal. The result of this is a task schedule; all tasks will be assigned to a group of developers where each member will take responsibility for them and will take advantage of a large knowledge base to estimate the time and resources needed to accomplish such tasks.

Starting the Week

Each week, every developer is tasked with creating a weekly plan. This should include every task he is committed to finishing that week. This is usually the developer's first task each week, if it has not been defined previously. This is done to provide a clear path for the developer during the week, a way for him to check his progress and to gain a better understanding of the impact of new tasks and other possible obstacles during the week. The developer is expected to update this schedule after each task has been finished, updating estimates, priorities, and deadlines as needed.