The project management processes are in line with industry best practices. These processes address key aspects of a project across the project life cycle such as:
• Project profile / planning
• Project processes related to life-cycle
• Change management
• Configuration Management
• Requirements traceability
• Process tailoring, etc.
• Deliverables and effort estimates
• Goals and milestones
• Intra-engagement communication with client managers
• Project tracking: Tasks, issues, quality, client feedback, reviews, reporting, escalation
• Defect estimates and defect prevention
• Project team roles, skills, key personnel, training
• Risks and mitigation plan
• Project management and project quality processes are strengthened by the use of a variety of custom-built as well as third party tools, which help us manage the complexities of the Delivery Model.
Risk management framework of XOKA covers risk identification, prioritization and mitigation.
• A detailed plan for risk identification, monitoring and mitigation to be a part of project planning. This is a continuous process for all the projects/ tasks.
• Project Plan covers risk identification, prioritization and mitigation options.
• Need to define business continuity & disaster recovery at organization and client level
• De-risked global development centers
• State-of-the-art, fail-safe network connectivity with multiple fall-back options
• Interoperability to ensure seamless relocation
• Locations set away from potentially conflict-ridden zones
XOKA uses a combination of powerful and proven Open source and customized tools to monitor the projects. Practicing these tools enable our project managers to keep the largest and most complex projects on track.
• XOKA Application Lifecycle Management for Project execution or development monitoring and Resource Tracking
Future of XOKA.ALM
1. Project Management
Agile & custom processes managed with one single platform
2. Tracking Tasks, user story, requirement
3. Source code Integration SVN
4. Code Review Easy online code reviews
5. Continuous Integration
6. Build and test with Jenkins-Hudson
7. Deliveries Organize and share packages & releases
8. Document Management
9. Create & version documents & wiki pages
10. Collaboration tools Forums, instant messaging, mailing-lists, etc.
• Project Tracking based on Microsoft Project 2010
• SVN for source code version management
• Hudson for Integration configuration management
• Bugtrackernet for tracking bug reported from our customer
SCRUM Software Development Process: A scrum is an action associated with the game of rugby. It is enacted when players huddle together with the objective of moving the ball strategically towards the goal post. The SCRUM agile development methodology is derived from this action and draws from the rugby scrum some principles which are embedded throughout the life-cycle of a SCRUM enabled project.
The Product Backlog
As in any sport, teams are rarely successful without a "game plan" aimed at providing a transparent and unambiguous mechanism towards achieving a common goal. This mechanism, called the Product Backlog is achieved when a Product Owner creates a list of Stories based on initial client requirements. These Stories describe business functionality which will contribute towards a shippable software product. The nature of SCRUM and its Sprints allow for products to be delivered iteratively and by maintaining a Product Backlog; business functionality may increase or decrease in size based on decisions throughout the lifespan of a project.
Like the game of rugby, SCRUM is enacted through the process of Stop, Start intervals (2 weeks to a month) known as Sprints. The objective of SCRUM is to foster transparency, accountability and enable agile processes. To achieve this, a number of Milestones are undertaken in a Sprint. Sprint Milestones carry open invitations. However, only Sprint Team members are allowed to participate. Team members are comprised of the Product Owner, Scrum Master and the Development team (including QA). Together they are equally accountable to the success of a project.
On a daily basis, Team members participate in a time-boxed (15 minutes) Sprint Stand-Up in which the developers specifically address Stories by explaining:
1. What I did yesterday
2. What I am doing today
3. My impediments
A Stand-Up provides insight into the direction in which the project is heading and allows for issues to be addressed sooner in the development cycle. The role of the Scrum Master is much like a referee in which it ensures that the team remains focused towards achieving agreed upon Sprint goals by removing impediments and, managing the relationship between the Product Owner and the Development team.
During a Sprint, a Planning session allows the Team to ruminate on and further "Groom" stories which are selected from the Product Backlog and prioritized by the Product Owner for the upcoming Sprint. Towards the end of a Sprint, the Team hosts an open Review showcasing the Sprint goals achieved in the current Sprint. Finally, the Sprint is completed with a Retrospective, providing the Team an opportunity to openly express their thoughts on what they perceived were "Good" or "Bad" events in a Sprint. The things learnt from the Retrospective provide for Team growth and increased optimization as issues are addressed and solutions are put in place.
Why SCRUM is better
In essence SCRUM is a simple agile product development framework implemented to manage the complex task of creating software. It creates self-organizing teams who learn to manage themselves efficiently, as team members soon realize accountability through the actions of selecting and reviewing their own work.
For clients, SCRUM offers complete transparency and an enhanced sense of ownership as they are actively involved in the collaboration of each Sprint Milestone and possess a shared responsibility for the maintenance of the Product Backlog.
On the whole, SCRUM promotes self-management, improved communication, improved quality and a controlled and iterative approach to product releases.