|
The theme of Project versus Product is all about determining the scope of effort involved with CM. Should we focus narrowly on the project at hand or take a wider view of the overall product requirements? Most CM experts will tell you that they work under tight deadlines with builds and releases coming in quick succession. I can remember times when I was doing two or more complicated releases per day with little or no time available to work on improving the release management process itself. This can be very frustrating for a process improvement professional. But taking the wider view of considering the success of the product overall is also very important. Technology experts, including CM practitioners, need to focus on the business needs of the organization - and having a product focus is essential to appreciating the big picture. The challenge ahead There have been times when I was called in to solve a tough release management problem. Very often, this meant that the team could not get a release out the door on a reliable basis. It usually takes a few real disasters before anyone will enlist help from an experienced CM expert. Then all eyes are on the CM guru as he/she begins the effort which starts getting described as "mission impossible". I remember one such effort where both the CIO and the CTO told me that the task that I was undertaking had been tried before and the person responsible (no longer with the firm) had failed. In another effort, I was told that a contract worth a million dollars depended upon me fixing a build process within a months time. If I failed, I would be looking for a new job. Both of these critical efforts only allowed me to take a very short-term project approach. I literally had no spare cycles to consider the wider product view. However, this was a great opportunity. Victim of our own success Within three builds, we always had a repeatable process and a perfect build and deploy every time. Our narrow project focus afforded us some short-term successes; however, it did not help us to deal with the wider challenges. The demand for CM services would also grow at a rate that often meant that we were doing two or three builds a day and then we had little or no time to improve the build and deploy process itself. In many cases, we ran from one short-term deadline to the next. Taking a wider "Product" view is critical to long-term success and CM experts benefit from seeing the big picture. But what does that mean to the CM practitioner? Putting your Product Manager hat on Technology professionals are often experts in a specific area of the technology. We are so focused on our short-term challenges that we often do not get much time to consider other areas of the technology than the pieces that we are directly responsible for. The CM expert gets to assemble the entire application and often gets a broader understanding of the application than other members of the team. The build engineer also needs to understand the application from the user's point of view, including some basic testing and user operations. This wider focus is essential for any CM practitioner who wants to contribute to the success of the overall effort. Back to basics There are times when I had direct access to the product manager interfacing with the customer. This made my work a lot more fun because I got a stronger understanding of the big picture. It also meant that I understood the customer's needs more clearly, because I had communication into what impact releases had to the overall effort. Many times I understood better why a release really was an emergency because I had learned about the impact on the customer. So CM practitioners can benefit greatly from getting the big picture, including an understanding of how the customer will be using the application. This meant that when I released the code to development test, QA and integration environments, I could more effectively do my own smoke testing to confirm that the build and deploy was successful. There was also a lot that I could do to help. Participate in the big picture For one project, I sat right next to the product manager. I learned a lot from him, but I also looked for creative ways to help with the product development effort as well. One very simple way was to communicate about the status of the build and deploy on a regular basis. I also let him into my test region earlier in the process than I might have otherwise felt comfortable doing. I always let the testers know what changed with each release along with making sure that they received the release notes (which I sometimes had to pry out of the developers' hands). There were times when I circled back and forth between the testers and the product manager. If we found bugs in the release early then I would work with the developers to get another release as soon as possible. This process was iterative and very Agile. Most of all, it was a lot of fun to be involved with the whole effort from start to finish. The Agile approach The successful CM practitioner will choose whether to focus on project versus product requirements based upon the team's priorities and goals. There will be times when you must be more tactical (focusing on the short objectives) versus more strategic (long-term) goals. We need to be practical in terms of our focus and flexible (Agile) in terms of our approach. There are times when taking a short-term project focus makes more sense and other times when we should be focused on the bigger (product) picture. Bob Aiello is the Editor-in-Chief for CM Crossroads and an independent consultant specializing in Software Process Improvement including Software Configuration and Release Management. Mr. Aiello has over 25 years experience as a technical manager in several top NYC Financial Services firms where he had had company-wide responsibility for CM, often providing hands-on technical support for enterprise Source Code Management tools, SOX/Cobit compliance, build engineering, continuous integration and automated application deployment. Bob is a long standing member of the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he serves as the chair of the CM SIG. Mr. Aiello holds a Masters in Industrial Psychology from NYU and a B.S. in Computer Science and Math from Hofstra . You may contact Mr. Aiello at raiello@acm.org or link with him at http://www.linkedin.com/in/bobaiello
Set as favorite
Bookmark
Email this
Hits: 5299 Trackback(0)Comments (0)
|
| Last Updated on Friday, 24 July 2009 09:50 |




