Even the best processes and most carefully defined requirements can produce poor results unless effective management and controls are put in place.
Project Management
The easy part of project management for a project leader is drawing the Gantt or PERT chart. What the project leader does with the charts afterwards is what makes the project a success or failure. Our project management methodology is based on thorough planning, definitive project activation, and continuous monitoring and control, as well as planned delivery, deployment, and project conclusion. Throughout the project lifecycle, we are continuously re-estimating, re-planning, and tracking project progress. Changes, such as the natural evolution of feature requirements or the introduction of a new platform or technology, are integrated, the risks are assessed, and the project plan is adjusted accordingly. We identify five phases to a typical project lifecycle as illustrated in the diagram below:
Risk Management
Predicting what might go wrong in a project and what might signal such conditions is crucial to avoiding failures. Continuous monitoring, assessment, and feedback of project-related risks mean we can set contingency plans in place and have them ready for execution when early warning alarms are activated. This also means that customers are aware of project risks throughout the project lifecycle and can decide for themselves what are acceptable risk thresholds.
Software Quality Management
Peer Reviews: Peer reviews are another example of our commitment to quality. More than 90% of errors are removed from the software before a single test case is executed. By adopting inspection of all software deliverables, we are able to bring the expertise from around the company to every single project team.
Software Metrics: Quantitative management of the software development process is a key ingredient in our software management recipe. By closely measuring and documenting our projects, we acquire quantitative results and statistics that systematically help us improve project estimation, planning, tracking, and our overall process.
Quality Management: Root-cause analysis, defect-profile management, requirements, design and code reviews, as well as software inspections, combine with an organizational process focus to form our Quality Management methodology. Our dedicated Quality Assurance group is involved in every project from the outset to completion. A number of defect-prevention processes are applied to prevent defects from ever finding their ways into the product. Comprehensive, thorough, and rigorous testing makes sure those defects that do slip into the product are spotted early on and dealt with efficiently.
Continuous Improvement: We love to learn. And we love to get better. With a number of feedback processes in place – including quantitative analysis, project post-mortems, process inspections, and customer surveys – we are constantly exploring new and better ways to get the job done.
Communication
If we were to single out the most important factor affecting project success, we would cite communication. Effective, efficient communication is essential to the success of any relationship. In a software development project, communication means creating a unified team out of the customer and the project’s members, and ensuring continuous, fluent communication across the board. A good communication process, supported by a good set of tools, helps to manage and communicate expectations clearly and unambiguously.
Transparency: At ITWorx we believe that the most efficient and conducive way of conducting business is transparency. We provide our customers with access to every piece of information there is about their projects. Information flows in all directions freely and transparently between all parties involved in the project.
Web-based Project Management and Status Reporting: Our web based project management tool is a powerful way of communicating project status both to our customers and within our project teams. Customers have full access to project scheduling information, progress, and completion information. They also have access to project-related documents (specifications, design documents, test plans, reviews, etc...) as soon as they become available.
Web-based Issue Management: Our web-based issue management system allows our customers and users to report change requests, defects, and issues immediately to the rest of the project team. Customers, managers, and team members are able to track progress of defect resolution and change requests in real-time.
SourceEverywhere: Software development project teams are often geographically distributed. We use our own product, SourceEverywhere, to allow development teams to securely share project source code across geographical boundaries and across virtually any network. Our customers have full, continuous access to their source files and are thus able to keep track of technical development, and bring on their own technical expertise and know-how at any moment.
Project Metrics Dashboard: The project metrics dashboard provides a quantitative view of the project status at a glance. Several key aspects of project progress are measured and logged over its lifetime. The metrics dashboard serves as a powerful basis for discussions about team performance, project progress, quality, deliverables, and deadlines.