Sunday, July 29, 2007

What's going on with software development today?

It's kind of a strange situation in software development that we've got so many smart people working on developing software for smart customers, and yet a mere fraction (about a third) of the projects actually get completed on time, on budget, or with functionality intended by the customers. You'd think that with so much intelligence, we'd have moved past the basic problems of communication, but I don't see that much progress.

With my background in engineering, I know that engineers and computer scientists usually don't enter the field with an intention of emerging with better communication skills. We enter these fields because we are good at math and science, and we want to get a good job and make reasonable money, and that's really what we're promised in university or college. What the colleges don't stress enough is that once the students in engineering or comp sci graduate, then the science part takes a back seat to the communication part - that's where you have to actually talk to customers and software "users" to get the requirements for what they want in a piece of software. Yet, that's the beginning of the problems - those who are geeks and great at programming software are not typically communication majors as well. They are good at working with logic, programming languages, and building software - but not so good at talking and really communicating with those who are buying and will use the products. Years ago, people started talking about project "teams" to bridge the gap between customers and software developers - and while it has helped - there are still two sides to the process of building software, with a gap in technology and language between them. Or perhaps I should say a crevasse!

What do you think?
Carol

-----------COPYRIGHT 2007 Carol Dekkers ALL RIGHTS RESERVED------------------------

2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Breaking news! Certified SCOPE Manager is a new job role formalized by the European Union Certificates Association (ECA) headquartered in Vienna, Austria. Personally, I think it is about time that the software industry as a whole woke up to the fact that no matter how much we wish that customers and suppliers spoke the same language - it's simply not reality!

    I remember about 10 or so years ago when the "project team" was supposedly suddenly a homogeneous mix of software developers and customer representatives and through some magical advancement (I think use cases was cited). I always wondered how this could possibly happen when I didn't see it on the project teams I encountered. In a lot of ways, customers and developers are diametrically opposed in terms of their business goals. The customer/business side wants to streamline their operations to save money while increasing service to their customers (i.e., increase profits without spending too much to do so). The IT side wants to deliver software to meet the specified requirements of said customer/business in the quickest, cheapest, and most efficient manner. It is no wonder that at the end of the project, the business side might declare the project a failure (it doesn't meet all of our needs) while the IT side declares it a success (we delivered exactly what you told us you needed).

    A Certified SCOPE Manager is really an "octopus" type of job role that facilitates communication between customers (software acquirers), suppliers (the development team), and hardware vendors. While this may appear to replicate a business analyst role, the SCOPE Manager additionally needs the following skills (and does NOT specify the requirements - the customer still has to do that):

    - Facilitate the preliminary RFP process with the customer and ensure that the high level "sketchy" requirements are adequate to begin discussions with a supplier
    - Discuss and ensure the functional (what the software must do), non-functional (quality requirements for the software in use), and other requirements (will the user be fully participatory and available for the project, do they have adequate knowledge, are the requirements fairly stable, etc) before going to RFP
    - Assist the customer to formulate an RFP for the various parcels of work (i.e., web front end, mainframe renovation/enhancement, data conversion)
    - Assist the customer to analyze the unit pricing ($ or € per Function Point) that come in from the software suppliers for the various parcels of work
    - Assist the chosen supplier to correctly interpret the high level requirements and begin the formal requirements phase with the customer
    - Baseline the requirements (size each piece using appropriate units of measure such as functional size measurement units)
    - Facilitate and ensure ongoing communication between the customer and supplier
    - Record and update progress reports during the development based on monthly progress provided by the supplier
    - Monitor and report changes to the baselined requirements
    - Report on a monthly basis to the customer about the progress (FP delivered, scope creep/leap, etc)
    - At the end of the project, close out the project by doing a final accounting of the delivered parcels/products of work, review the bottom line price provided by the supplier, and coordinate its review with the customer
    - Record the final deliverable numbers (effort, defects, size, etc) in the Experience(R) repository (software) so that the actuals and lessons learned are captured in advance of the next project.

    Awareness of and demand for Certified SCOPE Managers has been increasing in both Finland and Australia where the concepts were originally introduced. For further information about the northernSCOPE (newest formal method from Finland) visit the Finnish Software Measurement Association website at www.fisma.fi/in-english

    Certified SCOPE manager training programmes are now available in the U.S., and Europe. Visit www.qualityplustech.com for details and to register.

    Join us for this exciting training, and together we can change the software development world!

    Carol

    ReplyDelete