|
Digital Design approach to project management Software development methodology is the essential component of successful development. Digital Design acknowledges its utter importance and pays much attention to development process management. It is now more than 10 years since our company, first of IT companies in Russia, obtained certificates of CMMI Level 3 and ISO 9001. We renew the certificates and prove our full compliance to the requirements of these standards each year.
In Digital Design project management is carried out according to the principles promoted by the Project Management Institute. The development process methodology is flexible and varies depending on the project type and customer preferences from Rational Unified Process (RUP) or Microsoft Solution Framework (MSF) models for the large projects with well-defined requirements to Agile model for small and middle-size projects with the changeable requirements and considerable customer involvement into the process. Besides we use a specific technical maintenance methodology for maintenance and support projects. Regardless for the methodology selected for the project the following principles are always observed: - Close co-operation with the Customer throughout the project life cycle
- Development process is apparent and manageable due to the usage of automation tools such as Microsoft Team Foundation Server (TFS) and Microsoft Groove
- Availability and transparency of project information to all stakeholders
- Close control from managers and quality assurance experts
Project management methodology is based on RUP and MSF principles and adjusted according to the specific of our projects. Development methodologies that we use include: RUP adopted by Digital Design | Agile adopted by Digital Design to customer needs | Technical support/maintenance process | - Used for projects with fixed number of requirements which require comprehensive documentation package
- Iterative development process with specific stages within each iteration
- Usage of RUP family products for some tasks, i.e. testing, graphical modeling etc.
- High attention to quality verification and changes control
| - Used for projects where requirements are not set before the start of the project
- Provides ability for customer to understand and define requirements during project
- New requirements are appearing during project constantly
- Cooperation with customer on requirements generation
- After each iteration there is product version for customer review
| - Consists of planned work and tasks upon request (request for consultancy, bug fixing etc.)
- Transition, operation, development and roll-out phases
- Defined structure of maintenance / support process
- Information system for technical support is provided (registration of customer requests, their processing, reports generation, documentation storage etc.
|
General tasks and project phases with results of each phase:| Preparation | - Preliminary project plan with estimations
- Agreement, SLA (for support/maintenance)
| | Analysis & Requirements definition | - Requirements management plan
- Configuration& Change management plan
- Risk management & Quality assurance plan
| | Design | - System requirements specification
- Detailed Project plan
- System Architecture Document
- Any prototype, functional or user interface
| | Development/Implementation | - System Description
- Test plan
- Test cases
| | Documentation, Testing & Deployment | - Functioning system
- Detailed iteration plan with clearly stated goal
- Any updated artifacts from the previous phases
| | Acceptance | - Fully functioning system
- Any applicable documentation - user manuals, installation guides, references etc
- The end-users are trained to use the application effectively
- All appropriate knowledge is migrated to the customer
- Ongoing system support
|
Elements of Digital Design development process:
To all project development methodologies used in Digital Design we apply six following best practices (according to RUP):- Iterative development
Even if customer is looking for more traditional and formal model of development process it is possible to include steps of waterfall model in each iteration of the project. Each iteration consists of traditional phases of software development – business modeling, requirements collection, Analysis&Design, Implementation, test, deployment. Though each of these phases has particular length during concrete iteration. - Requirements management
We put additional attention on requirements set by customer. In case customer could not form precise requirements Digital Design is able using agile methods in development process propose pilot solution, that will initiate requirements generation. - Attention to the system as a whole and to its components in particular
Ability to test individual components before they are integrated into a larger system helps to eliminate number of risks and issues. - Model visually
Using diagrams to represent all major components and also TFS makes possible to make development process more clear both for project team members and customers. - Verify quality
Testing is considered as constant factor in any software product creation - Control changes
Constant synchronization and verification of changes.
|
|
|
|