The goal of good software engineering practice is to deliver reliable, high-quality software on-time and on-budget. In this paper we advocate the combination of two modern approaches towards achieving this goal. On the one hand, with an eye to software quality, we consider adopting a state-based formal development method, the B-method. In terms of tool support and industry adoption, this is the most advanced such method.
On the other, aimed at improving the development practices of individual developers, we consider the adoption of the Personal Software Process (PSP). To our knowledge this combination of formal methods and PSP has not been considered before; we term our special version of the combination B-PSP. We present a re-design of the PSP data collection and analysis tasks specifically geared towards the B-Method. Although we support the general framework of PSP, we also believe that developers do not enjoy having their creative and thinking process being interrupted by the need to regularly log activities.With this in mind, we present the PSP tasks in a style which should be acceptable to B developers. We view the results of this paper as a specification for some of the data logging and analysis requirements of a B-PSP-based development.