WO2002057902A2 - Verfahren und einrichtung zur software-entwicklung - Google Patents

Verfahren und einrichtung zur software-entwicklung Download PDF

Info

Publication number
WO2002057902A2
WO2002057902A2 PCT/EP2001/000953 EP0100953W WO02057902A2 WO 2002057902 A2 WO2002057902 A2 WO 2002057902A2 EP 0100953 W EP0100953 W EP 0100953W WO 02057902 A2 WO02057902 A2 WO 02057902A2
Authority
WO
WIPO (PCT)
Prior art keywords
project
developer
software
developers
components
Prior art date
Application number
PCT/EP2001/000953
Other languages
English (en)
French (fr)
Other versions
WO2002057902A3 (de
Inventor
Peter Maria Heinrich
Matthias Metzlaff
Original Assignee
Valentino, Peter
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Valentino, Peter filed Critical Valentino, Peter
Priority to AU2001242357A priority Critical patent/AU2001242357A1/en
Publication of WO2002057902A2 publication Critical patent/WO2002057902A2/de
Publication of WO2002057902A3 publication Critical patent/WO2002057902A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Definitions

  • the invention relates to a method for software development in which a project is divided into one or more components and a partial software solution is provided and / or developed for each component.
  • the invention corresponds to 'continue to a corresponding device and a Computerpro- gra m for implementing the method.
  • the object of the present invention is therefore to provide a method and a device for software development by means of which software projects of any kind can be implemented as far as possible automatically, in particular modules and systems are to be provided which automate individual steps of software development.
  • requirements for the development of the partial software solutions for the components of a project and possibly a description of the respective component and / or the project are made available to developers by a central project point via a communication network, which can then apply, among several Applicants to develop the same partial software solution at least one developer is selected according to selection criteria.
  • the developers can be internal or external programmers or software companies. Any developer who is connected to the communication network can be considered for the realization of the project.
  • the Internet an intranet or extranet, can be used as the communication network, and wireless data transmission can also be used within the communication network. The latter is particularly suitable for giving mobile developers access to the communication network.
  • An intranet is used for the internal networking of a company, while an extranet is an extended intranet in which external participants with access authorization and several separate networks in the Intranet network work.
  • the external networks are interconnected via the Internet. This enables online communication with business partners over the Internet by means of access rights to the respective extranet.
  • the invention uses communication networks of this type in order to tender out components of a project, so that developers are able to gain insight into the requirements for software development and / or into a project description and then apply. Here it can be useful and. be necessary to pre-select developers who will then be granted access to the tender. If several developers apply for a subproject, a developer is determined based on previously created selection criteria.
  • the respective components / partial orders are transmitted to those developers who have been determined for project implementation by directly addressing the developers or by providing them with access to call up the components. After completion of the developed partial software solutions, these are in turn transmitted via a communication network to the central project site, where they are combined to form the overall software that realizes the project.
  • the project itself can be transmitted to the central project center via a communication network.
  • the customer or client then acts as a general contractor. This monitors the project, distributes orders to internal and external developers and is qualitative for delivering one integrity software solution responsible.
  • the invention enables an almost complete automation of these processes.
  • the evaluation criteria include, in particular, the price, quality and speed of the work performed by the developer as well as its availability in time.
  • a developer After selecting a developer for a project, it can be automatically blocked for a certain period of time by further projects. On the other hand, a developer can also be enabled to block himself from project offers for a certain period of time. The developer who is eligible for a tender or for a direct offer is then automatically excluded for the period of time determined by him.
  • feedback intervals can be set, within which a developer who has been accepted for the project must contact the central project office. If this is not the case, an e-mail and / or SMS message is sent to the respective developer with the request to contact the central project office and to transmit partial solutions that have been completed to date. In this way, the schedule for the project can be monitored and possibly corrected, as well as interval quality monitoring of the partial solutions completed to date. In addition, it can be provided to send (automatically) a message (e-mail) to the project manager in charge at the central project office in the event of defects (timeframe exceeded / quality not perfect), who will then take further steps.
  • a predetermined input mask in order to receive the order from the central project location. via which the client communicates all project data to the central project center.
  • the project described in the input mask can then be automatically categorized and broken down into individual components by comparing it with data stored in a database.
  • the establishment ⁇ invention -Assign a tender module that possibly via a communication network needs to develop a piece of software solution as well. additionally provides the developer with a description of the project or the respective component, with the possibility of feedback from a developer who is interested in participating in the project.
  • the call is a public invitation to developers to participate in the project. All requirements may be offered with a brief description on the tender pages generated by the tender module. A number of different tenders can exist at the same time. Developers should signal that they agree to the conditions and want to participate in the project. New offers can be disseminated using the web front end described below, PIM (Personal Information Manager) and the instant messaging module.
  • a selection module is advantageous which automatically makes a selection of developers from feedback on a project or individual components of the project. This selection is made using assessment criteria stored in a database for individual developers. The selected candidates are (automatically) informed by the project manager at the central project office. Such a facility consequently allows a fully automated tendering and selection process.
  • the device according to the invention has a project management module which offers individual components, for each of which a partial software solution is to be developed, via a communication network to the above-described tendering and selection process or other selected developers , by the module transferring the associated tasks directly to the developer or by means of a developer view providing access to the acceptance of the associated tasks by the developer.
  • GUI Graphic User Interface
  • this includes a project management module 'on which in a project folder, the properties of a project and in automatically generated workbooks the various tasks required to create a respective software part solution to a component of the project, contains.
  • a project folder contains information about a specific project or one of its components, such as a short name, a description, information on priority and status, the project type, the project manager, the customer, the deadline and other comments and additional data such as cost calculation.
  • the automatically generated workbooks consist of several linked tasks for different groups or users (project managers, developers). Each task contains a number of properties and information about a specific part of a project, such as Name, description, priority, creation date, name of the creator, deadline, percentage of the part already executed, linked documents, access rights and the like.
  • the project management module can have a component and / or task generator, also called an assistant, which divides a project into different components and possibly into further tasks, with this being checked by means of a database with search functions whether the same or similar projects or their components or their tasks software solutions already exist.
  • a component and / or task generator also called an assistant
  • the assistants can, for example, access information on an input mask into which a project description has been entered.
  • the project is then automatically divided into individual components, which in turn can be divided into different tasks.
  • a distinction can be made between tasks between parents and children, whereby child tasks can only be carried out after their parent task has ended.
  • the automatic creation of workbooks saves a considerable amount of time when processing projects.
  • the project management module has a project visualizer that provides a central project point with information, in particular about its individual tasks and the respective work status.
  • the responsible project manager can then view the project (tasks that have already been completed and tasks that are still to be completed) in specific time views, and receive detailed information on selected tasks.
  • the developer view already mentioned is not only designed for project managers, but also for other users, such as developers. The developers cannot see the entire course of the project, but only the component assigned to them with the corresponding tasks. Suitable wizards can be created for repeated requirements.
  • special assistant generator software is implemented.
  • An analysis module is available for project managers to collect information from users, employees, tasks, times, Extract average times and other statistical material.
  • a special mechanism can be implemented which allows a rollback of the tasks which have been marked as completed but which are not yet real.
  • the device according to the invention has a resource management module which manages resources which can be accessed in the software development by a central project point by means of one or more databases and which are accessed by further modules.
  • the resource management module is a tool with the corresponding features for client-server resource management with resource time management and project status display.
  • This module works with a resource database. All resources (developer resources, hardware resources, software resources etc.) have their own resource form that describes their special properties. These forms are expediently linked to the corresponding user data records in a user database.
  • the properties to be recorded are as follows:
  • a time card database is advantageous, in which the available human hours, in particular the developer, are stored. These time cards allow a developer to be blocked for a certain period of time if a developer has blocked himself or has been blocked for a certain period of time due to his work for a project. Such (busy) time cards contain information about a developer's employment plan. These time cards can be generated automatically if a developer has been selected for a specific project. It is advisable to automatically adjust the time cards during the software development process (project flow) in the event of changing schedules.
  • a powerful query tool can be created by a project time module within the resource management module, which enables the central project unit to determine the current availability and employment times of a certain resource as well as their previous usage time in the project.
  • Various filters can be made available for the corresponding queries.
  • the device according to the invention contains the tender module already mentioned above, it makes sense to connect it to the resource database in such a way that a tender for developers to take part in the project always takes place when none in the resource database suitable, available resources for all components of a project are available.
  • a reporting system and a document manager system are useful additional systems for the device according to the invention.
  • a reporting system uses a corresponding message to the central project point, the respective project manager and / or the developer concerned if a task is successfully completed or if it is delayed. This enables better monitoring of project progress.
  • a quality control system is furthermore advantageous in that a partial software solution or sections of such a solution transmitted by a developer is subjected to an automatic quality control.
  • the source code can be scanned according to certain source code-dependent criteria (eg "Go to" commands, defective or faulty documentation %) and individual software routines can be tested for perfect function, so that statements can be made about the quality
  • automatic control messages can be generated to the respective project manager and / or developer, which contain statements about the quality of the delivered product and about any measures to be taken.
  • the device provides a module for accepting the order, which contains an order mask, via which a client can transmit a project to the central unit via a communication network.
  • an input mask for a project facilitates the automated categorization and division of a project into various components and tasks, as described above.
  • WAP interface for wireless data transmission
  • WAP front end appropriately configured transmitters / receivers
  • WAP front end for project managers and developers.
  • Detailed examples of this are contained in the exemplary embodiment.
  • an encryption system should be provided that makes the data traffic unreadable for outsiders, for example with standard SSL encryption.
  • password-protected access authorizations and logs of the logins and logouts made can be implemented.
  • the invention relates to a computer program with program code means in order to carry out all steps of the method for software development according to the invention when the computer program is executed on a computer or a corresponding computer unit.
  • a computer program can then also control the device according to the invention described and display it for the respective user on corresponding end devices.
  • the computer program or parts thereof can be stored on suitable data carriers, such as EEPROMs, flash memories, but also CD-ROMs, floppy disks, hard disk drives, but also on an external server.
  • suitable data carriers such as EEPROMs, flash memories, but also CD-ROMs, floppy disks, hard disk drives, but also on an external server.
  • Figure 1 shows a schematic representation of a project visualization.
  • Figure 2 shows a representation of resource management.
  • Figure 3 shows an example of version control by the document manager system.
  • Figure 4 shows an example of a rating system.
  • Figure 5 gives an overview of the software and hardware platforms that can be used.
  • the project management module is a web-based planning software solution that supports multi-project techniques for larger companies. It enables the company to manage and consolidate distributed and time-consuming resources so that measures can be taken in line with the main strategic goal.
  • the project management module has an easy-to-use graphical web interface (GUI, Graphic User Interface), which allows the user to create projects quickly and easily on the screen.
  • GUI Graphic User Interface
  • the data is input and output in the form of a bar chart.
  • Project folders are folders with tasks of a specific project or part of a project. Each project has the following basic characteristics:
  • a number of documents can be attached to each project, e.g. Project description or cost calculation.
  • the user can view a list of all projects assigned to him.
  • the projects can be filtered according to various criteria.
  • the user can filter out higher priority projects whose deadlines are within the next month.
  • the user can create a project manually or using the project wizard (see below), edit it or just open it.
  • Each project contains tasks that must be completed in order to continue working successfully on the project.
  • Each task is part of a structure in which the tasks are linked. This means that at the highest level of the project there can be any number of tasks, each of which can have individual child tasks (tasks that can only be carried out after the parent task has ended).
  • a particular child task can also be a child of more than one task. This means that the corresponding parent tasks must all be completely completed before they can be carried out.
  • the structure of the whole is as follows:
  • Each task contains the following basic information:
  • the project visualizer shown in FIG. 1 provides a comfortable view for project managers to view tasks, to check the status of the project and to be able to make suitable changes if necessary.
  • This tool it is possible to view the project time in daily, weekly and monthly views as well as in self-defined time periods.
  • Each task is represented by a colored bar with a brief description. The color of the bar is determined by the status of the task: green means “finished”, gray “not yet started” and red “overdue”. The links are symbolized by lines between the bars: red lines mean “hard link", gray " Soft Link " 1 .
  • Hard link means that, as is generally the case and described above, the parent task must be completed in order to start the child task
  • soft link means that the termination of the parent task is not mandatory. For example, a beta test can be skipped and therefore linked to other tasks using a soft link.
  • the project manager By clicking on a bar, the project manager can get detailed information about the task selected in this way in the lower part of the screen. He can also immediately switch to the project information tab. Using this tool, the project manager is able to edit, expand and delete tasks, as well as relink tasks. At the same time, the results of this activity are visualized for him to see.
  • the developer view is not only designed for project managers, but also for other users, such as developers.
  • the developers cannot see the entire course of the project. Since each task is assigned to a specific developer, each of them has their own order of tasks. There are four types of tasks:
  • Waiting in this series of tasks are tasks, the parent tasks of which have all been completed and are waiting to be accepted by a user. After accepting such a task, it is shifted into the user's progressive order. In the queue, the tasks are sorted by priority, age (the time from the date on which the task is included in the queue) was sorted until today) and the deadline (the extreme time at which the task must be completed). A user can independently decide which task to take on. But if there are tasks with higher priority, closer deadline or older age in the order, a warning message appears.
  • Each user can be a member of several groups or belong to none at all. Every member of a functional group has the same rights.
  • the rights of members of several groups are the sum of the rights they receive from each individual group.
  • Workbooks consist of several related tasks for different groups or users. Each task contains a number of properties and information about a specific part of a project.
  • Suitable wizards can be created for repeated requirements.
  • special assistant generator software is implemented. B.2.5. analysis
  • An analysis module is available for managers to extract information from users, employees, tasks, times, average times and other statistical material.
  • a special mechanism is implemented, which allows a rollback of the tasks which have been marked as completed, but which are not yet real.
  • the resource management module (Resource Management (RM) Module) is a tool equipped with the corresponding features for client-server resource management with resource time management and project status display.
  • All resources (developer resources, hardware resources etc.) have their own resource form that describes their special properties. These forms are linked to the corresponding user data records in the user database.
  • the properties to be recorded are as follows:
  • time card describes when and how much development time he can devote to a project.
  • a busy time card is automatically generated.
  • a busy time card can also be entered manually. It contains information about the developer's employment plan. The duration of some tasks may change during the development process, after which the schedules will be adjusted accordingly. The season tickets are also automatically modified accordingly. The difference between the data of the availability time card and that of the busy time card results in a human hour resource that is available for other tasks.
  • the project time module is a powerful query tool that enables company managers to determine the current availability and employment times of a resource as well as their previous times in the project. It provides the following filters:
  • the corresponding resources are listed with the associated times (availability, employment, deployment and total times).
  • the individual time module of resource management is a personal work tool that communicates the work status, including the new estimate, to an individual user. It also gives a user an accurate overview of all assigned tasks, even across multiple projects. Basically, it is the same tool as the project time module, only designed for individual purposes.
  • the call is a public invitation to developers to participate in the project. All requirements are offered with a brief description on the tender pages. A number of different tenders can exist at the same time. Developers should signal that they agree to the conditions and want to participate in the project. New offers are disseminated using the web front end, PIM and the Inst ⁇ nt-Mess ⁇ ging module.
  • a reporting system is provided to monitor project progress
  • the user has the option of determining whether appropriate messages should be sent, and if so, the period after which the message should be activated; the latter in percentages based on the duration of the task.
  • success or default messages are forwarded to management. This is possible on several levels, according to the company hierarchy. If necessary, the customer can also be informed in a last step.
  • bindings All components created by a user (documents, source code, compiled modules, notes) are stored in bindings (Heßer).
  • a binding is a collection of components that represents a complete work phase.
  • Draft folders are provided to store components that have not yet been completed. Components within a design folder do not have to be version-related. When the user has finished working on the design, he designates it as the current folder and the binding contained in it so far is swapped out as an archive folder. All bindings are saved in the archive folder in the order in which they were accessed, with the most recently archived binding at the bottom.
  • the current folder contains the latest version of the source code, the compiled modules and the corresponding documentation and notes.
  • ⁇ In the design folder are the components that are currently being worked on. This can be very useful for teamwork.
  • Each binding has the following properties:
  • the web front end is an integrated, visual, web-based application that enables the user (mainly the developer) to interact with the development center, the project manager and the other members of the project team and to obtain all the necessary information. This application also allows the user to save the part of his task that he has completed centrally.
  • the web front end is written in dynamic HTML, using JavaScript and Java, so that the only application required on the client side is a Java-capable browser.
  • the PIM application which includes personal PIM, group functions and instant messaging. There are also interfaces to the Workssow Management System module and to the workplace.
  • Personal PIM group functions instant messaging
  • the workplace is a collection of work results (documents, source codes etc.) that are necessary for the development cycle.
  • the users work with bindings, which represent a software development cycle. Bindings are classified in Current, Archive and Draft according to the rules in the
  • Bindings can include the following sections:
  • Sections can be added, changed and deleted by the administrator using the project management interface. They will typically include the following information:
  • Beta test (results and comments)
  • Implementation (results and comments)
  • a developer has read and write access only to the implementation section.
  • the project manager grants a user limited access to other sections.
  • the developers can download any available file and set the corresponding "Update" flag. This allows the user to receive notifications of updates and changes in documents using the PIM module.
  • the developer also has access to earlier versions of the files if he uses the version control module, he is able to save his files on his rights and privileges appropriate storage places.
  • This interface offers the simple functionality of the following modules: Project planning and management (including workflow management). Managers using WAP are able to see the current status of their project, track events on the critical path and respond to deviations with appropriate adjustments to ensure the continuation of the project.
  • Resource management This part of the WAP application allows managers to easily determine the available resources for specific needs and the status of busy resources, as well as to recognize when they are free for new projects.
  • the developer has a limited WAP version of his WEB front end.
  • the developer is offered the following tools using WAP:
  • the basic PIM functionalities are integrated in the WAP front end together with other parts. Users can:
  • the Internet application in turn has two areas, a public and a security area.
  • the public area is used to receive applications from potential developers and to acquire customers.
  • the security area is used for project development.
  • Every user of the system has his own user name and password.
  • password restrictions There are various options for defining password restrictions: e.g. the password must be at least eight characters long, it must not be used a second time for one year, etc.
  • the password must be changed within a defined period. For security reasons, the first login and the corresponding password are made available to the user via Airmail or Express Mail.
  • Data traffic between the client browser and server is protected by 128-bit encryption.
  • Standard VerySign SSL encryption is used.
  • Personal encryption optionally secures the email traffic that takes place outside the internal messaging system.
  • Login, logout and other security-related actions are logged in a log file.
  • a software firewall can also be installed on the web server to control and limit access.
  • a visual interface is provided to enable system administrators to manage and monitor security-related tasks.
  • WAP security is ensured from the cell phone to the WAP gateway through the GSM network, and the same SSL security is used from the WAP gateway to the web server.
  • the intranet area cannot be accessed from outside. Therefore, the LAN administrator can secure it at the LAN level according to the platform used. d. PIM (Personal Information Manager)
  • the PIM overview contains the most important entries of the day: current appointments, tasks, contacts and workflow entries. It is the entry page to the PIM. All information is presented in list form.
  • the PIM calendar module offers a calendar with different modes and special functions: data entry mask and data output mask. There are four different views to choose from:
  • the appointments can be displayed by category (e.g. only private appointments).
  • Each task can be entered with a priority.
  • the category is selected using a dropdown box.
  • the Personal PIM module already contains core elements of project planning (task / status overview in the form of a status bar)
  • the users create the same categories for projects or key accounts (eg category "Payment Module (Java)".
  • the group formed in this way could be a team of 17 developers and the project manager, who could now interact with each other under this category).
  • the entries In this category, all users involved in this project will be mutually accessible, so that everyone is informed about their own project status and that of their colleagues, so that they can intervene, for example, in the event of a delay Project with tasks with high priority
  • the project progress bars for each task which are maintained by the person responsible for this task, are in two colors.
  • the red bar indicates the absolute progress of the individual task.
  • the yellow bar shows the task progress compared to the previous day.
  • the management level sees the overall overview of the project and only intervenes if delays or deadlines are exceeded. The exceeding of deadlines in the individual tasks is also indicated in the overall overview for the management level with a flashing button in the delayed task.
  • the management level also sees the schedule entries of the employees involved in the project and can view vacation times and sick reports via the event entries and react if necessary. If there is a need for action Contact via instant messaging directly with all employees who are online possible.
  • All registered users can set up new groups.
  • the user who created the group is automatically the group administrator, who can perform the following functions:
  • the group administrator invites the user to the group. Thereupon a message appears in the staff PIM of the invited user that he has been invited to the group. If the user agrees to the invitation, he is entered in the group as a member and a category "group name" is created in his Personal PIM, under which the group data is displayed.
  • the user applies for group membership.
  • the group administrator receives a message and decides whether the user is granted membership.
  • the user can switch between private and group view.
  • Group functions in private view :
  • Group contacts are also displayed in the private view "J ontakte” under the category “Group name”.
  • Group notes are also displayed in the private view, -Not / zen “under the category” Group name ".
  • the module is implemented as a Windows application and can be accessed directly from the TaskBar.
  • Double-clicking the IM icon opens the IM window.
  • the first view should give an overview of who is currently online:
  • blackboard is integrated into the community.
  • the blackboard is equipped with the "Search / Offer" function. This makes the system suitable for classified ads.
  • the search is based on Boolean rules and full text.
  • Discussions can be made via forums. Requests, questions, suggestions can be taken up and dealt with.
  • the forums are provided with the rating system. After reading the post, the user can rate the post with points: from "helped me a lot" to "is very bad". The user has the option of searching the discussion forums and sorting the search results by rating points.
  • the assessment module is a tool that allows objective criteria to be used to determine intellectual, organizational, and other skills and abilities of developers.
  • the results of the evaluation module will be used for employment in future projects.
  • an overall assessment takes place for each developer as well as the consideration of a waiting time factor.
  • Frequency of errors during the beta test Each criterion is assessed by different teams and departments in our company. The frequency of errors during the alpha test, for example, is assessed by the test department, the user manual by the documentation team, etc.
  • each criterion can vary from task to task. For this reason, the project manager is given the opportunity, depending on the degree of difficulty of the project, the time available, the importance of the documentation, etc., to weight each of these criteria in the form of a percentage. A weighting applies to all developers who work on the corresponding task. This eliminates the so-called "human factor" when evaluating different developers.
  • the overall rating is the weighted average of all ratings. It is calculated for each developer after each task is performed, based on the weight assigned by the project manager and the evaluation of the relevant departments and teams.
  • the waiting time factor is a criterion for determining how long highly qualified developers have not been considered when assigning new tasks. This category is designed to stimulate developers who have been waiting for a task for a long time and have similar qualifications to others who have recently been hired by giving them priority for subsequent tasks.
  • the waiting time factor depends on the non-employment times, the employment rate (employment time / availability time), the time of the completion of the last task etc.
  • the task evaluation takes place after the completion of each task.
  • the average of all task evaluations is one of the most important factors in developer evaluation, in addition to communication skills, cooperation times, etc. E.1.4. Review card database
  • a rating card is a collection of developer rating records for all tasks and overall ratings from different periods.
  • the evaluation card database contains the evaluations of all developers. The information in this database is available to the resource management module when a query for suitable candidates for a new project is requested.
  • a special query tool for direct queries in the evaluation card database is also available. Individual developers can view their own rating card and compare it with the company's average rating.
  • Order requests can be recorded on a page on the Internet.
  • the customer can enter his or her wishes regarding the applications to be developed as well as their related price expectations.
  • the recorded application inquiries can be evaluated using a search function in the know-how database.
  • the documentation of previous projects searches for routines similar to those in the desired programs with any combination of search terms.
  • ORACLE SQL server It is planned to use an ORACLE SQL server as the database platform.
  • the applications access the database via ODBC, ADO and JDBC interfaces. Since a special database access layer is installed between the applications themselves and the database, it will be easy to switch to other databases with ODBC and JDBC interfaces in the future.
  • the database hardware platform has no critical requirements; it is configured based on the expected volume of data and transactions.
  • the other server-side modules are implemented in Java and C ++. Most of them are platform independent.
  • An example is the chat server of the group module, which is implemented in Java and for communication with other parts of the application using XML and TCP / IP.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren, eine Einrichtung und ein Computerprogramm zur Softwareentwicklung, bei der ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwikkelt wird. Um eine Automatisierung des Entwicklungsprozesses zu erreichen, wird vorgeschlagen, von einer zentralen Projektstelle über ein Kommunikationsnetz das Projekt bzw. Komponenten hiervon an Software-Entwickler auszuschreiben und Entwicklerbewerber auszuwählen. Ausgewählte Entwickler können auch direkt beauftragt werden oder einen Zugang zum Abrufen der jeweiligen Komponenten erhalten. Verschiedene Module und Systeme der Einrichtung sorgen für eine weitgehend automatische Projektabwicklung.

Description

Verfahren und Einrichtung zur Software-Entwicklung
Die Erfindung betrifft ein Verfahren zur Softwareentwicklung, bei dem ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird. Die Erfindung entspricht' weiterhin eine entsprechende Einrichtung sowie ein Computerpro- gra m zur Implementierung des Verfahrens .
Zur Realisierung von Softwareprojekten jeglicher Art ist es zweckmäßig, das Projekt in ein oder mehrere Komponenten aufzuteilen, zu denen jeweils eigene Software-Teillösungen entwikkelt werden können. Diese Teillösungen werden anschließend zur GesamtSoftware zusammengefügt. Häufig sind die Teillösungen zu einzelnen Komponenten des Projektes bereits bekannt und als Routinen gespeichert und verfügbar. Es ist dann möglich, sich auf die Entwicklung einzelner Teillösungen zu konzentrieren und diese mit bereits vorliegenden Softwareroutinen zu verknüpfen.
Da die zu realisierenden Softwareprojekte meist sehr umfassend, komplex strukturiert und somit sehr umfangreich sind, gestaltet sich die manuelle Aufteilung eines derartigen Projektes in einzelne Komponenten sowie das Suchen nach bekannten Teillösungen sehr aufwändig. Für die zu entwickelnden Teillösungen steht häufig das erforderliche Know-How im eigenen Haus nicht zur Verfügung, so dass extern nach Lösungen gesucht werden muss. Dies wiederum hat den Nachteil, dass beauftragte Su- bunternehmen (externe Entwickler) nicht über die erforderliche Entwicklungsumgebung verfügen. Außerdem gestaltet sich die Überwachung des Projektablaufs schwieriger. Aufgabe vorliegender Erfindung ist daher ein Verfahren und eine Einrichtung zur Software-Entwicklung zur Verfügung zu stellen, durch die Softwareprojekte jeglicher Art weitestgehend automatisch zu realisieren sind, insbesondere sollen Module und Systeme bereitgestellt werden, die einzelne Schritte der Software-Entwicklung automatisieren.
Diese Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst, vorteilhafte Weitergestaltung ergeben sich aus den jeweiligen Unteransprüchen und der nachfolgenden Beschreibung.
Beim erfindungsgemäßen Verfahren werden von einer zentralen Projektstelle über ein Kommunikationsnetz Anforderungen zur Entwicklung der Software-Teillösungen zu den Komponenten eines Projekts und eventuell eine Beschreibung der jeweiligen Komponente und/oder des Projektes Entwicklern, zur Verfügung gestellt, die sich daraufhin bewerben könne, wobei unter mehreren Bewerbern zur Entwicklung derselben Software-Teillösung zumindest ein Entwickler nach Auswahlkriterien ausgewählt wird.
Die Entwickler können interne oder externe Programmierer oder Softwareunternehmen sein. Beliebige Entwickler, die an das Kommunikationsnetz angeschlossen sind, kommen für die Realisierung des Projektes in Frage. Als Kommunikationsnetz kann das Internet, ein Intranet oder Extranet, verwendet werden, wobei innerhalb des Kommunikationsnetzes auch mit drahtloser Datenübertragung gearbeitet werden kann. Letztere bietet sich insbesondere an, um mobilen Entwicklern Zugang zum Kommunikationsnetz zu ermöglichen. Ein Intranet dient zur internen Vernetzung eines Unternehmens, während ein Extranet ein erweitertes Intranet darstellt, bei dem auch externe Teilnehmer mit Zugangsberechtigung und mehrere voneinander getrennte Netze im Intranet-Verbund arbeiten. Die externen Netze sind über das Internet miteinander verbunden. Dies ermöglicht eine Online- Kommunikation zu Geschäftspartnern über das Internet mittels Zugangsberechtigungen zum jeweiligen Extranet.
Die Erfindung nutzt derartige Kommunikationsnetze, um Komponenten eines Projektes auszuschreiben, so dass es Entwicklern ermöglicht wird, Einblick in die Anforderungen zur Software- Entwicklung und/oder in eine Projektbeschreibung zu nehmen und sich daraufhin zu bewerben. Hierbei kann es sinnvoll und. notwendig sein, eine Vorauswahl an Entwicklern zu treffen, denen dann ein Zugang zu der Ausschreibung gewährt wird. Bewerben sich mehrere Entwickler auf ein Teilprojekt, wird anhand vorher angelegter Auswahlkriterien ein Entwickler bestimmt .
Andererseits ist es auch möglich, bevorzugte Entwickler direkt über das Kommunikationsnetz zu adressieren, indem ihnen ein Angebot unterbreitet oder gleich die zu entwickelnden Komponenten zur Verfügung gestellt werden.
Denjenigen Entwicklern, die zur Projektrealisierung bestimmt worden sind, werden über das Kommunikationsnetz die jeweiligen Komponenten/Teilaufträge übermittelt, indem die Entwickler direkt adressiert werden oder diesen ein Zugang zum Abrufen der Komponenten zur Verfügung gestellt wird. Nach Fertigstellung der entwickelten Software-Teillösungen werden diese wiederum über ein Kommunikationsnetz an die zentrale Projektstelle übertragen, wo sie zu einer das Projekt realisierenden Gesamtsoftware zusammengefügt werden.
Das Projekt seinerseits kann über ein Kommunikationsnetz der zentralen Projektstelle übermittelt werden. Diese tritt dem Kunden oder Auftraggeber dann als Generalunternehmer auf . Dieser überwacht das Projekt, verteilt Aufträge an interne und externe Entwickler und ist für das Abliefern einer qualitativ einwandfreien Softwarelösung verantwortlich. Die Erfindung ermöglicht eine nahezu vollständige Automatisierung dieser Vorgänge .
Es ist vorteilhaft, zu einzelnen Entwicklern Beurteilungskriterien zu speichern und diese zur automatischen Auswahl von Entwicklern für ein Projekt oder dessen Komponenten zu verwenden. Als Beurteilungskriterien kommen insbesondere Preis, Qualität und Schnelligkeit der vom Entwickler geleisteten Arbeit sowie seine zeitliche Verfügbarkeit in Frage.
Nach Auswahl eines Entwicklers für ein Projekt kann dieser automatisch für eine bestimmte Zeitdauer von weiteren Projekten gesperrt werden. Andererseits kann es einem Entwickler auch ermöglicht werden, sich selbst für eine bestimmt Zeitdauer von Projektangeboten zu sperren. Der für eine Ausschreibung oder für ein direktes Angebot in Frage kommende Entwickler ist dann automatisch für die von ihm bestimmte Zeitdauer ausgeschlossen.
Weiter ist es vorteilhaft, bei Bedarf dem für das Projekt angenommenen Entwickler die erforderliche Entwicklungsumgebung zur Verfügung zu stellen. Jedoch wird insgesamt eine Plattform- und herstellerunabhängige Software-Entwicklung gewährleistet .
Zur Projektüberwachung können Rückmeldeintervalle festgelegt werden, innerhalb derer sich ein für das Projekt angenommener Entwickler mit der zentralen Pro ektstelle in Verbindung setzen muss. Sollte dies nicht der Fall sein, geht bspw. eine E- mail-und/oder SMS-Nachricht an den jeweiligen Entwickler mit der Aufforderung, sich mit der zentralen Projektstelle in Verbindung zu setzen und dieser bisher fertiggestellte Teillösungen zu übermitteln. Hierdurch kann dann der Zeitplan für das Projekt überwacht und evtl. korrigiert werden sowie Intervall- weise eine Qualitätsüberwachung der bis dato fertiggestellten Teillösungen erfolgen. Außerdem kann vorgesehen sein, bei Mängel (zeitlicher Rahmen überschritten/Qualität nicht einwandfrei) eine entsprechende (E-mail) Nachricht an den in der zentralen Projektstelle zuständigen Projektmanager (automatisch) zu schicken, der dann weiter Schritte unternimmt.
Zur weiteren Automatisierung des Projektablaufs ist es vorteilhaft, zur Entgegennahme des Auftrags durch die zentrale Projektstelle eine vorbestimmte Eingabemaske vorzusehen, . über die der Auftraggeber sämtliche Projektdaten der zentralen Projektstelle mitteilt. Durch Abgleich mit in einer Datenbank gespeicherten Daten kann dann das in der Eingabemaske beschriebene Projekt automatisch kategorisiert und in einzelne Komponenten zerlegt werden. Insbesondere ist es dann möglich, Software-Lösungen oder Software-Teillösungen für das Projekt bzw. seine Komponenten zu ermitteln. Für noch zu entwickelnde Software-Teillösungen werden dann, wie bereits beschrieben, Teilaufträge an Entwickler vergeben.
Um während des Projektablaufs absolute Vertraulichkeit garantieren zu können, ist eine verschlüsselte Datenübertragung von Vorteil .
Im Folgenden soll eine erfindungsgemäße Einrichtung zur Softwareentwicklung beschrieben werden, die den oben dargestellten Projektablauf ermöglicht.
Die erfindungsgemäße Einrichtung^-weist ein AusSchreibungsmodul auf, das über ein Kommunikationsnetz Anforderungen zur Entwicklung einer Software-Teillösung sowie evtl . zusätzlich eine Beschreibung des Projektes oder der jeweiligen Komponente dem betreffenden Entwickler zur Verfügung stellt, wobei die Möglichkeit eine Rückmeldung eines Entwicklers bei Interesse an der Teilnahme am Projekt vorgesehen ist. Die Ausschreibung ist eine öffentliche Einladung an Entwickler, am Projekt teilzunehmen. Alle Anforderungen werden evtl. mit einer kurzen Beschreibung auf vom Ausschreibungsmodul generierten Ausschreibungs-Pages angeboten. Eine Anzahl verschiedener Ausschreibungen können gleichzeitig existieren. Entwickler sollen signalisieren, dass sie mit den Bedingungen einverstanden sind und am Projekt teilnehmen wollen. Neue Angebote können mittels dem weiter unten beschriebenen Web-Front-End, PIM (Personal Information Manager) und dem Instant-Messaging-Modul verbreitet werden.
Vorteilhaft ist ein Auswahlmodul, das aus Rückmeldungen zu einem Projekt bzw. einzelnen Komponenten des Projekts automatisch eine Auswahl von Entwicklern vornimmt. Diese Auswahl erfolgt mittels zu einzelnen Entwicklern in einer Datenbank abgelegten Beurteilungskriterien. Die ausgewählten Kandidaten werden (automatisch) vom Projektmanager der zentralen Projektstelle informiert. Eine solche Einrichtung erlaubt folglich ein vollautomatisches Ausschreibungs- und Auswahlverfahren.
In einer weiteren oder anderen Ausgestaltung weist die erfindungsgemäße Einrichtung ein Projektmanagement-Modul auf, das den über das oben beschriebene Ausschreibungs- und Auswahlverfahren oder anderweitig ausgewählten Entwicklern einzelne Komponenten, zu denen jeweils eine Software-Teillösung zu entwik- keln ist, über ein Kommunikationsnetz anbietet, indem das Modul die zugehörigen Aufgaben direkt an den Entwickler überträgt oder mittels einer Entwickleransicht einen Zugang zur Entgegennahme der zugehörigen Aufgaben durch den Entwickler herstellt.
Für dieses Projektmanagement-Modul ist eine einfach zu bedienende graphische Web-Oberfläche (GUI, Graphic User Interface) vorteilhaft, die es dem jeweilige Anwender erlaubt, Projekte schnell und einfach am Bildschirm darzustellen (Projektvisua- lisierer) . In einer sogenannten Entwickleransicht können dann die einem bestimmten Entwickler zugewiesenen Aufgaben mit entsprechenden Zusatzinformationen dargestellt werden. Hierbei kann zwischen Aufgaben, an denen der Entwickler zur Zeit arbeitet, bereits fertiggestellten Aufgaben sowie demnächst zu erledigenden Aufgaben unterschieden werden.
In einer weiteren oder anderen Ausgestaltung der erfindungsgemäßen Einrichtung weist diese ein Projektmanagement-Modul ' auf, das in einem Projektordner die Eigenschaften eines Projektes und in automatisch generierten Arbeitsmappen die verschiedenen Aufgaben, die zur Erstellung jeweils einer Software-Teillösung zu einer Komponente des Projektes anfallen, enthält. Ein Projektordner enthält Informationen über ein bestimmtes Projekt oder eine seiner Komponenten, wie eine Kurzbezeichnung, einer Beschreibung, Informationen zur Priorität und zum Status, den Projekttyp, den Projektmanager, den Kunden, die Deadline und weitere Kommentare und Zusatzdaten wie Kostenkalkulation.
Die automatisch generierten Arbeitsmappen bestehen aus mehreren verbundenen Aufgaben für verschiedene Gruppen oder Anwender (Projektmanager, Entwickler) . Jede Aufgabe beinhaltet eine Anzahl von Eigenschaften und Informationen über einen bestimmten Teil eines Projektes, wie z.B. Bezeichnung, Beschreibung, Priorität, Erstellungsdatum, Name des Erstellers, Deadline, Prozentangabe des bereits ausgeführten Teils, verknüpfte Dokumente, Zugriffsrechte und ähnliches.
Das Projektmanagement-Modul kann hierbei einen Komponenten- und/oder Aufgabengenerator, auch Assistent genannt, aufweisen, der ein Projekt in verschiedene Komponenten und diese evtl. in weitere Aufgaben aufteilt, wobei dieser mittels einer Datenbank mit Suchfunktionen überprüft, ob zu gleichen oder ähnli- chen Projekten bzw. deren Komponenten bzw. deren Aufgaben bereits Softwarelösungen vorhanden sind.
Die Assistenten können bspw. auf Informationen einer Eingabenmaske zugreifen, in die eine Projektbeschreibung eingegeben worden ist. Es folgt dann eine automatische Aufteilung des Projektes in einzelne Komponenten, die ihrerseits wiederum in verschiedene Aufgaben unterteilt werden können. Unter den Aufgaben kann wiederum zwischen Eltern- und Kindaufgaben unterschieden werden, wobei Kindaufgaben erst ausgeführt werden können, nachdem deren Elternaufgabe beendet ist. Die automatische Erstellung von Arbeitsmappen erspart erheblich Zeit bei der Pro ektabwicklung.
Es ist vorteilhaft, wenn das Projektmanagement-Modul einen Projektvisualisierer aufweist, der einer zentralen Projektstelle, Informationen, insbesondere zu dessen einzelnen Aufgaben sowie zum jeweiligen Arbeitsstand, zur Verfügung stellt. Der zuständige Projektmanager kann dann das Projekt (bereits fertiggestellte und noch fertigzustellende Aufgaben) in bestimmten Zeitansichten betrachten, und zu ausgewählten Aufgaben detaillierte Informationen erhalten. Im Gegensatz zum Projektvisualisierer ist die bereits erwähnte Entwickleransicht nicht nur für Projektmanager konzipiert, sondern auch für andere Anwender, wie Entwickler. Die Entwickler können nicht den gesamten Projektverlauf sehen, sondern nur die ihnen zugeordnete Komponente mit den entsprechenden Aufgaben. Für wiederholte Anforderungen können passenden Assistenten erzeugt wer- r den. Um es Firmen zu ermöglichen, eigene Assistenten zu generieren, wird eine spezielle Assitenten-Generator-Software implementiert .
Ein Analyse-Modul steht für Projektmanager zur Verfügung, um Informationen von Anwendern, Angestellten, Aufgaben, Zeiten, Durchschnittszeiten und anderes statistisches Material zu extrahieren.
Es kann ein spezieller Mechanismus implementiert sein, welcher es erlaubt, ein Rollback der Aufgaben zu fahren, welche als vollendet markiert wurden, dies aber noch nicht wirklich sind.
Für jede Aufgabe kann eine Anzahl von zusätzlichen Dokumenten angehängt werden. Autorisierte Anwender haben in diese Einblick und können sie ändern und sichern. Dieses Feature kann als Client-Server-Lösung unter Verwendung einer Web-Browser- Umgebung implementiert sein.
In einer weiteren oder einer anderen Ausgestaltung besitzt die erfindungsgemäße Einrichtung eine Ressourcenverwaltungs-Modul, das Ressourcen, auf die bei der Software- Entwicklung durch eine zentrale Projektstelle zugegriffen werden kann, mittels einer oder mehrerer Datenbanken verwaltet, auf die weiteren Module zugreifen.
Das Ressourcenverwaltungs-Modul (Ressource Management (RM) RM- Module) ist ein mit den entsprechenden Merkmalen ausgestattetes Werkzeug zum Client-Server-Ressourcen-Management mit Res- sourcenzeitenverwaltung und Projektstatusanzeige.
Dieses Modul arbeitet mit einer Ressourcen-Datenbank. Alle Ressourcen (Entwickler-Ressourcen, Hardware-Ressourcen, Software-Ressourcen etc.) besitzen ihr eigenes Ressourcenformular, das ihre speziellen Eigenschaften beschreibt. Diese Formulare sind zweckmäßig mit den entsprechenden Anwenderdatensätzen in einer Anwenderdatenbank verknüpft. Die zu erfassenden Eigenschaften sind folgende:
Name, Beschreibung, Angabe der Anwenderdatenbank Typ und Klassifikation (Entwickler, Projektmanager, Software- Tester etc . )
Berufliche Fähigkeiten in Abhängigkeit verschiedener Kriterien
Angaben über Bewertung und Einstufung.
Neben der Ressourcen-Datenbank ist eine Zeitkartendatenbank von Vorteil, in der die zur Verfügung stehenden Menschstunden, insbesondere der Entwickler, abgelegt sind. Über diese Zeitkarten kann eine Sperre eines Entwicklers über einen bestimmten Zeitraum festgestellt werden, wenn sich ein Entwickler selbst gesperrt hat oder aufgrund seiner Tätigkeit für ein Projekt für eine bestimmte Zeitdauer gesperrt wurde. In derartigem (Busy) Zeitkarten sind Informationen über den Beschäftigungsplan eines Entwicklers enthalten. Diese Zeitkarten können automatisch generiert werden, wenn ein Entwickler für ein bestimmtes Projekt ausgewählt wurde. Hierbei ist es zweckmäßig, die Zeitkarten während des Software-Entwicklungsprozesses (Projektablaufes) bei sich ändernden Zeitplänen automatisch anzupassen.
Ein mächtiges Abfrage-Tool kann durch ein Projektzeiten-Modul innerhalb des Ressourcenverwaltungs-Moduls geschaffen werden, das es der zentralen Projektstelle ermöglicht, die momentanen Verfügbarkeits- und Beschäftigungszeiten einer bestimmten Ressource sowie deren bisherige Einsatzzeit im Projekt zu eruieren. Für die entsprechenden Abfragen können verschiedene Filter zur Verfügung gestellt werden.
Enthält die erfindungsgemäße Einrichtung das bereits oben erwähnte Ausschreibungs-Modul, ist es sinnvoll, dieses mit der Ressourcen-Datenbank derart zu verbinden, dass eine Ausschreibung an Entwickler zur Teilnahme an dem Projekt automatisch immer dann stattfindet, wenn in der Ressourcen-Datenbank keine passenden, verfügbaren Ressourcen zu allen Komponenten eines Projektes vorhanden sind.
Weitere mögliche Module innerhalb des Ressourcen- Verwaltungsmoduls, wie das Einzelzeiten-Modul oder die Möglichkeit der Ressourcenreservierung, sind in einem Ausfüh- runbgsbeispiel weiter unten ausführlich beschrieben.
Vorteilhaft ist die Erfassung von Entwicklerbewerbungen mittels einer Bewerber-Datenbank, in der Daten über Entwicklerbewerber abgelegt sind, wobei die Daten zumindest teilweise einem über ein Kommunikationsnetz von einem Entwicklerbewerber eingegebenen Bewerberprofil entnommen werden können. Relevante Bewerbungen werden in die Ressourcendatenbank mit aufgenommen.
Sinnvolle Zusatzsysteme zur erfindungsgemäßen Einrichtung sind ein Reportingsystem sowie ein Dokumentenmanager-System.
Ein Reporting-System verwendet bei erfolgreicher Beendigung einer Aufgabe oder aber bei Verzug eine entsprechende Nachricht an die zentrale Projektstelle, den jeweiligen Projektmanager und/oder den betreffenden Entwickler. Hierdurch wird eine bessere Überwachung des Projektfortschrittes ermöglicht.
Über ein Dokumentenmanager-System kann ein am Projekt beteiligter Entwickler erstellte Dokumente mit etwaigen Zusatzinformationen abspeichern. Hierbei ist es zweckmäßig, verschiedene Ordner vorzusehen, um fertiggestellte Abschnitte oder Entwürfe einer Software-Teillösung eines Entwicklers einschließlich der zugehörigen Dokumentation zu speichern. Dies ermöglicht eine Versionskontrolle aller von einem Entwickler erstellten Arbeiten (Dokumente, Quellcode, compilierte Module, Notizen) . Weiterhin ist ein Qualitätskontroll-System von Vorteil, dass eine von einem Entwickler übermittelte Software-Teillösung oder Abschnitte einer solchen Lösung einer automatischen Qualitätskontrolle unterzieht. So kann bspw. der Quellcode nach bestimmten Quellcode-abhängigen Kriterien (bspw. „Go to"- Befehle, mangelhafte oder fehlerhafte Dokumentation...) gescannt werden und einzelne Software-Routinen auf einwandfreie Funktion hin getestet werden, so dass Aussagen zur Qualität getroffen werden können. Darüber hinaus können automatische Kontrollmitteilungen an den jeweiligen Projektmanager und/oder Entwickler generiert werden, die Aussagen über die Qualität des abgelieferten Produktes und über etwaige zu treffende Maßnahmen enthalten.
Für den Fall, dass die zentrale Projektstelle selbst Auftragsempfänger ist, ist es vorteilhaft, wenn die erfindungsgemäße Einrichtung ein Modul zur Auftragsentgegennahme vorsieht, das eine Auftragsmaske enthält, über die von einem Auftraggeber ein Projekt an die zentrale Stelle über ein Kommunikationsnetz übermittelt werden kann. Durch eine solche Eingabemaske für ein Projekt wird die bereits oben beschriebene automatisierte Kategorisierung und Aufteilung eines Projekts in verschiedene Komponenten und Aufgaben erleichtert .
Um einen mobilen Einsatz von am Projekt beteiligten Personen, wie Projektmanager und Entwickler, zu unterstützen, ist es sinnvoll, eine Schnittstelle zur drahtlosen Datenübertragung (bspw. WAP-Schnittstelle) vorzusehen. Hierdurch werden insbesondere sofortige Reaktionen bei zeitkritischen Aktivitäten möglich. Der Datenaustausch erfolgt dann über entsprechend eingerichtete Sender/Empfänger (WAP-Front-End) . Es ist sinnvoll, für Pro ektmanager und Entwickler verschiedene WAP- Front-Ends zur Verfügung zu stellen. Ausführliche Beispiele hierzu sind im Ausführungsbeispiel enthalten. Um die Sicherheit der Datenübertragung während der gesamten Projektabwicklung zu gewährleisten, sollte ein Verschlüsselungs-System vorgesehen sein, das den Datenverkehr bspw. mit einer Standard-SSL-Verschlüsselung für Außenstehende unlesbar macht. Daneben können passwortgeschützte Zugangsberechtigungen sowie Protokolle der getätigten Logins und Logouts implementiert sein.
Die Erfindung betrifft schließlich ein Computerprogramm mit Programmcode-Mitteln, um alle Schritte des erfindungsgemäßen Verfahrens zur Software-Entwicklung durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Rechnereinheit ausgeführt wird. Ein derartiges Computerprogramm kann dann auch die beschriebene erfindungsgemäße Einrichtung steuern und für die jeweiligen Anwender auf entsprechenden Endgeräten zur Ansicht bringen.
Das Computerprogramm oder Teile hiervon können auf geeigneten Datenträgern, wie EEPROMs, Flash-Memories aber auch CD-ROMs, Disketten, Festplattenlaufwerken, aber auch auf einem externen Server gespeichert sein.
Im folgenden soll ein Ausführungsbeispiel die Erfindung und ihre Vorteile anhand der beigefügten Figuren näher erläutern.
Figur 1 zeigt eine schematische Darstellung einer Projektvisualisierung.
Figur 2 zeigt eine Darstellung des Ressourcen-Managements.
Figur 3 zeigt ein Beispiel für die Versionskontrolle durch das Dokumentenmanager-System.
Figur 4 zeigt ein Beispiel für ein Bewertungssystem. Figur 5 gibt einen Überblick über die Software- und Hardware-Plattformen, die Verwendung finden können.
Selbstverständlich sind die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Ausführunαsbeispiel Inhaltsverzeichnis
a. Vorwort b. Projekt Management System b.l. Projektplanung mit Nisualisierungsmöglichkeiten b.1.1. Projektordner b.l.2. Aufgäben b.l.3. Projektvisualisierer b.l.4. Entwickleransicht b.2. Grundfunktionalität (Workflow Management) b.2.1. Gruppen und Anwender b.2.2. Aufgaben und Arbeitsmappen b.2.3. Assistenten b.2.4. Assistenten-Generatoren b.2.5. Analyse b.2.6. Rollback b.2.7. Dokumente b.3. Ressourcen-Verwaltung b.3.1. Ressourcen-Datenbank b.3.2. Zeitkarten-Datenbank b.3.3. Projektzeiten-Modul b.3.4. Einzelzeiten-Modul b.3.5. Reservierung b.3.6. Ausschreibung b.3.7. Entwicklerbewerbungserfassung b.4. Reportingsystem c. Dokumentenmanagement c.l. Versionskontrolle c.2. Web-Front-End c.3. WAP-Front-End c.3.1. WAP M (Management) c.3.2. WAP D (Development) c.3.3. WAP-PIM c.4. Sicherheit: Verschlüsselung der Kommunikation
d. PIM d.i. Personal PIM d.2. Gruppenfunktionen d.3. WAP d.4. Instant Messaging d.5. Internet Community d.5.1. Foren d.5.2. Hotline e. Add-on Modules e.l. Bewertungsmodul e.1.1. Fertigkeiten und Fähigkeiten e.l.2. Wartezeitenfaktor e.l.3. Entwicklerbewertung e.1.4. Bewertungskarten-Datenbank e.2. Auftragsanfragenerfassung e.3. Knowhow-Datenbank e.4. Schnittstellen zu Rechnungswesenmodulen f. Plattform f.l. DB-Plattform f.2. Web-Plattform f.3. Sonstige serverseitige Module f.4. Client-Seite
a. Vorwort
Im Folgenden findet sich eine kurze Beschreibung der „PROJECTSOFT"-Lösung mit einer knappen Darstellung aller darin verwendeten Module, Bemerkungen zur Hardware- und Software-Plattform, wobei die Figuren das Verständnis des Textes erleichtern sollen. Die „PROJEKTSOFT'-Lösung stellt hierbei ein Ausführungsbeispiel der oben beschriebenen Erfindung dar.
b. Proiect-Manaqement-Svstem
Projektmanagement mit Visualisierungsmöglichkeiten
(Figur 1)
Das Projektmanagement-Modul ist eine auf dem Web basierende Planungs-Softwarelösung, welches Multiprojekttechniken für größere Unternehmen unterstützt. Es ermöglicht dem Unternehmen, verteilte und in Zeitphasen beanspruchte Ressourcen zu managen und zu konsolidieren, so dass Maßnahmen im Sinne des strategischen Hauptziels ergriffen werden können. Das Projektmanagement-Modul hat eine einfach zu bedienende grafische Web-Oberfäche (GUI, Graphic User Interface), die es dem Anwender erlaubt, Projekte schnell und einfach am Bildschirm zu erzeugen. Die Daten werden in Balkendiagrammform ein- und ausgegeben.
b.1.1 PiOjektordner
Projektordner (Project Folder) sind Ordner mit Aufgaben eines bestimmten Projekts oder einem Teil eines Projekts. Jedes Projekt hat folgende Grundeigenschaften:
Kurzbezeichnung
Beschreibung
Priorität
Status o Nicht genehmigt o Genehmigt o In Arbeit o Gestoppt o Abgebrochen o Beendet
Typ o Software-Entwicklung o Software-Änderung o Forschung o Etc.
Autor (bezugnehmend auf den Anwender, der das Projekt erstellt hat)
Projektmanager
Kunde (bezugnehmend auf den Client-Datensatz)
Deadline
Kommentar
Jedem Projekt kann eine Anzahl von Dokumenten angehängt werden, wie z.B. Projektbeschreibung oder Kostenkalkulation.
In der Projektansicht kann der Anwender eine Liste aller ihm zugeteilten Projekte betrachten. Die Projekte können nach verschiedenen Kriterien gefiltert werden. Der Anwender kann Projekte höherer Priorität herausfiltern, deren Deadlines innerhalb des nächsten Monats liegen.
Von dieser Ansicht aus kann der Anwender ein Projekt manuell oder mittels Projektassistent (vgl. weiter unten) erstellen, es editieren oder nur öffnen.
b.1.2. Aufgaben
Jedes Projekt beinhaltet Aufgaben, die beendet sein müssen, um am Projekt erfolgreich weiterarbeiten zu können. Jede Aufgabe ist Teil einer Struktur, in welcher die Aufgaben miteinander verknüpft sind. Dies bedeutet näher, dass auf der höchsten Ebene des Projekts eine beliebige Anzahl von Aufgaben liegen können, von denen jede einzelne Kindaufgaben (Aufgaben, die erst ausgeführt werden können, nachdem die Elternaufgabe beendet ist) besitzen kann. Eine bestimmte Kindaufgabe kann auch Kind von mehr als einer Aufgabe sein. D.h., die entsprechenden Elternaufgaben müssen alle vollständig beendet sein, um mit deren Ausführung beginnen zu können. Die Struktur des Ganzen stellt sich wie folgt dar:
Figure imgf000018_0001
Im obigen Beispiel sieht die Ausführungsreihenfolge wie folgt aus: • Start von Aufgabel
• Wenn Aufgabel beendet ist o Start von Aufgabe2 o Start von Aufgabe3
Wenn Aufgabe3 beendet ist, warten auf Beendigung von Aufgabe5
Wenn Aufgabeδ beendet ist, Start von Aufgabeβ
• Start von Aufgabe4
• Wenn Aufgabe4 beendet ist o Start von Aufgabe5
Wenn Aufgabe5 beendet ist, warten auf Beendigung von Auf- gabe3
Wenn Aufgabe3 beendet ist, Start von Aufgabeβ
Jede Aufgabe beinhaltet folgende Grundinformationen:
Bezeichnung
Beschreibung
Priorität
Erstellungsdatum
Name des Erstellers
Deadline-Datum
Ausgeführt (Prozentangabe des bereits ausgeführten Teils)
Verknüpfte Dokumente (Word, Excel etc.)
Zugriffsrechte / Sicherheitsinfos
Feedback (wem muss ein Report bei Beendigung der Aufgabe zugesandt werden)
Verknüpfungen mit abhängigen Aufgaben
Status
Für: (Anwender, dem die Aufgabe zugeteilt wurde)
Entgegennahme: (Anwender, der die Aufgabe angenommen hat)
b.1.3. Projektvisual isierer
Der in Figur 1 dargestellte Projektvisualisierer stellt eine komfortable Ansicht für Projektmanager zur Verfügung, um Aufgaben zu betrachten, den Status des Projekts zu überprüfen und um geeignete Änderungen bei Bedarf vornehmen zu können. Bei Verwendung dieses Tools ist es möglich, die Projektzeit in Tages-, Wochen- und Monatsansichten zu betrachten sowie in selbst definierten Zeitspannen. Jede Aufgabe wird durch einen farbigen Balken mit Kurzbeschreibung dargestellt. Die Farbe des Balkens wird durch den Status der Aufgabe bestimmt: grün bedeutet „beendet", grau „noch nicht begonnen" und rot „überfällig". Die Verknüpfungen werden mittels Linien zwischen den Balken symbolisiert: rote Linien bedeuten „Hard Link", graue „Soft Link"1.
Es gibt zwei Arten von Aufgabenverknüpfungen: Hard-Llnk und Soft-Link. Hard-Link bedeutet, dass, wie im allgemeinen üblich und oben beschrieben, die Elternaufgabe beendet sein muss, um mit der Kindaufgabe zu beginnen, Soft-Link dagegen, dass die Beendigung der Elternaufgabe nicht zwingend vorgeschrieben ist. Ein Beta-Test kann z.B. übersprungen werden und daher mittels Soft-Link mit anderen Aufgaben verknüpft werden. Durch Anklicken eines Balkens kann der Projektmanager detaillierte Informationen über die auf diese Weise ausgewählte Aufgabe im unteren Teil des Bildschirms bekommen. Er kann ebenfalls sofort in das Projektinformations-Register wechseln. Bei Verwendung dieses Tools ist es dem Projektmanager möglich, Aufgaben zu editieren, zu erweitern und zu löschen, sowie Aufgaben neu zu verknüpfen. Dabei werden ihm die Ergebnisse dieses Tuns gleichzeitig visualisiert zur Anschauung gebracht.
Figure imgf000020_0001
βfeπdM m VΛsΛf rtsn Λphaϊe-t
JohnSmüh
Batet. TO m εndDate
Csmments
Pea-Erts ftrihistasffWME -a-ndpcfuπtil 2000 Ξα-edific- s*κ!tffn
Eine Abb. mit besserer Auflösung zeigt Figur 1.
b.1.4. Entwickleransicht
Im Gegensatz zum Projektvisualisierer ist die Entwickleransicht nicht nur für Projektmanager konzipiert, sondern auch für andere Anwender, wie Entwickler. Die Entwickler können nicht den gesamten Projektverlauf sehen. Da jede Aufgabe einem bestimmten Entwickler zugewiesen ist, hat jeder von diesen seine eigene Aufgabenreihung. Es gibt vier Arten von Aufgaben- reihungen:
1. In Arbeit: Aufgaben, an denen der Anwender zur Zeit arbeitet.
2. Wartend: in dieser Aufgabenreihungen sind Aufgaben, deren Elternaufgaben alle schon beendet sind und darauf warten, von einem Anwender entgegengenommen zu werden. Nach Entgegennahme einer solchen Aufgabe, wird sie in die Fortschπttsrei- hung des Anwenders verschoben. In der Wartereihung sind die Aufgaben nach Priorität, Alter (die Zeit vom Datum, an dem die Aufgabe in die Reihung aufgenommen wurde, bis zum heutigen Datum) und der Deadline (dem äußersten Zeitpunkt, an welchem die Aufgabe beendet sein muss) sortiert. Ein Anwender kann unabhängig entscheiden, welche Aufgabe er entgegennimmt. Aber falls sich in der Reihung Aufgaben mit höherer Priorität, näherer Deadline oder höherem Alter befinden, erscheint eine Warnmeldung.
3. Demnächst fällig: Aufgaben, die auf die Ausführung ihrer Elternaufgaben warten. Diese Aufgaben sind nach der Deadline ihrer Elternaufgaben sortiert.
4. Verschoben: Diese Aufgaben wurden manuell verschoben. Sie sind nach dem Datum, an welchem der Anwender die Aufgabe verschoben hat, sortiert.
Diese Reihungen sind in Form von Aufgabentabellen implementiert. Zwischen ihnen kann mittels Registerdarstellung gewechselt werden.
b.2. Grundfunktionalität (Workflow Management)
b.2.1. Gruppen und Anwender
Es gibt mehrere funktioneile Anwendergruppen. Jeder Anwender kann Mitglied mehrerer Gruppen sein oder überhaupt keiner angehören. Jedes Mtglied einer fünktionellen Gruppe hat die selben Rechte. Die Rechte von Mitgliedern mehrerer Gruppen sind die Summe der Rechte, welche sie von jeder einzelnen Gruppe erhalten.
b.2.2. Aufgabe und Arbeitsmappe
Arbeitsmappen bestehen aus mehreren verbundenen Aufgaben für verschiedene Gruppen oder Anwender. Jede Aufgabe beinhaltet eine Anzahl von Eigenschaften und Informationen über einen bestimmten Teil eines Projektes.
b.2.3. Assistenten
Es muss sehr viel Zeit darauf verwendet werden, um Aufgabe für Aufgabe zu erstellen. Um dieses Problem zu beheben, werden Assistenten für jede typische Arbeitsmappe angeboten. Diese generieren automatisch Arbeitsmappen mit den entsprechenden Aufgaben, wenn der Projektmanager sein von einem Assistenten bereitgestelltes Formular ausgefüllt hat.
b.2.4. Assistenten-Generatoren
Für wiederholte Anforderungen können passende Assistenten erzeugt werden. Um es Firmen zu ermöglichen eigene Assistenten zu generieren, wird eine spezielle Assisteneten-Generator- Software implementiert. b.2.5. Analyse
Ein Analyse-Modul steht für Manager zur Verfügung, um Informationen von Anwendern, Angestellten, Aufgaben, Zeiten, Durchschnittszeiten und anderes statistische Material zu extrahieren.
b.2.6. Rollback
Es ist ein spezieller Mechanismus implementiert, welcher es erlaubt, ein Rollback der Aufgaben zu fahren, welche als vollendet markiert wurden, dies aber noch nicht wirklich sind.
b.2.7. Dokumente
Für jede Aufgabe kann eine Anzahl von zusätzlichen Dokumenten angehängt werden. Autho- risierte Anwender haben in diese Einblick und können sie ändern und sichern. Dieses Feature ist als Client-Server-Lösung unter Verwendung einer Web-Browser-Umgebung implementiert.
b.3. Ressourcenverwaltung
(Figur 2)
Das Ressourcenverwaltungs-Modul (Ressource Management (RM) Module) ist ein mit den entsprechenden Features ausgestattetes Tool zum Client-Server-Ressourcen-Management mit Ressourcenzeitenverwaltung und Projektstatus-anzeige.
b.3.1. Ressourcen-Datenbank
Alle Ressourcen (Entwickler-Ressourcen, Hardware-Ressourcen etc.) besitzen ihr eigenes Ressourcenformular, das ihre speziellen Eigenschaften beschreibt. Diese Formulare sind mit den entsprechenden Anwenderdatensätzen in der Anwenderdatenbank verknüpft. Die zu erfassenden Eigenschaften sind folgende:
• Name, Beschreibung, Angabe der Anwenderdatenbank
• Typ und Klassifikation (Entwickler, Projektmanager, Software-Tester etc.)
• Berufliche Fähigkeiten in Abhängigkeit verschiedener Kriterien
• Angaben über Bewertung und Einstufung b.3.2. Zeitkarten-Datenbank
Jeder Entwickler füllt seine eigene Zeitkarte aus. Die Zeitkarte beschreibt, wann und wie viel Entwicklungszeit er einem Projekt widmen kann. Wenn einem Entwickler Arbeit zugewiesen wird, wird automatisch eine Busy-Zeitkarte generiert.
Eine Busy-Zeitkarte kann auch manuell eingegeben werden. Sie enthält Informationen über den Beschäftigungsplan des Entwicklers. Während des Entwicklungsprozesses kann sich die Dauer einiger Aufgaben ändern, worauf hin die Zeitpläne dem gemäß angepasst werden. Die Zeitkarten werden ebenfalls entsprechend automatisch modifiziert. Die Differenz zwischen den Daten der Verfügbarkeits-Zeitkarte und denen der Busy-Zeitkarte ergibt eine Menschstunden-Ressource, die für andere Aufgaben zur Verfügung steht.
b.3.3. Projektzeiten-Modul
Das Projektzeiten-Modul ist ein mächtiges Abfrage-Tool, das es Unternehmensmanagern ermöglicht, die augenblicklichen Verfügbarkeits- und Beschäftigungszeiten einer Ressource sowie deren bisherige Einsatzzeiten im Projekt zu eruieren. Es stellt folgende Filter zur Verfügung:
1. Zeitintervall
2. Projektspezifikationen
3. Ressourcenspezifikationen
4. einzelner Entwickler oder eine Liste von Entwicklern
5. Entwicklergruppe
6. Kombination von Selektionskriterien (z.B. Java-Programmierer mit einer Bewertung von mehr als 86%)
7. Schätzung der erforderlichen Zeiten
Als Ausgabe einer Abfrage werden die entsprechenden Ressourcen mit den dazugehörigen Zeiten aufgelistet (Verfügbarkeits-, Beschäftigungs-, Einsatz- und Gesamtzeiten).
Mit Flilfe des Tools können z.B. folgende Fragen beantwortet werden:
• Wie viel Zeit wurde für was in einem bestimmten Projekt aufgewendet?
• Wie viel Zeit wird für was in einem bestimmten Projekt aufgewendet werden?
• Wie viel einer bestimmten Art von Ressourcen sind verfügbar innerhalb einer bestimmten Zeitspanne?
• Wie viel einer bestimmten Art von Ressourcen sind zur Zeit innerhalb eines bestimmten Projekts beschäftigt?
• Wann wird eine bestimmte Menge einer Art von Ressourcen verfügbar sein?
b.3.4. Einzelzeiten-Modul
Das Einzelzeiten-Modul der Ressourcenverwaltung ist ein persönliches Arbeits-Tool, das einem Einzelanwender den Arbeitsstatus, inklusive der neuen Schätzung, mitteilt. Es gewährt einem Anwender zugleich eine genaue Übersicht über alle zugewiesenen Aufgaben, selbst über mehrere Projekte hinweg. Im Grunde handelt es sich um das gleiche Tool wie das Projektzeiten-Modul, nur auf individuelle Zwecke hin ausgelegt.
b.3.5. Reservierung
Falls ein Projekt noch nicht komplett genehmigt wurde und nach Meinung des Managers in näherer Zukunft noch eine Anzahl von Ressourcen erfordern würde, kann er diese Ressourcen reservieren, indem er virtuelle Busy-Zeitkarten anlegt. Die reservierten Ressourcen erscheinen nicht in Abfragen anderer Manager. Jede Reservierung hat eine Lebenszeit, nach welcher die eventuelle Anstellung verworfen wird.
b.3.6. Ausschreibung
Falls der Manager in der Ressourcendatenbank keine passenden Ressourcen findet, die den Anforderungen für ein bestimmtes Projekt genügen, schreibt er diese aus. Die Ausschreibung ist eine öffentliche Einladung an Entwickler, am Projekt teilzunehmen. Alle Anforderungen werden mit einer kurzen Beschreibung auf Ausschreibungs-Pages angeboten. Eine Anzahl verschiedener Ausschreibungen können gleichzeitig existieren. Entwickler sollen signalisieren, dass sie mit den Bedingungen einverstanden sind und am Projekt teilnehmen wollen. Neue Angebote werden mittels Web-Front-End, PIM und dem Instαnt-Messαging-Modul verbreitet.
Wenn genügend Rückmeldungen stattgefunden haben, werden alle Bewerber durch den Projektmanager überprüft, um ein Team zusammenzustellen. Die ausgewählten Kandidaten werden vom Projektmanager informiert.
b.3.7. Entwicklerbewerbungserfassung
Um Bewerber für zukünftige Einsatzmöglichkeiten sammeln zu können, steht eine Erfassungsmaske im Internet zur Verfügung. Entwickler können ihr Profil eingeben, das gemäß der Vorgaben ihre Stärken und Schwächen zum Ausdruck bringt. Relevante Bewerbungen werden in die Ressourcendatenbank mit aufgenommen.
b.4. Reporting-System
Zur Überwachung des Projektfortschritts ist ein Reporting-System vorgesehen, welches
• bei erfolgreicher Beendigung einer Aufgabe oder
• bei Verzug eine Message an den zuständigen Projektleiter versendet. Dieser hat die Möglichkeit pro Aufgabe zu bestimmen, ob entsprechende Messages geschickt werden sollen, und wenn ja, die Zeitspanne festzulegen, nach welcher die Message aktiviert werden soll; letzteres in einer Prozentangabe bezogen auf die Dauer der Aufgabe.
Analog werden in einem nächsten Schritt, Erfolgs- bzw. Verzugs-Messages an das Management weiter geleitet. Dies ist in mehreren Ebenen, gemäß der Unternehmenshierarchie, möglich. Gegebenenfalls kann in einem letzten Schritt auch der Kunde informiert werden.
c Dokumentenmanagement
c.1. Versionskontrolle
(Figur 3)
Alle von einem Anwender erstellten Komponenten (Dokumente, Quellcode, kompilierte Module, Notizen) werden in Bindings (Heßer) gespeichert. Ein Binding ist eine Sammlung von Komponenten, welche eine komplette Arbeitsphase darstellt.
Entwurfsordner (draft folders) sind vorgesehen, um Komponenten zu speichern, die noch nicht vollendet sind. Komponenten innerhalb eines Entwurfsordners müssen nicht versions- bezogen miteinander übereinstimmen. Wenn der Anwender seine Arbeit am Entwurf beendet hat, bestimmt er jenen zum Aktuellen Ordner (actual folder) und das bisher darin enthaltene Binding wird als Archivordner (archive folder) ausgelagert. Im Archivordner werden alle Bindings in der Reihenfolge ihres Zugangs abgespeichert, wobei das zuletzt archivierte Binding an letzter Stelle steht.
Auf diese Weise ergibt sich folgende Struktur:
Im Aktuellen Ordner befindet sich die aktuellste Version des Quellcodes, der kompilierten Module und die entsprechenden Dokumentation sowie Notizen.
Im Entwurfsordner befinden sich die Komponenten an denen gerade gearbeitet wird. Dies kann für die Teamarbeit sehr nützlich sein.
Im Archivordner befinden sich alle Versionen der Bindings.
Jedes Binding hat folgende Eigenschaften:
1. Aktualisierungsdatum (Zeitpunkt, zu dem das Binding im Aktuellen Ordner Eingang gefunden hat)
2. Name des Entwicklers (da sich während des Projekts diesbezüglich Änderungen ergeben können) 3. Kommentar
4. Versionsnummer
Nachdem das Projekt abgeschlossen ist, werden alle zugehörigen Bindings mit dem kompletten Versionsbaum in der Archivdatenbank gesichert, (siehe hierzu das Kapitel Archivdatenbank)
c.2. Web-Front-End
Das Web-Front-End ist eine integrierte, visuelle, auf dem Web basierende Applikation, welche es dem Anwender (hauptsächlich dem Entwickler) ermöglicht, mit dem Entwicklungszentrum, dem Projektmanager und den anderen Mitgliedern des Projektteams zu interagieren und alle notwendigen Informationen zu erlangen. Diese Anwendung erlaubt es dem Anwender ebenfalls, den Teil seiner Aufgabe, den er vollendet hat, zentral abzuspeichern.
Das Web-Front-End ist in dynamischer HTML, unter Verwendung von JavaScript und Java geschrieben, so dass auf der Client-Seite als einzige Applikation ein Java-fähiger Browser erforderlich ist.
Von der Anwendung aus besteht ein Zugang zur PIM- Applikation, die das Persönliche PIM, die Gruppenfunktionen sowie das Instant Messaging umfasst. Zusätzlich gibt es Schnittstellen zum Workßow-Management-System-Modul und zum Arbeitsplatz.
PIM
Persönlicher PIM Gruppenfünktionen Instant Messaging
Workflow
Arbeitsplatz
Aufgabe Jnternet Shop Datenbank1 Aktuell Archiv Entwürfe
Aufgabe , ava Chat Server" Aktuell Archiv Entwürfe Arbeitsplatz
Der Arbeitsplatz ist eine Sammlung von Arbeitsresultaten (Dokumente, Quellcodes etc.), die für den Entwicklungszyklus notwendig sind. Die Anwender arbeiten mit Bindings (Hefter), welche einen Software-Entwicklungszyklus darstellen. Bindings sind klassifiziert in Aktuell, Archiv und Entwurf gemäß den Regeln, die in der
Versionskontrolle (vgl. oben) beschrieben sind. Es gibt verschiedene Sammlungen von Bindings für jede Aufgabe. Bindings können folgende Abschnitte beinhalten:
• Anforderungen
• Spezifikationsanalysen
• Planung
• Design
• Implementierung
• Integration
Abschnitte können durch den Administrator unter Verwendung des Projektmanagement Interfaces hinzugefügt, geändert und gelöscht werden. Sie werden typischerweise folgende Informationen beinhalten:
Anforderungen
Vom Kunden erhaltene Dokumente, die den Nutzen spezifizieren
Spezifikationsanalyse
Vom Analyseteam und den Projektmanagern zusammengestellte Dokumente
Planung
Hier bestehen Verknüpfungen zum Workflow-Management-System Verknüpfung zum Einzelzeiten-Modul
Design
Anwenderschnittstellenspezifikation inkl. Grafikdaten (Screenshots, Darstellungen, Icons, etc.)
Detailliertes Design (alle designrelevanten Daten im gebrauchsfertigen Format)
Implementierung
Quellcode
Testspezifikationen
Compilierte Module (EXE, DLL, CALASS etc.) Dokumentation:
SW Programmiererhandbuch SW Installationshandbuch SW Anwenderhandbuch SW Fehlerhandbuch
Integration
Systemtest (Resultate and Kommentare) Beta-Test (Resultate and Kommentare) Implementation (Resultate and Kommentare)
Typischerweise hat ein Entwickler nur zum Implementierungsabschnitt einen Lese- und Schreibzugriff. Der beschränkte Zugriff auf andere Abschnitte wird einem Anwender durch den Projektmanager gewährt.
Alle Dokumente und Dateien werden in der Zentraldatenbank gespeichert. Um Duplikate und Datenintegrationsverletzungen zu vermeiden, werden dem Anwender in den Bindings am Web-Front-End lediglich Verknüpfungen (Links) zu diesen Dokumenten und Dateien gezeigt. Z.B. sind die Dokumente im Anforderungsabschnitt für alle Entwickler, die an dem Projekt arbeiten, ein und dieselben, stehen aber in Form von Verknüpfungen jedem einzelnen Entwickler zur Verfügung.
Die Entwickler können jede verfügbare Datei herunterladen und das entsprechende Flag „Update" setzen. Dies erlaubt es dem Anwender unter Verwendung des PIM-Moduls, Meldungen über Updates und Änderungen in Dokumenten zu erhalten. Der Entwickler hat ebenso Zugriff auf frühere Versionen der Dateien, wenn er das Versionskontrollmodul verwendet. Ihm ist es möglich, seine Dateien auf seinen Rechten und Privilegien gemäßen Speicherplätzen abzuspeichern.
c.3. WAP-Front-End
Manchmal erfordern zeitkritische Aktivitäten eine permanente Überwachung und möglichst sofortige Reaktion. Dies ist der Grund, weshalb diese WAP-Schnittstelle implementiert wurde. Die Sammlung von Tools erlaubt es dem Anwender, sich mit seiner eigenen Arbeit zu beschäftigen - und das sogar außerhalb des Büros (in einem mit GSM versorgten Gebiet), wenn er ein WAP-fähiges Mobiltelefon benutzt. Es gibt zwei Arten des Gebrauchs von WAP: einen für Manager und einen für Entwickler.
c.3.1. WAP M (Management)
Diese Schnittstelle bietet die einfache Funktionalität folgender Module: Projektplanung und -management (inkl. Workflow-Management). WAP benutzende Manager sind fähig, den momentanen Status ihres Projekts einzusehen, Ereignisse auf dem Kritischen Pfad zu verfolgen und auf Abweichungen mit entsprechenden Anpassungen zu reagieren, um eine Fortsetzung des Projekts zu gewährleisten.
Ressourcenmanagement. Dieser Teil der WAP-Applikation erlaubt es Managern auf einfacher Weise, die verfügbaren Ressourcen für bestimmter Erfordernisse und den Status beschäftigter Ressourcen zu bestimmen sowie zu erkennen, wann diese frei für neue Projekte sind.
• Reportsystem. Bei Benutzung dieses Tools ist es dem Manager möglich erhaltene Reports zu überblicken und auf diese zu antworten.
c.3.2. WAP D (Development)
Mit der WAP-D-Schnittstelle steht dem Entwickler eine eingeschränkte WAP-Version seines WEB-Front-End zur Verfügung. Folgende Tools werden dem Entwickler mittels WAP geboten:
• Workflow. Entwickler können ihre Aufgaben, Zeitrahmen etc. überblicken
• Ressourcenmanagement. Entwickler haben die Möglichkeit in ihre Zeitkarte ihre verfügbare und Beschäftigungszeiten einzutagen. Sie besitzen zudem die Möglichkeit, Einladungen zu Projekten zu überblicken und darauf zu reagieren.
c.3.3. WAP-PIM
Die grundlegenden PIM-Funktionalitäten sind in das WAP-Front-End integriert zusammen mit anderen Teilen. Anwender können:
• Meldungen erhalten und senden
• Meetings überblicken und einberufen
• Alte Kontaktinformationen aufrufen und neue eingeben
• Anmerkungen anschauen und editieren
• Gruppeninformationen erhalten c.4 Sicherheit: Verschlüsselung der Kommunikation
Es gibt zwei Kommunikationsbereiche der ,JPROJECTSOFT": das Intra-Extranet und das Internet.
Die Internet-Anwendung ihrerseits hat zwei Bereiche, einen öffentlichen und einen Sicherheitsbereich. Der öffentliche Bereich dient zum Empfang von Bewerbungen potentieller Entwickler und zum Akquirieren von Kunden. Der Sicherheitsbereich wird für die Projektentwicklung genützt.
Jeder Anwender des Systems hat seinen eigenen Benutzernamen und sein eigenes Kennwort. Es sind verschiedene Möglichkeiten vorgesehen, Kennwortrestriktionen zu definieren: Z.B. das Kennwort muss mindestens acht Zeichen lang sein, es darf während der Dauer eines Jahres nicht ein zweites mal benutzt werden etc. Das Kennwort muss innerhalb einer definierten Periode geändert werden. Das erste Login sowie das entsprechende Kennwort wird dem Anwender aus Sicherheitsgründen per Airmail oder Express Mail zugänglich gemacht.
Der Datenverkehr zwischen Client-Browser und Server ist durch eine 128-Bit- Verschlüsselung geschützt. Es wird die Standard-SSL- Verschlüsselung von VerySign verwendet. Eine persönliche Verschlüsselung sichert optional den E-Mail- Verkehr, der außerhalb des internen Nachrichtensystems stattfindet.
Login, Logout und andere sicherheitsrelevanten Aktionen werden in einer Log-Datei protokolliert. Zusätzlich kann auch eine Software-Firewall auf dem Web-Server installiert werden, um Zugriffe zu kontrollieren und zu limitieren. Ein visuelles Interface wird zur Verfügung gestellt, um es den Systemadmi istratoren zu ermöglichen, sicherheitsrelevante Aufgaben zu managen und zu überwachen.
Die WAP-Sicherheit wird vom Handy zum WAP-Gateway durch das GSM-Netz gewährleistet, und die gleiche SSL-Sicherheit wird vom WAP-Gateway zum Web-Server genutzt.
Auf den Intranet-Bereich kann von Außen nicht zugegriffen werden. Deshalb kann es der LAN- Administrator auf LAN-Ebene gemäß der verwendeten Plattform sichern. d. PIM (Personal Information Manager)
d.l Personal PIM
Die PIM-Übersicht beinhaltet die wichtigsten Einträge des Tages: Aktuelle Termine, Aufgaben, Kontakte und Workflow-Einträge. Es handelt sich um die Einstiegsseite zum PIM. Alle Informationen werden in Listenform dargestellt.
Das PIM-Kalender-Modul bietet einen Kalender mit verschiedenen Modi und speziellen Funktionen: Dateneintragungsmaske und Datenausgabemaske. Es stehen vier verschiedene Ansichten zur Auswahl:
• Tag
• Woche
• Monat
• n weitere Tage
In allen Ansichten können die Termine nach Kategorie angezeigt werden (z.B. nur private Termine).
Ereigniskategorien:
• einmaliges Ereignis (z.B. Meeting Müller 11 Uhr)
• mehrtägige Ereignisse (Urlaub, Seminar)
• Wiederkehrende Ereignisse (Jahrestage, Jourfix, Kegelabend)
Außerdem werden alle Ferientermine und Feiertage Deutschlands angezeigt (in weiteren Versionen auch für andere Länder möglich).
Alleinstellungsmerkmal: Die Liste eines, des nächsten oder von "n"-Tagen kann per E-Mail mit einem Maximum an Komfort und Flexibilität in Organisation versendet werden. Wichtige Zeiträume vor einem wichtigen Event können eingegrenzt werden (z.B. die nächsten 9 Tage bis zu einer Messe)
Kontakte-Datenbank: Alphabetische Register:
6 frei definierbare Nummern mit der Möglichkeit, eine Nummer als primär zu bestimmen (Diese Nummer wird in der Kontaktliste angezeigt und in der WAP-Ansicht oben stehen). Felder für Erinnerungsdaten: Geburtstage, Jahrestage mit der Möglichkeit, diese automatisch in den Scheduler als Event zu übernehmen
Kategorien:
• privat
• geschäftlich
• nutzerdefiniert
Vier Kennwörter sind vom Anwender frei definierbar. Sortiermöglichkeiten nach:
• Vorname
• Nachname
• Firma
• Stadt
• Telefonnummer
• E-Mail
Such möglich keiten nach:
• Vorname, Nachname
• Vorname
• Name
• Firma
• Stadt
• Telefonnummer
• E-Mail
• Kundennummer
PIM-„To do"-Liste
Es werden 5 Prioritäten angeboten: sehr niedrig niedrig normal hoch sehr hoch
Textfeld-Open-Item
Startdatum/Fälligkeitsdatum
Projektstatus in Prozent (Eingabe in Prozent, Ausgabe als Statistik)
Erledigt Q/ )
Was (Projektname und Typ)
Jede Aufgabe kann mit einer Priorität eingegeben werden. Es existiert ein Checkbox-Feld, mit dem sich erledigte Aufträge markieren lassen, sowie ein Feld, wo der Nutzer die Aufgabenstellung als Text eingeben kann. Die Kategorie wird über ein Dropdown-Feld auswählt.
Es besteht die volle Integrationsfähigkeit mit anderen Modulen. Das Personal-PIM- Modul enthält bereits Kernelemente einer Projektplanung (Aufgabe/Status-Übersicht in Form eines Statusbalkens)
PIM-Notizen-Modul
Kategorien:
• privat
• geschäftlich
• nutzerdefiniert
• Subjekt der Notiz
d.2 Gruppenfunktionen
Die Anwender legen namentlich gleiche Kategorien für Projekte oder Key Accounts an (z.B. Kategorie „Payment Modul (Java)". Die so gebildete Gruppe könnte ein Team von 17 Entwicklern und der Projektmanager sein, die nun unter dieser Kategorie miteinander interagieren könnten). Die Einträge in dieser Kategorie werden allen in diesem Projekt eingebundenen Anwendern wechselseitig zugänglich sein, so dass jeder über seinen eigenen Projektstatus und den seiner Kollegen informiert ist, um z.B. im Verzögerungsfall eingreifen zu können. Die Führungsebene hat normalerweise wesentlich weniger Kommunikationsbedarf und schreitet typischerweise nur bei Fehlentwicklungen im Projekt bei Aufgaben mit hoher Priorität ein. Je komplexer das Projekt und je mehr Mitarbeiter damit befasst sind, desto höher ist der Effizienzvorteil, da der Abstimmungsbedarf untereinander massiv reduziert wird.
Hierzu sind die Projektfortschrittsbalken bei jeder Aufgabe, die vom Zuständigen für diese Aufgabe gepflegt werden, zweifarbig. Der rote Balken kennzeichnet den absoluten Fortschritt der einzelnen Aufgabe. Der gelbe Balken den Aufgabenfortschritt im Vergleich zum Vortag. Die Führungsebene sieht die Gesamtübersicht zu dem Projekt und schreitet nur bei Verzögerungen oder der Überschreitung von Deadlines ein. Die Überschreitung von Deadlines in den einzelnen Aufgaben wird überdies in der Gesamtübersicht für die Führungsebene mit einem blinkenden Button in der verzögerten Aufgabe angezeigt.
Die Führungsebene sieht überdies die Termineinträge, der mit dem Projekt befassten Mitarbeiter und kann über die Ereigniseinträge Urlaubszeiten und Krankmeldungen einsehen und gegebenenfalls reagieren. Bei Handlungsbedarf ist die Kontaktaufnahme über Instant-Messaging direkt mit allen Mitarbeitern, die online sind, möglich.
Einrichtung neuer Gruppen:
Neue Gruppen können von allen registrierten Benutzern eingerichtet werden. Der Benutzer, der die Gruppe angelegt hat, ist automatisch der Gruppenadministrator, der folgende Funktionen ausüben kann:
• Benutzer in die Gruppe einladen
• Benutzern die Mitgliedschaft entziehen
• Administratorrechte an ein anderes Mitglied der Gruppe übertragen
Anmeldeverfahren :
Es sind zwei Wege vorgesehen:
1. Der Gruppenαdministrαtor lädt den Benutzer in die Gruppe ein. Daraufhin erscheint in dem Personal PIM des eingeladenen Benutzers eine Meldung, dass er in die Gruppe eingeladen worden ist. Stimmt der Benutzer der Einladung zu, wird er in die Gruppe als Mitglied eingetragen und es wird eine Kategorie „Gruppenname" in seinem Personal PIM erstellt, unter der die Gruppen-Daten angezeigt werden.
2. Der Benutzer beantragt eine Mitgliedschaft bei einer Gruppe. Der Gruppenadministrator bekommt eine Meldung und entscheidet, ob dem Benutzer die Mitgliedschaft gewährt wird.
Privat- und Gruppenansicht
Der Anwender kann zwischen Privat- und Gruppenansicht wechseln. Gruppenfünktionen in der Privat-Ansicht:
• Gruppentermine, die den Benutzer betreffen, werden auch im Privatscheduler unter der Kategorie „Gruppenname" angezeigt und sind editierbar.
• Gruppenaufgaben, die den Benutzer betreffen, werden auch in der Privat- Aufgabenliste unter der Kategorie „Gruppenname" angezeigt und sind editierbar.
• Gruppenkontakte werden auch in der Privatansicht ,J ontakte" unter der Kategorie „Gruppenname" angezeigt. Gruppennotizen werden auch in der Privatansicht ,-Not/zen" unter der Kategorie „Gruppenname" angezeigt.
Gruppenfunktionen in der Gruppen-Ansicht:
• Gruppentermine, Gruppenaufgaben, Gruppenkontakte, Gruppennotizen mit Ansichten: ,-4//e Mitglieder der Gruppe" oder „Benutzer Ν" .
• Beim Erstellen von neuen Einträgen kann angegeben werden, ob der Eintrag für o alle, o oder einzelne bzw. mehrere Mitglieder der Gruppe bestimmt ist.
• Teπrimabstimmung
d.3 WAP
Da der gesamte PIM WAP-fähig ist, können sämtliche PIM-Funktionen in vereinfachter und verkürzter Version auch via Handy genutzt werden.
d.4 Instant-Messaging
Mit dem Instant-Messaging-System werden individuell gestaltete Mitteilungen verschickt.
So kann z.B. bei Unterbrechung des Kritischen Pfades oder des Workflow automatisch eine entsprechende Nachricht via WAP an Vorstand, Projektmanager und die betroffenen Entwickler versendet werden.
Um dem Anwender einen permanenten und schnellen Zugriff auf das Instant- Messaging-System zu ermöglichen, ist das Modul als Windows-Applikation implementiert und direkt aus der TaskBar erreichbar.
Figure imgf000036_0001
Beim Doppelklicken auf das IM-Icon öffnet sich das IM-Fenster. Die erste Ansicht soll einen Überblick verschaffen, wer gerade online ist:
• Die Benutzer, die gerade online sind, sind durch Fettschrift besonderes gekennzeichnet.
• Die Benutzer, die momentan offline sind, sind grau hinterlegt.
• Neben den Benutzernamen stehen die Statusangaben der Benutzer.
• Die Personen können zu Gruppen zusammengefasst werden.
Figure imgf000036_0002
Falls eine Nachricht an Benutzer geschickt wurde, der gerade offline war, wird die Nachricht auf dem Server gespeichert und beim nächsten einloggen an den Benutzer übermittelt.
Blackboard
Zusätzlich wird die Funktion einer Blackboard in die Community integriert. Die Blackboard ist mit der Funktion „Suche/Biete" ausgestattet. Somit eignet sich das System für Kleinanzeigen. Die Suche erfolgt nach booleschen Regeln und nach Volltext.
d.5 Internet- Community d.5.1 Foren
Über Foren kann an Diskussionen teilgenommen werden. Wünsche, Fragen, Anregungen können aufgegriffen und behandelt werden.
Die Foren sind mit dem Bewertungssystem versehen. Nach dem Lesen des Beitrags kann der Benutzer den Beitrag mit Punkten bewerten: von „hat mir sehr geholfen" bis „ist sehr schlecht". Der Anwender hat die Möglichkeit die Diskussionsforen zu durchsuchen und die Suchergebnisse nach Bewertungspunkten zu sortieren.
d.5.2 Hotline
Oft gestellte Fragen an die Hotline und häufig aufgegriffene Themen in den Foren werden gesammelt und in einer Datenbank gespeichert. e Add-on modules
e.1 Bewertungsmodul
(Figur 4)
Das Bewertungsmodul ist ein Tool, das es erlaubt, objektive Kriterien bezüglich der Feststellung intellektueller, organisatorischer und anderer Fertigkeiten und Fähigkeiten von Entwicklern zu treffen. Die Ergebnisse des Bewertungsmoduls werden für die Anstellungen im Rahmen zukünftiger Projekte verwendet. Außer der Bewertung in jeder einzelnen Kategorie von Fertigkeiten und Fähigkeiten findet für jeden Entwickler eine Gesamtbewertung statt sowie die Berücksichtigung eines Wartezeiten-Faktors.
e.1.1. Fertigkeiten und Fähigkeiten (Aufgabenbewertung)
Unser Unternehmen hat die Möglichkeit, eigene Kategorien und Kriterien zur Messung der Fertigkeiten und Fähigkeiten zu definieren. Um die Berechnung zu vereinfachen, basieren alle Bewertungen auf einem Punktesystem von 0 = schlecht bis 100 = ausgezeichnet. Einige Beispielkategorien werden im Folgenden gezeigt:
• In Time: Diese Bewertung bestimmt, wie gut der Entwickler die zeitliche Vorgabe seiner Aufgabe erledigt hat. Hat der Entwickler diese früher als vorgegeben bewältigt, kann er z.B. mit 100, ist er genau zur vorgegebenen Zeit fertig geworden mit 80 und konnte er die Vorgabe nicht einhalten mit 10 bewertet werden. Die Einteilung der Bewertung und deren Bedeutung wird durch das Unternehmen festgelegt. Der Grundgedanke dabei ist, dass die festgelegten Bewertungskriterien unverändert von Projekt zu Projekt und bei allen Entwicklern in gleicher Weise angewendet werden, um so einen einheitlichen Nergleichsmaßstab für alle Projekte sowie alle Entwickler zu bilden.
Benutzerhandbuch
Programmiererhandbuch
• Transparenz des Codes
Kompaktheit des Codes
Progranimiertechniken
Fehlerhäufigkeit während des Alpha-Tests
Fehlerhäufigkeit während des Beta-Tests Die Bewertung jedes Kriteriums erfolgt von verschiedenen Teams und Abteilungen unseres Unternehmens. Die Fehlerhäufigkeit während des Alpha-Tests z.B. wird von der Testabteilung bewertet, das Benutzerhandbuch vom Dokumentationsteam etc.
Die Bedeutung jedes Kriteriums kann von Aufgabe zu Aufgabe variieren. Deswegen erhält der Projektmanager die Möglichkeit, abhängig vom Schwierigkeitsgrad des Projekts, der verfügbaren Zeit, der Wichtigkeit der Dokumentation etc. eine Gewichtung für jedes dieser Kriterien in Form einer Prozentangabe vorzunehmen. Eine Gewichtung gilt für alle Entwickler, die an der entsprechenden Aufgabe mitarbeiten. Dies eliminiert den sogenannten „menschlichen Faktor" bei der Bewertung verschiedener Entwickler.
Figure imgf000039_0001
Die Gesamtbewertung ist der gewichtete Durchschnitt aller Bewertungen. Er wird nach der Ausführung jeder Aufgabe für jeden Entwickler auf der Basis der durch den Projektmanager zugewiesenen Gewichtung sowie der Bewertung der entsprechenden Abteilungen und Teams berechnet.
e.1.2. Wartezeiten-Faktor
Der Wartezeiten-Faktor ist ein Kriterium zur Feststellung, wie lange hochqualifizierte Entwickler bei der Vergabe neuer Aufgaben nicht berücksichtigt wurden. Diese Kategorie dient dazu, Entwickler, die lange Zeit auf eine Aufgabe gewartet haben und eine ähnliche Qualifikation wie andere, welch kürzlich engagiert wurden, besitzen, zu stimulieren, indem ihnen eine Priorität für nachfolgende Aufgaben eingeräumt wird. Der Wartezeiten-Faktor ist abhängig von den Nichtbeschäftigungszeiten, der Beschäftigungsquote (Beschäftigungszeit / Verfügbarkeitszeit), dem Zeitpunkt der Beendigung der letzten Aufgabe etc.
e.1.3. Entwicklerbewertung
Die Aufgabenbewertung erfolgt nach Beendigung jeder Aufgabe. Der Durchschnitt aller Aufgabenbewertungen ist einer der wichtigsten Faktoren bei der Entwicklerbewertung, neben Kommunikationsfähigkeit, Kooperationszeiten etc. e.1.4. Bewertungskarten-Datenbank
Eine Bewertungskarte ist eine Sammlung von Entwicklerbewertungs-Datensätzen für alle Aufgaben und Gesamtbewertungen unterschiedlicher Perioden. Die Bewertungskarten- Datenbank beinhaltet die Bewertungen aller Entwickler. Die Informationen dieser Datenbank stehen dem Ressourcenmanagement-Modul zur Verfügung, wenn eine Abfrage nach passenden Kandidaten für ein neues Projekt abgefragt wird.
Ein spezielles Abfragetool für direkte Abfragen in der Bewertungskarten-Datenbank steht ebenfalls zur Verfügung. Der einzelne Entwickler hat die Möglichkeit, seine eigene Bewertungskarte einzusehen sowie sie mit den Durchschnittsbewertungen des Unternehmens zu vergleichen.
e.2 Auftragsanfragenerfassung
Auftragsanfragen können auf einer Page im Internet erfasst werden. In ein entsprechendes Formular kann der Kunde seine Wünsche bezüglich von zu entwickelnden Anwendungen sowie seine diesbezüglichen Preisvorstellungen eingeben.
e.3 Knowhow-Datenbank
Die erfassten Antragsanfragen können mittels einer Suchfunktion der Know-how-Datenbank ausgewertet werden. Hierbei wird in der Dokumentation früherer Projekte nach ähnlichen Routinen wie in den gewünschten Programmen mit einer beliebigen Kombination von Suchbegriffen gesucht.
e.4 Schnittstellen zu Rechnunqswesenmodulen
Für ein Managementinformationssystem existieren Schnittstellen zu den entsprechenden Rechnungswesen-Modulen von Fremdanbietern. Die von diesen bereitgestellten Daten können zur Ermittlung von bisher verausgabten Kosten herangezogen werden. f. Plattform
(Figur 5)
Es folgt ein kurzer Überblick über Technologie sowie die Software- und Hardware- Plattformen, die in der "PROJECTSOFT" ihre Anwendung finden.
f.1. DB-Plattform
Es ist vorgesehen, einen ORACLE-SQL-Server als Datenbank-Plattform zu verwenden. Die Applikationen greifen über ODBC-, ADO- und JDBC-Schnittstellen auf die Datenbank zu. Da zwischen den Applikationen selbst und der Datenbank ein spezieller Database-Access- Layer installiert ist, kann in Zukunft problemlos auf andere über ODBC- und JDBC- Schnittstellen verfügende Datenbanken umgestellt werden. Die Datenbank-Hardware- Plattform stellt keine kritischen Anforderungen; sie wird aufgrund des zu erwartenden Volumens an Daten und Transaktionen konfiguriert.
f.2. Web-Plattform
Die meisten unserer bestehenden Web-Lösungen basieren auf Microsoft-IIS- und Microsoft- ASP-Technologie. Wegen des Microsoft IIS ist die Hardware-Plattform auf PC-Server und Alpha-Server beschränkt. Falls größere Datenmengen zu erwarten sind, besteht die Option, die Microsoft-Clustering-Lösung zu verwenden, welche die Server-Belastung verteilt.
f.3. Sonstige serverseitige Module
Die sonstigen serverseitigen Module sind in Java und C++ implementiert. Die meisten von ihnen sind plattformunabhängig. Als Beispiel sei der Chat-Server des Gruppen-Moduls genannt, welcher in Java und zur Kommunikation mit anderen Teilen der Applikation unter Verwendung von XML und TCP/IP implementiert ist.
f.4. Client-Seite
Auf der Client-Seite ist lediglich ein Java-fähiger Web-Browser nötig. Unsere Applikationen sind 100% kompatibel zum Microsoft Internet Explorer ab Version 4.0 sowie zum Netscape Navigator ab Version 4.x.

Claims

Patentansprüche
1. Verfahren zur Software-Entwicklung, bei dem ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird, d a d u r c h g e k e n n z e i c h n e t , daß von einer zentralen Projektstelle über ein Kommunikationsnetz Anforderungen zur Entwicklung der Software- Teillösungen und eventuell eine Beschreibung der jeweiligen Komponente und/oder des Projektes Entwicklern zur Verfügung gestellt werden, die sich daraufhin bewerben können, und daß unter mehreren Bewerbern zur Entwicklung derselben Software-Teillösung zumindest ein Entwickler nach Auswahlkriterien ausgewählt wird.
2. Verfahren zur Software-Entwicklung, bei dem ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird, insbesondere nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , daß von einer zentralen Projektstelle über ein Kommunikationsnetz einzelne Komponenten, zu denen jeweils eine Software-Teillösung zu entwickeln ist, ausgewählten Entwicklern angeboten werden, indem die Entwickler direkt adressiert werden oder diesen ein Zugang zum Abrufen der Komponenten zur Verfügung gestellt wird, und daß die entwickelten Software-Teillösungen über dieses oder ein anderes Kommunikationsnetz von den Entwicklern an die zentrale Projektstelle übertragen und dort zur das Projekt realisierenden Software zusammengefügt werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Projekt von einem Auftraggeber über ein Kommunikationsnetz der zentralen Projektstelle übermittelt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß als Kommunikationsnetz das Internet, ein Intra- oder ein Extranet, eventuell mit drahtloser Datenübertragung kombiniert, verwendet wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zu einzelnen Entwicklern Beurteilungskriterien gespeichert und zur automatischen Auswahl von Entwicklern für ein Projekt oder dessen Komponenten verwendet werden.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß nach Annahme eines Entwicklers dieser automatisch für eine zu bestimmende Zeitdauer von weiteren Projekten gesperrt wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß einem Entwickler ermöglicht wird, sich selbst für eine bestimmte Zeitdauer vom Angebot von Projekten zu sperren .
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß nach Annahme eines Entwicklers diesem bei Bedarf die erforderliche Entwicklungsumgebung zur Verfügung gestellt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß nach Annahme eines Entwicklers Rück- meldeintervalle festgelegt werden, innerhalb derer sich der Entwickler mit der zentralen Projektstelle in Verbindung setzen muß.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß bei einer Rückmeldung und/oder bei Auftragsabschluß fertiggestellte Abschnitte der Software-Teillösung bzw. die Software-Teillösung an die zentrale Projektstelle zur Qualitätskontrolle übertragen werden bzw. wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die zentrale Projektstelle zur Beschreibung des Projektes eine vorbestimmte Eingabemaske vorsieht, und daß durch Abgleich mit gespeicherten Daten das in der Eingabemaske beschriebene Projekt automatisch kategorisiert und/oder in einzelne Komponenten zerlegt wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß durch Abgleich mit gespeicherten Daten bereits vorhandene Software-Lösungen für das Projekt oder Software- Teillösungen für seine Komponenten ermittelt werden.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß Daten zwischen der zentralen Projektstelle und einem Entwickler und/oder dem Auftraggeber verschlüsselt übertragen werden.
14. Einrichtung zur Softwareentwicklung, bei der ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird, d a d u r c h g e k e n n z e i c h n e t , daß ein Ausschreibungsmodul vorgesehen ist, das über ein
Kommunikationsnetz Anforderungen zur Entwicklung der Soft- ware-Teillösungen und eventuell eine Beschreibung der jeweiligen Komponente und/oder des Projektes Entwicklern zur Verfügung stellt, und das die Möglichkeit einer Rückmeldung durch einen Entwickler zur Teilnahme am Projekt vorsieht.
15. Einrichtung nach Anspruch 14, dadurch gekennzeichnet, daß ein Auswahlmodul vorgesehen ist, das aus Rückmeldungen zu einem Projekt bzw. einzelnen Komponenten automatisch mittels zu Entwicklern in einer Datenbank abgelegten Beurteilungskriterien eine Auswahl von Entwicklern vornimmt.
16. Einrichtung zur Softwareentwicklung, bei der ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird, insbesondere nach Anspruch 14 oder 15, d a d u r c h g e k e n n z e i c h n e t , daß ein Projektmanagement-Modul vorgesehen ist, das über ein Kommunikationsnetz einzelne Komponenten, zu denen jeweils eine Software-Teillösung zu entwickeln ist, ausgewählten Entwicklern anbietet, indem das Modul die zugehörigen Aufgaben direkt an den Entwickler überträgt oder mittels einer Entwickleransicht einen Zugang zur Entgegennahme der zugehörigen Aufgaben durch den Entwickler herstellt.
17. Einrichtung nach Anspruch 16, dadurch gekennzeichnet, daß das Projektmanager-Modul in der Entwickleransicht Informationen zu den einzelnen von einem Entwickler bearbeiteten Aufgaben oder Komponenten, insbesondere bezüglich der Prioritäten zu deren Erledigung, zur Verfügung stellt.
18. Einrichtung zur Softwareentwicklung, bei der ein Projekt in ein oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und oder entwickelt wird, insbesondere nach einem der Ansprüche 14 bis 17, d a d u r c h g e k e n n z e i c h n e t , daß ein Pro ektmanagement-Modul vorgesehen ist, das in einem Projektordner die Eigenschaften eines Projektes und in automatisch generierten Arbeitsmappen die verschiedenen Aufgaben, die zur Erstellung jeweils einer Software- Teillösung zu einer Komponente des Projektes anfallen, enthält.
19. Einrichtung nach Anspruch 18, dadurch gekennzeichnet, daß ein Komponenten- und/oder Aufgabengenerator vorgesehen ist, der ein Projekt in verschiedene Komponenten und diese eventuell in weitere Aufgaben aufteilt, wobei dieser mittels einer Datenbank mit Suchfunktionen überprüft, ob zu gleichen oder ähnlichen Projekten bzw. Komponenten bzw. Aufgaben bereits Softwarelösungen vorhanden sind.
20. Einrichtung nach Anspruch 18 oder 19, dadurch gekennzeichnet, daß das Projektmanagement-Modul einen Projektvi- sualisierer aufweist, der einer zentralen Pro ektstelle Informationen zu einem Projekt, insbesondere zu dessen einzelnen Aufgaben, sowie zum jeweiligen Bearbeitungsstand zur Verfügung stellt.
21. Einrichtung zur Software-Entwicklung, bei der ein Projekt in eine oder mehrere Komponenten aufgeteilt und zu jeder Komponente eine Software-Teillösung bereitgestellt und/oder entwickelt wird, insbesondere nach einem der Ansprüche 14 bis 20, d a du r c h g e k e n n z e i c h n e t , daß ein Ressourcenverwaltungs-Modul vorgesehen ist, das Ressourcen, auf die bei der Software-Entwicklung durch eine zentrale Projektstelle zugegriffen werden kann, mittels ei- ner oder mehrerer Datenbanken verwaltet, auf die weitere Module zugreifen.
22. Einrichtung nach Anspruch 21, dadurch gekennzeichnet, daß das Ressourcenverwaltungs-Modul eine Ressourcen- Datenbank aufweist, in der Daten über verschiedene Ressourcen, wie zur Verfügung stehende Entwickler, Pro ektmanager, verfügbare Hardware, verfügbare Software, abgelegt sind.
23. Einrichtung nach Anspruch 21 oder 22, dadurch gekennzeichnet, daß das Ressourcenverwaltungs-Modul eine Zeitkarten-Datenbank aufweist, in der die zur Verfügung stehenden Menschstunden, insbesondere der Entwickler, abgelegt sind.
24. Einrichtung nach Anspruch 23, dadurch gekennzeichnet, daß in der Zeitkarten-Datenbank für Entwickler bestimmte Zeitkarten vorgesehen sind, die Informationen über den Beschäftigungsplan eines Entwicklers enthalten, und die automatisch generiert werden, wenn ein Entwickler für ein bestimmtes Projekt ausgewählt wurde.
25. Einrichtung nach Anspruch 24, dadurch gekennzeichnet, daß die Zeitkarten während des Software-Entwicklungsprozesses bei sich ändernden Zeitplänen automatisch angepaßt werden.
26. Einrichtung nach einem der Ansprüche 21 bis 25, dadurch gekennzeichnet, daß das Ressourcenverwaltungs-Modul ein Projektzeiten-Modul aufweist, das es der zentralen Projektstelle ermöglicht, die momentanen Verfügbarbarkeitsund Beschäftigungszeiten einer Ressource sowie deren bisherige Einsatzzeit im Projekt zu ermitteln.
27. Einrichtung nach einem der Ansprüche 21 bis 26 und einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, daß das AusSchreibungsmodul mit der Ressourcen-Datenbank des Ressourcenverwaltungs-Moduls derart verbunden ist, daß eine Ausschreibung an Entwickler zur Teilnahme an einem Projekt automatisch immer dann stattfindet, wenn in der Ressourcen- Datenbank keine passenden verfügbaren Resourcen zu allen Komponenten eines Projektes vorhanden sind.
28. Einrichtung nach einem der Ansprüche 21 bis 27, dadurch gekennzeichnet, daß im Ressourcenverwaltungs-Modul eine Bewerber-Datenbank vorgesehen ist, in der Daten über Entwicklerbewerber abgelegt sind, wobei die Daten einem über ein Kommunikationsnetz von einem Entwicklerbewerber eingegebenen Bewerberprofil entnommen sind.
29. Einrichtung nach einem der Ansprüche 14 bis 28, dadurch gekennzeichnet, daß ein Reporting-System vorgesehen ist, das bei erfolgreicher Beendigung einer Aufgabe oder aber bei Verzug eine entsprechende Nachricht an die zentrale Projektstelle, deren Projektmanager und/oder den betreffenden Entwickler versendet.
30. Einrichtung nach einem der Ansprüche 14 bis 29, dadurch gekennzeichnet, daß ein Dokumentenmanager-System vorgesehen ist, auf das ein am Projekt beteiligter Entwickler zur Abspeicherung seiner erstellten Dokumente Zugriff hat.
31. Einrichtung nach Anspruch 30, dadurch gekennzeichnet, daß das Dokumentenmanagement-System verschiedene Ordner aufweist, um fertiggestellte Abschnitte oder Entwürfe einer Software-Teillösung eines Entwicklers einschließlich der zugehörigen Dokumentation zu speichern.
32. Einrichtung nach einem der Ansprüche 14 bis 31, dadurch gekennzeichnet, daß ein Qualitätskontroll-System vorgesehen ist, das eine von einem Entwickler übermittelte Software-Teillösung oder Abschnitte einer solchen Lösung einer Qualitätskontrolle unterzieht.
33. Einrichtung nach einem der Ansprüche 14 bis 32, dadurch gekennzeichnet, daß ein Modul zur Auftragsentgegennahme vorgesehen ist, das eine Auftragsmaske enthält, über die von einem Auftraggeber ein Projekt an die zentrale Projektstelle über ein Kommunikationsnetz übermittelt werden kann.
34. Einrichtung nach einem der Ansprüche 14 bis 33, dadurch gekennzeichnet, daß das Kommunikationsnetz das Internet, ein Intranet oder ein Extranet ist.
35. Einrichtung nach einem der Ansprüche 14 bis 34, dadurch gekennzeichnet, daß eine Schnittstelle zur drahtlosen Datenübertragung, wie eine WAP-Schnittstelle, an an dem Projekt beteiligte Personen, wie Projektmanager und Entwickler, vorgesehen ist, die ihrerseits über entsprechend eingerichtete Sender/Empfänger, wie WAP-Front-Ends verfügen.
36. Einrichtung nach einem der Ansprüche 14 bis 35, dadurch gekennzeichnet, daß ein Verschlüsselungs-System vorgesehen ist, um den Datenverkehr zwischen der zentralen Projektstelle und den am Projekt beteiligten Personen, wie Auftraggeber, Projektmanager und Entwickler, zu verschlüsseln.
37. Computerprogramm mit Programmcode-Mitteln, um alle Schritte von wenigstens einem der Ansprüche 1 bis 13 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Rechnereinheit ausgeführt wird.
38. Computerprogrammprodukt mit Programmcode-Mitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um das Verfahren nach wenigstens einem der Ansprüche 1 bis 13 durchzuführen, wenn das Computerprogrammprodukt auf einem Computer oder einer entsprechenden Rechnereinheit ausgeführt wird.
PCT/EP2001/000953 2001-01-18 2001-01-30 Verfahren und einrichtung zur software-entwicklung WO2002057902A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001242357A AU2001242357A1 (en) 2001-01-18 2001-01-30 Method and device for software development

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10102203 2001-01-18
DE10102203.4 2001-01-18
DE10102386 2001-01-19
DE10102386.3 2001-01-19

Publications (2)

Publication Number Publication Date
WO2002057902A2 true WO2002057902A2 (de) 2002-07-25
WO2002057902A3 WO2002057902A3 (de) 2003-03-13

Family

ID=26008273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/000953 WO2002057902A2 (de) 2001-01-18 2001-01-30 Verfahren und einrichtung zur software-entwicklung

Country Status (2)

Country Link
AU (1) AU2001242357A1 (de)
WO (1) WO2002057902A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102168A (zh) * 2018-07-24 2018-12-28 武汉空心科技有限公司 基于页面计量和时效控制的开发云平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857107A (en) * 1994-09-16 1999-01-05 Nec Corporation Distributed software development management system having subsystem information file for storing information indicating a correspondence between subsystems and specifications
WO2000067118A2 (en) * 1999-05-03 2000-11-09 Nucom Integrated Technologies Intelligent collaboration across network system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857107A (en) * 1994-09-16 1999-01-05 Nec Corporation Distributed software development management system having subsystem information file for storing information indicating a correspondence between subsystems and specifications
WO2000067118A2 (en) * 1999-05-03 2000-11-09 Nucom Integrated Technologies Intelligent collaboration across network system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GORTON I ET AL: "COLLABORATIVE TOOLS AND PROCESSES TO SUPPORT SOFTWARE ENGINEERING SHIFT WORK" BT TECHNOLOGY JOURNAL, BT LABORATORIES, GB, Bd. 15, Nr. 3, 1. Juli 1997 (1997-07-01), Seiten 189-198, XP000722028 ISSN: 1358-3948 *
LUETTGER J ET AL: "CONTEXT DATA MANAGEMENT SYSTEM" ELECTRICAL COMMUNICATION, ALCATEL. BRUSSELS, BE, Bd. 64, Nr. 4, 1990, Seiten 341-346, XP000230844 ISSN: 0013-4252 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102168A (zh) * 2018-07-24 2018-12-28 武汉空心科技有限公司 基于页面计量和时效控制的开发云平台

Also Published As

Publication number Publication date
AU2001242357A1 (en) 2002-07-30
WO2002057902A3 (de) 2003-03-13
AU2001242357A8 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
DE69431784T2 (de) Verfahren und Architektur zur Datenverwaltung
DE68926446T2 (de) Elektronisches System zum Genehmigen von Dokumenten
DE4403496B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Antworten zu Testfragen
DE4403497B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Antworten zu Testfragen
WO1999067749A1 (de) Anwendungsübergreifendes arbeitszeitblatt
DE10240117A1 (de) Netzwerkbasiertes Informationsmanagement
DE10106869A1 (de) Auf dem Web basierendes Personal-Assistent-Kommunkikationssystem
DE19844071A1 (de) Verfahren zum Lösen von Datenkonflikten in einem gemeinsamen Datenumfeld
DE60004211T2 (de) Entfernung von duplizierten objekten aus einem objektspeicher
DE19838055A1 (de) Kommunikationssystem
DE69027524T2 (de) Verfahren und System zur automatischen Steuerung der Verteilung von Datenobjekten
Abrantes et al. Preparing project based organizations for change
EP1193624A1 (de) Qualitätsmanagementverfahren
DE102005050287A1 (de) Verfahren und Anordnung zur Verarbeitung und/oder Verwaltung von Satzaufträgen für Anzeigen in Druck- und/oder online-Medien sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium und ein Verfahren zum Datenmanagement in verteilten objektorientierten Workflow-Systemen
WO2002057902A2 (de) Verfahren und einrichtung zur software-entwicklung
DE102005018864B4 (de) Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm
EP2479664A1 (de) System und Verfahren zum Erzeugen eines Quellcodes für ein Computerprogramm
DE19911699A1 (de) Verfahren zur Überwachung, Steuerung und/oder Optimierung von Prozeß- und/oder Arbeitsprojektplänen
DE602004002450T2 (de) Ausgabedatenverwaltung
DE19911373A1 (de) Einrichtung und Verfahren zum Betrieb von Geschäftsprozessen in einem verteilten Informationsnetz
EP1227454B1 (de) Verfahren zur Zusammenstellung eines Testes mit Hilfe einer Datenverarbeitungsanlage
DE10153500A1 (de) Verfahren zur Kommunikation zwischen Mitgliedern und Nichtmitgliedern eines Teams
DE10153508A1 (de) System und Verfahren für gemeinsame Datenbenutzung zwischen Mitgliedern verschiedener Organisationen
EP0729619A1 (de) Verfahren zur automatischen modellierung eines teilprozesses aus einem gesamtprozess durch einen rechner
DE10154306A1 (de) Verfahren für die Problemlösung innerhalb einer Teamumgebung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP