software_governance.doc

262 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
262
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

software_governance.doc

  1. 1. PIC: Programming Languages & Software Engineering Title: How do enterprises govern their software development activities? Summary: A governance project at IBM Research is helping organizations think about the choices they make in creating their software environment. Duration: 6 minutes, 30 seconds Presenter: Clay Williams Introduction At first glance, a software development house doesn’t have much in common with a financial portfolio. But both consist of instruments expected to yield value. And both contain a certain amount of risk. A governance project at IBM Research, led by computer scientist Clay Williams, is looking at the way large enterprises make choices about their development activities so that they can get optimal business value out of their software development investments. In this episode of Computer Science Spotlight, Clay gives an overview of his governance project. Presentation My name is Clay Williams and I manage the governance science research group here at Watson Research. The governance project is really about looking at software development and trying to understand how we can align software development activities with business strategy for
  2. 2. 2 organizations. Now, traditional software engineering looks at everything from a very process-centric view of, “We're just going to tell developers what to do. You know, first you gather the requirements, then you do some prototyping, then you build a model, then you write the code, et cetera.” These types of process-centric approaches don't work well in a lot of software environments. And it's really because software development is a creative activity. And it's very hard to plan creativity. And so what we're doing in my team is we're really looking at four facets to try to support the creative activity of software development: The facets really go from project portfolio management and planning, down to understanding the assumptions associated with a project, which is where you do your predictions and the projects sort of coming online. And then you get into the actual execution of the project, which is where these team dynamics come into play. Finally, once you understand certain team dynamics, how can you grab a pattern or a best practice or a process and formalize it and say this is something we want the
  3. 3. 3 organization to reuse, and that's applying governance? We're trying to understand how teams self-organize. So if you look at a good high-performing software development organization, people come to know who has expertise in which areas, who they can go to if they have a problem with a certain technology, who knows a lot about databases versus user interfaces, et cetera. And the team comes to recognize where the expertise lies and they know how to rally around that, if you will.  If you look at our big enterprise customers, the projects that they have in their software development shop look very much like an investment portfolio. They're spending money on a set of projects. They're expecting each project to provide a certain value. And there's probably some risk inherent in each project. After the dot-com bubble burst, a lot of CIOs ran into this situation where they became viewed simply as cost centers in their organization. Everything was about the purse string and controlling the cost. And they want to have a very different conversation with their CEO or their CFO. They want to talk about the value they bring to the organization. Our clients are clamoring for tools and capabilities that support this value-creation argument.
  4. 4. 4 And so another piece of work we're doing is to understand what does the portfolio of projects look like for an organization in terms of the value of each project and the risk associated with each project? Just like if you have a stock in your stock portfolio that's very volatile, you hope that it's volatile because there's a lot of upside to it. If you have a project in your project portfolio that's risky, you should really only have that in your portfolio if there's a lot of upside to it. So there's a high risk to the project. But boy, if you get it right, you're going to hit a home run and get huge business value out of it. Otherwise, why would you want to do a really risky project that has low potential value? We've developed some project valuation models that look very much like the financial models you would see on Wall Street. And those take risk into account so you can talk about measurements, such as value-at-risk, in a meaningful way in the context of project management.  In some ways, applying governance to software development is in essence a new field. We started this in 2006. It wasn't like saying, “We want to take the next step in a
  5. 5. 5 very established discipline like optimization of some type of mathematical problem, where there's an existing body of literature. You can go read it and understand exactly what it means to your problem.” We've had to sort of take these disparate pieces of information from different fields, synthesize them, teach people inside and outside of Research what our vision looks like and get a community formed. Over time, we've identified the academics working in the area who are interested in what we're doing and it's very heartening. There are a lot of top people. So we've got some people at Harvard Business School. We've got people at Carnegie Mellon, Cal Irvine, UC Davis, Virginia. There's a community at [the University of Texas] UT Dallas, University of Arizona. We sort of covered the nation and found the pockets of people who are interested in these problems. And we've identified the people inside Watson who bring the types of expertise we want to the team. There are four main PICs [Professional Interest Communities] that people are strongly affiliated with: Operations Research, Statistics, Programming Languages and Software Engineering and Human Computer Interaction. And we also probably should be reaching out more the Artificial Intelligence PIC. Artificial intelligence will play a big role here in some of the really forward-looking things we want to do and some
  6. 6. 6 of the exploratory work.  I've tried to emphasize the fact that organizations are not processors that you program with a process, that they are adaptive, that creative things happen in them and that we want to support that creativity. It’s exciting. You’ve been listening to Computer Science Spotlight, an IBM podcast. Series editor: Barbara Finkelstein Music: Walking the Dogg by the Dejunair Project

×