By Seth Greenstein and Robert Drye
Historically, software development has been challenging to manage. In addition, the software development life cycle has evolved over time. Precision.BI (PBI) has adapted our own development process to maximize our efficiency, manage risk, and insure a quality product. Here is a brief description of how PBI goes from concept to keyboard.
The PBI Development Framework is based on the Microsoft Solution Framework (MSF), established by Microsoft, to provide a structured set of disciplines, concepts and guidelines for developing and delivering information technology products. The PBI Development Framework is divided into five phases, as depicted in the diagram below.

Envisioning
The Envisioning phase involves identifying the goals to be accomplished, the skill sets required for achieving the identified goals and the potential constraints that may be encountered along the way.
Planning
The Planning phase represents all activities required to turn the goals identified in the Envisioning phase into a defined plan for moving forward. The Product Owner is responsible for overseeing the Planning phase activities.
• Goals are discussed in greater detail and broken up into summary development efforts captured in the Product Backlog.
• Resource requirements and time estimates are derived for all identified development efforts.
• Milestones are created, given fixed dates in the foreseeable future and each associated with a group of identified development efforts.
Developing
The PBI Development Framework incorporates the Scrum development process in execution of the Developing phase. The Scrum Master is responsible for overseeing all activities involved with the Developing phase.
• The beginning of the 30 day sprint is kicked off with a sprint planning meeting in which the sprint backlog is compiled.
• There is a morning daily scrum meeting each day of the sprint.
• Completion of a sprint yields a working increment of the software which is demonstrated and reviewed in the sprint review meeting.
Testing
The Testing phase is managed by the QA Lead and includes all activities related to testing a working increment of the software.
• Acceptance testing; validation that goals and requirements from the Envisioning phase have been realized.
• Usability testing to confirm end-user experience is as expected.
• System integration testing to confirm the software can be deployed to and behaves as expected in target environments.
• Performance and load testing to ensure the software performs under heavy usage loads.
Implementing
The Implementing phase represents the activities involved with delivering a completed increment of the software to partners and clients of Precision.BI.
• Installation packages of the software are distributed.
• Summary documentation is compiled and distributed for all changes made to the software.
• Training is made available to educate partners and clients on the functionality and usage of the software.
We are currently using this development process for our next generation of the PBI product line. This is helping us move the existing functionality of the product to the new platform, as well as add many exciting new features. This process will ensure delivery of an outstanding product.