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.
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.



