Bill and the rest of the development team spent most of Tuesday working through the Physical Design process, trying to get a working document ready for the RMS team meeting on Wednesday. Dan was with them at the beginning of the day but got called away by Jim Stewart at about 10:30.
After lunch, Dan stopped by the small conference room in the development team area where Bill and the others were still working. "So, how's it coming?"
"Pretty well, actually." Bill replied. "We've got two data stores defined—SQL Server and Exchange. We've worked out their data elements and normalized as much as possible. Most of the components are sketched out, along with their interface contracts. We're working on packaging now."
"What about deployment strategies?" asked Dan.
Sam looked up from his laptop. "We've got some ideas, but we want to test the prototypes a bit more before we commit to a final deployment plan."
"You have new prototypes?"
Bill nodded. "Yes. Sam and Beth stayed late last night to write some quick-and-dirty proof-of-concept applications, and we're using some of their work in our planning."
"Wow, I'm impressed," said Dan. "Think you'll have something for us tomorrow? How about a schedule?"
Beth grinned. "Oh, we'll have something, all right. What we'll have is another question."
"As for the schedule," Bill added, "I've been working on that with input from Sam and Beth, and I'm afraid I've got some bad news, Dan. We just don't see how we can make that tentative deadline we set in the Envisioning Phase."
"Even with the buffer time?" asked Dan.
Bill nodded. "Even with the buffer time, and even with some pretty fancy footwork around parallel development paths. The two clients, the two data stores, the integration with the accounting package to do the invoice work—it's just too much to pull off in that time. We'll need another month, at least."
Dan looked as if he'd been hit in the stomach. "Just what I needed to hear after my meeting this morning," he thought grimly. He took a deep breath. "Bill, I told you and the team we will practice bottom-up scheduling. If you and your people say that the current feature set will take an extra month, then I'll back you up. We'll just have to tell the customer and the users that to get the feature set they want, they'll have to wait. I just have one question: Is the one month firm, or do you really need two?"
The three developers looked at one another for a moment. Then Sam said, "It's firm, Dan. Our prototypes haven't turned up any problems that are showstoppers. One month."
Dan nodded. "I'll count on it." he said quietly and walked away.
"What's with him?" said Sam to Bill. "I've never seen Dan look like that."
Bill gave a noncommittal grunt, but he, too, wondered what was wrong. "Guess we'll find out tomorrow morning," he thought, and turned back to the calendar sheets in front of him.
The next morning found the RMS team in their usual chairs, waiting. Dan's car was in the parking garage, and his office light was on, but he was nowhere to be found. Finally, at 8:15, just as Tim was dialing Dan's pager for the second time, the CIO came into the conference room with notebooks in his hands and a frown on his face. He put his notebooks down and then sat and stared at the others for a moment.
When Tim said, in a cheerful, sing-songy voice, "And good morning to you, too, Dan!" Dan looked at him blankly. Then he shook his head. "Sorry, folks. Guess I was still mentally in my last meeting. I apologize."
"We were beginning to get worried, Dan," said Jane.
"Yes," said Marta, "we were worried you'd been taking lessons from Tim!" The others laughed as Tim stuck out his tongue at her. She got up and moved to the credenza. "Would you like some coffee and a doughnut?"
"That would be great," said Dan as he opened his project notebook and handed out materials to the others. "I had a 7 o'clock this morning and didn't have time for breakfast." Marta handed him some coffee, and he took a sip. "Thanks, Marta—that really hits the spot. Yes, that meeting not only kept me from eating, it also made me late. We just couldn't come to any agreement. In fact, they were still discussing things when I left. I just said I had to be here, and walked out."
"Nothing bad, I hope," said Marta as she put a couple of doughnuts in front of Dan and sat down.
"Well, Marta, one thing I learned long ago is if you don't have any problems, you're either out of business or dead. This problem has already happened, unfortunately, so what we're really trying to do is keep it from happening again." He took a bite of doughnut, chewed thoughtfully for a moment, and continued talking to the group between bites. "There's a chance we may have to deal with the problem in this group before all is said and done. But I think that's down the road a ways." He brushed the sugar from his hands. "In the meantime, we have a project to complete, a design to finalize, and an agenda for today. So let's get started."
Dan stood and moved down the table. "Bill, the Development role drives Physical Design, so why don't you come up here and drive?"
Bill came to the head of the table and handed out sets of documents showing the various pieces of the proposed design. "Our meeting with the EA team on Monday afternoon was very fruitful. In the process of working out some issues with scalability, we decided we needed both a Web client…"
"Yes!" interjected Marilou, pumping her fist.
"…and a Win32 client," finished Bill, returning Marilou's look of triumph.
"Wait a minute," exclaimed Jane, "you're going to build both clients? What in the world for?"
"If you'll turn to the second and third pages, which show the overall process flow and the technologies used, I think it will make sense," replied Bill. He waited as the rest of the team traced through the drawings.
"Wow, you're using Exchange as the primary data store for the assigning of resources and the tracking of time," said Marilou as she studied the documents. "That'll make some of the worker-bees unhappy."
"Why?" asked Jane.
"Because, some of them don't keep their calendar in Exchange. They use paper calendars, or stand-alone organizers, or whatever works for them. They aren't going to want to switch."
Tim spoke up. "I guarantee you that my folks would gladly trade their paper calendars, or Post-It notes, or their faulty memory, for an automated tool that would cut their two-hour time sheets down to a few minutes. And if they could do it from home over the Web, they'd think they had died and gone to heaven."
"And Jim Stewart would be ecstatic to think we might get some value other than e-mail out of Exchange," said Jane. "We sold it to him as an enterprise-wide solutions base, but other than our room reservation folder, we haven't produced much."
"So, what we're saying is that we considered the tradeoffs and decided that this particular technology made the best business and technological sense," said Tim, leaning back in his chair and smiling.
"Why, Tim," said Dan, "I do believe you've caught up on your reading!"
"Had some help—again," said Tim, putting his hands behind his head.
"Well, however you're getting it done, I'm glad you're up with the rest of us. And you're right: This was one of a number of tradeoffs the development team made in working through Physical Design. Let's get back on focus and let Bill take us through the rest of the design."
The group spent the next 20 minutes working through the design, examining the various components and the objects and services they contained. When Bill explained how using multi-layer design, along with certain Microsoft technologies and design practices, would allow the pooling of connections to the data stores, Marilou sat up. "So that's what Sam had in mind that day! That's a significant boost to scalability, which is like giving us a gift of time before we have to deal with growth issues."
"Exactly," said Dan. "In addition, because we're building RMS this way, we can change pieces of it without disrupting the whole thing. And we can use some of the components in other applications as well, cutting our development time in the future."
"Speaking of time, Chief," said Tim, "How does your schedule look, now that you're writing two clients and hitting multiple data stores? And didn't I see some Transaction Server stuff in there as well? Even with all the people you've got writing—I saw the names beside the components—I just don't see any way you can be done by deadline."
"The short answer is, we can't," said Bill, frowning. "I already told Dan. No matter which way I slice it, I can't find a way to hit the delivery target we originally set. We're going to have to have an extra month."
"You can't have it!" boomed a voice from the hall, and in strode Jim Stewart.
"Jim, what a surprise," said Dan, without rising from his chair. The edge in his voice, even though he spoke evenly and without shouting, was palpable, and everyone except Jim noticed it. Ignoring Dan, he turned to Bill. "I'm telling you, Bill, there is no way we can wait an extra month for the RMS application. You and your guys have got to deliver it on time, if not early!" The CFO was growing more and more agitated as he leaned over the table in Bill's direction. He banged his fist on the table and almost shouted, "And if you can't deliver on time, I'll find someone who can!"
"Enough!" interrupted Dan sharply. He moved back to the head of the table. "First of all, sir, this is my meeting, and you don't come busting in here without asking. Secondly, Bill works for me, not you, and it's not your place to threaten any of my employees with termination. And finally, I don't work for you, but with you. If you don't understand what I'm saying, then you and I have our own issues to work out in private, not in front of the employees. Do I make myself clear?"
The room was suddenly very quiet. After a long moment, Jim passed his hand across his face and slumped against the credenza. "Dan, I'm sorry," he said.
Tim stood up. "Here, Mr. Stewart, take my chair." As Jim sat down, Tim got him some water. Jim sighed and said again, "I'm sorry, Dan. I guess I just lost it." He took a drink, then continued, "I was coming down to see if you were done. The executive committee finished its meeting, and I wanted to tell you how it came out. But when Bill mentioned needing another month for RMS, something just snapped." He sighed again. Turning to Bill, he said, "It looks like all I do is say ugly things to you, and then have to apologize. If I keep this up, you'll need tracking software to keep up with it all. Sorry, Bill."
"As long as the software reports an equal number of insults and apologies, I guess we'll be okay," said Bill gruffly. He put out his hand, and Jim took it.
Leaning on the credenza with his arms folded, Dan said, "Well, Jim, I'd say our agenda is pretty well shot. So why don't you take a moment to calm down and then tell the team why the RMS project is suddenly so important to you that a slippage of a month sends you into conniptions."
"'Conniptions'—I like that. Perfectly describes what I just did." He sighed again and then asked, "How many of you know what happened this past Friday in the sales department?"
Marilou and Jane looked at each other, and Jane said, "A few of us heard something about it, but we don't know many of the details. Wasn't it something about losing a potential project?"
"Yes, but it was what we lost and how we lost it that caused such a stir," said Jim. He got up and started pacing.
"Here's the scoop. One of our sales guys has been working for six months on a big construction project, right down the street from here. We were up for architecture, engineering, project management—the whole cahuna.
"Well, if you've ever been in sales, you know how these things go. Our guy put the proposal and bid together two months ago and then didn't hear anything for a month. He got some hints that we were in the finals, but these folks weren't going to do any further interviews, or rebidding, or anything. So, our guy was pretty much in the dark. Until Friday, that is.
"When he got in to the office on Friday morning, there was a voice mail waiting from the CEO of the firm doing the project. We had the project if we could begin work a week from Monday. Seems they had some sort of financing that was about to fall through, and they had to show progress by that date. To make matters worse, we had to accept it in writing by 3 PM on Friday. And we had to guarantee that we could put a full project team on the project on that Monday, no later. And there were substantial performance penalties if we didn't have the team in place."
Jim stopped pacing, put his hands on the back of the chair, and faced the group. "Well, the sales guy was frantic. He only had about five hours to pull together his response, and he had to be absolutely sure we could perform. He went to the head of each division, trying to line up resources. People started scrambling—after all, everyone likes business, and this was both high-profile and big. But in the end, we couldn't do it. We had enough architects and almost enough engineers. But we didn't have enough project managers with the experience to pull this off, and we were short on civil engineers. We hated to do it, but when 2:30 came and it looked like we couldn't do it, the sales guy sent them a formal refusal by messenger, and we all said what a shame it was."
Everyone had been following Jim's story with rapt attention, but Bill was confused. "So we lost some business because we didn't have the resources! What's the big deal? It's happened before, and it'll happen again. And anyway, they were nuts to think we could jump that high on such short notice."
"Wait, Bill, there's more," Dan said quietly. "The story's not over, not by a long shot."
Jim nodded. "Isn't that the truth!" He sat down and continued. "You're right, Bill; we've lost work before when we didn't have the resources. What made this such a disaster is…" he paused a beat "…we actually did have the resources. We just didn't know it."
"Whoa, I hate it when that happens," said Tim, grimacing.
"Turns out," said Jim, "we had two project managers coming off other projects, but there was no record of that anywhere in the office. Their original project schedules showed they were going to be on those projects at least another month, but there had been some problems with supplies on one project and the other had finished early. They had sent e-mails to the head of the PM department, telling him they would be back in town this week, but he was out sick and didn't see their messages. The only way we track our projects managers is on the chart on his wall, and he wasn't there to update it."
"And the civil engineers?" asked Marta.
"Turns out that the spreadsheet your boss uses only shows each resource's latest degree. Five of our electrical engineers have Master's degrees in EE, but their Bachelor's degree was in civil engineering. Two of them had actually done civil engineering work for a number of years before going back for their Master's. But nothing we use now was capable of telling us that."
"And when did we discover we could have done the work, Jim?" Dan prompted, still leaning against the credenza with his arms crossed.
Jim sighed. "The secretary called the head of PM at home around 2 in the afternoon. After she called, he decided to check his e-mail and found the messages from his two managers. He called back in about 2:45."
"And the hidden civil folks?" asked Marta again.
"One of them walked by while we were moaning about the fact that we didn't have enough CEs. He told us about his own background and mentioned two of the others. Then one of them told us of the others. By then it was about 4:45. That's when it really hit the fan." Jim shook his head, apparently still amazed at the mess.
"Just how big was this contract that we lost because we have no idea what's going on in our own company?" Jane asked quietly.
Jim looked down at the table. "Four point two million." His voice was barely audible.
Tim whistled, "Whew! We could buy a whole roomful of new servers with that!"
"That's still not all of it," said Dan grimly. "Go ahead and tell them the rest, Jim. Tell them about this past weekend. It's OK."
"You'll all hear about it in a day or two, anyway, so I guess there's no harm in telling you now." He paused and then continued. "When word got upstairs about losing a contract of that size and prestige, things started popping around here, and I do mean popping. The executive management committee met over the weekend, as well as Monday morning and this morning. They weren't pleasant meetings, let me assure you.
"The bottom line is that the COO is 'leaving to pursue other interests' at the end of this month. Apparently this screw-up was the last straw. Jo Brown is going to take his place, but not until she wraps up some other work. In the meantime, I've been made interim COO as well as CFO. Those are the major changes in people, but there are other shakeups coming as well, including the guy over in project management. The management committee—which includes Dan—has no more than two weeks to turn in the first draft of a completely documented procedure manual for their departments. We tried telling the CEO that he couldn't just dictate a deadline for a project like that, but he was in no mood to listen to arguments about bottom-up scheduling."
"And after you left this morning, Dan, the discussion turned to RMS. There's some confusion about who is in charge of it, and since you are still the fair-haired child, you got away without catching any of it. But the last thing the Old Man said to me was, 'Stewart, we've got to get that RMS thing up and working, so we don't ever lose a contract like this again. I'm holding you personally responsible for getting it done. And if you can't do it, I'll find somebody who can!'"
The team members winced at the harsh words. The CEO's temper was legendary. "So when you heard me delaying the project, it just took you over the edge, right?" Bill said quietly.
Jim nodded, without looking at either Bill or Dan. "It's really unfortunate, because I actually trust both of you—all of you—more than I've ever trusted any tech folks. But I just don't know what I'm going to do. If we don't get RMS built and put in place on schedule, I know someone else who's going to be 'pursuing other interests.'"
Dan walked purposefully to the whiteboard and drew a triangle. He wrote the words Features, Resources, and Schedule on the three sides of the figure. Then he turned back to the group. "Jim, do you remember this?"
Jim looked up and smiled wanly. "Absolutely—the Golden Triangle. One of the best concepts I've ever learned, even if it was from a techie."
"It's not just for the beginning of a project, Jim. It's for use anytime something changes." Dan drew a big minus sign beside the schedule side of the triangle. "To write the application we originally planned, our development team tells us it is going to take a month longer. You're saying we don't have that month. So our schedule is less than it needs to be. To bring the Golden Triangle back into balance, we've got to change something. Either we have to drop features, or add resources, or change the design, or adjust the schedule somewhere else."
Dan moved back to his spot at the credenza. "I like the design we have, and I'd rather not change it. So we can either drop features or add resources. And keep in mind the mythical man-month. Adding resources, especially to a project as short and as small as RMS, may not produce what you want.
"You are the customer. Ultimately, it's up to you to determine the best way to rebalance the Golden Triangle. We can make suggestions, but you have to decide. So what's it going to be?"
All eyes turned to Jim as he stared at the table. Finally, without moving or looking up, he said, "Drop the accounting."
"What?" exclaimed Jane. "That was one of the main features of RMS! We can't drop the accounting interface! How do you expect us to generate invoices?"
"The same way you do now," said Jim with an edge creeping back into his voice. He stopped, took a deep breath, turned to Jane, and continued. "Jane, the accounting interface and features are important to you and your people, but look at the big picture. We still save the time-sheet data entry. We still get the resources database, and the resource tracking, and the automated time-sheet generation. And we get it all in place within the original deadline. That's the right business decision for Ferguson and Bardell, and as the customer for RMS as well as the acting COO, that's the decision I'm making. Whatever heat comes from it, I'll just take." He turned to Dan. "Didn't we talk earlier about doing a Version 2? Can't we make the accounting interface that version's top priority?"
Dan nodded. "Our plan is to begin work on Version 2 as soon as we finish this version."
"Then that's what we should do," said Jim, getting up and crossing the room to shake Dan's hand. "Thanks for your help and your insights. Sorry to meet and run, but I've got some other fires to put out, and this one looks pretty well under control." He turned to the rest of the team. "I believe we have a major milestone scheduled for Friday morning. I'm looking forward to it. Good luck!" And he was gone.
"Wow, I sure wouldn't want to be in his shoes," Tim said.
"Yes, I believe his moccasins have some hard paths to walk in the next few months." Dan moved back to the head of the table. "It's our job to do all we can to get RMS delivered on time and not be a rock inside those moccasins."
Dan looked over his agenda. "Tell you what—I want to adjust this. I had wanted to develop draft versions of our other deliverables today, but we're now significantly behind schedule for this meeting, so let's can some of it. Here's what we're going to do. We're going to go over the parts of the Functional Spec. Then I'll assign different parts to different people. As you complete your section, e-mail it to the rest of us for comment. I'll put the sections together for a final document that we can approve on Friday.
"Bill, I know your development plan and schedule is toast after these changes, and the rest of us rely on that as a basis for our own work. So there's no reason to work on the Master Project Plan or the Master Project Schedule until you have a chance to make your changes. I want you to adjust your plan and schedule as quickly as possible and e-mail them to the rest of us. Then we can adjust our own documents, and everyone will submit their final versions to me for compilation. Does that make sense to everyone?"
Everyone nodded, and Bill said, "Subtracting is easier than adding. I should be able to have the revised documents to everyone by this afternoon."
"Excellent," said Dan. He started making notes as he spoke. "Let's assign the Functional Spec sections. Jane, I want you to take the vision summary and design goals. Marilou, you've got the requirements and the usage summary. Bill, you and Tim work together on features and dependencies. I'll do the schedule summary, and Marta, you make a first cut at risks. We'll use your work to jump-start our work on Friday on the Master Risk Assessment Document."
"So on Friday we'll go over the three design models, the Functional Spec, the Project Plan, and the Project Schedule, and make any changes we need to. Then we'll go through the Master Risk Assessment Document together, using Marta's work as a guide. Finally, Jim will join us and we'll work through the milestone questions, just like last time. Any questions?"
Everyone seemed anxious to get started, so Dan concluded the meeting by saying, "Remember, everyone, I need your documents as soon as possible so that I can compile them and get them back to you by tomorrow afternoon. Let me know if you have anything else pending that I can move to someone else. I need you to be free to concentrate on this."
"How 'bout my laundry?" asked Tim as the others laughed.
"That's why we gave you a laptop, Tim," said Dan with a grin. "Take it and your clothes to the laundromat and do some multi-tasking. Who knows? Maybe watching your stuff spin-dry will remind you of the Process Model."
"Nah, when I do laundry, it's more like a living example of risk management," said Tim, grabbing another doughnut as he prepared to leave.
"You keep eating those doughnuts," said Marta over her shoulder as she walked out, "and you won't need to worry about laundry for a while, because you'll have to buy a whole new wardrobe!"
Tim just grinned as he followed her out the door.