GOSSIPS,RUMORS,EVENTS AND HOT CINEMA UPDATED NEWS          BIKES          CARS          LAPTOPS          MOBILE PHONES          COMPUTER HARDWARE          SOFTWARE UPDATES          CONSUMER EECTRONICS          APPLE          INTERNET UPDATES
         Hollywood Actors          Hollywood Actress          Bollywood Actors          Bollywood Actress          Tollywood Actors          Tollywood Actress          Kollywood Actors          Kollywood Actress          Sandalwood Actors          Sandalwood Actress          Malluwood Actors          Malluwood Actress

SOFTWARE MANAGEMENT

Software configuration management Software development process Activities and steps Requirements · ArchitectureDesign · ImplementationTesting · Deployment Models Agile · Cleanroom · Iterative · RADRUP · Spiral · Waterfall · XP · Scrum Supporting disciplines Configuration managementDocumentationQuality assurance (SQA)Project managementUser experience design In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines. SCM concerns itself with answering the question "Somebody did something, how can one reproduce it?" Often the problem involves not reproducing "it" identically, but with controlled, incremental changes. Answering the question thus becomes a matter of comparing different results and of analysing their differences. Traditional configuration management typically focused on controlled creation of relatively simple products. Now, implementers of SCM face the challenge of dealing with relatively minor increments under their own control, in the context of the complex system being developed. Terminology The history and terminology of SCM (which often varies) has given rise to controversy. Roger Pressman, in his book Software Engineering: A Practitioner's Approach, states that SCM is a "set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made." Source configuration managemen is a related practise often used to indicate that a variety of artifacts may be managed and versioned, including software code, documents, design models, and even the directory structure itself. Atria (later Rational Software, now a part of IBM), used "SCM" to mean "software configuration management". Gartner uses the term software change and configuration management. Purposes The goals of SCM are generally: Configuration identification - What code are we working with? Configuration control - Controlling the release of a product and its changes. Status accounting - Recording and reporting the status of components. Review - Ensuring completeness and consistency among components. Build management - Managing the process and tools used for builds. Process management - Ensuring adherence to the organization's development process. Environment management - Managing the software and hardware that host our system. Teamwork - Facilitate team interactions related to the process. Defect tracking - Making sure every defect has traceability back to the source Reference management software From Wikipedia, the free encyclopedia • Find out more about navigating Wikipedia and finding information • Jump to: navigation, search It has been suggested that this article or section be merged with Citation Creator. (Discuss) Reference management software, citation management software or personal bibliographic management software is software for scholars and authors to use for recording and utilising bibliographic citations (references). Once a citation has been recorded, it can be used time and again in generating bibliographies, such as lists of references in scholarly books, articles and essays. The development of reference management packages has been driven by the rapid expansion of scientific literature. These software packages normally consist of a database in which full bibliographic references can be entered, plus a system for generating selective lists or articles in the different formats required by publishers and learned journals. Modern reference management packages can usually be integrated with word processors so that a reference list in the appropriate format is produced automatically as an article is written, reducing the risk that a cited source is not included in the reference list. They will also have a facility for importing the details of publications from bibliographic databases. Reference management software does not do the same job as a bibliographic database, which tries to list all articles published in a particular discipline or group of disciplines; examples are those provided by Ovid Technologies (e.g. Medline), the Institute for Scientific Information (e.g. Web of Knowledge) or monodisciplinary learned societies e.g. the American PsychologicalAssociation (PsycINFO). These databases are large and have to be housed on major server installations. Reference management software collects a much smaller database, of the publications that have been used or are likely to be used by a particular author or group, and such a database can easily be housed on an individual's personal computer. Project management software Project management software is a term covering many types of software, including scheduling, cost control and budget management, resource allocation, collaboration software, communication, quality management and documentation or administration systems, which are used to deal with the complexity of large projects. Tasks of project management software Scheduling One of the most common tasks is to schedule a series of events, and the complexity of this task can vary considerably depending on how the tool is used. Some common challenges include: Events which depend on one another in different ways or dependencies Scheduling people to work on, and resources required by, the various tasks commonly termed resource scheduling Dealing with uncertainties in the estimates of the duration of each task Arranging tasks to meet various deadlines Juggling multiple projects simultaneously to meet a variety of requirements Calculating critical path In many complex schedules, there will be a critical path, or series of events that depend on each other, and whose durations directly determine the length of the whole project (see also critical chain). Some software applications (for example, Dependency Structure Matrix solutions) can highlight these tasks, which are often a good candidate for any optimization effort. Providing information Project planning software needs to provide a lot of information to various people, to justify the time spent using it. Typical requirements might include: Tasks lists for people, and allocation schedules for resources Overview information on how long tasks will take to complete Early warning of any risks to the project Information on workload, for planning holidays Evidence Historical information on how projects have progressed, and in particular, how actual and planned performance are related Approaches to project management software Desktop Project management software can be implemented as a program that runs on the desktop of each user. This typically gives the most responsive and graphically-intense style of interface. Desktop applications typically store their data in a file, although some have the ability to collaborate with other users (see below), or to store their data in a central database. Even a file-based project plan can be shared between users if it's on a networked drive, and no two people want to access it at once. Desktop applications can be written to run in a heterogeneous environment of multiple operating systems, although it's unusual. Web-based Project management software can be implemented as a Web application, accessed through an intranet or extranet using a web browser. This has all the usual advantages and disadvantages of web applications: Can be accessed from any type of computer without installing software Ease of access-control Naturally multi-user Only one software version and installation to maintain Typically slower to respond than desktop applications Project information not available when the user (or server) is offline. Some packages do allow the user to "go-offline" Personal A personal project management application is one used at home, typically to manage lifestyle or home projects. There is considerable overlap with single user systems, although personal project management software typically involves simpler interfaces. See also non-specialised tools below. Single user A single-user system is programmed with the assumption that only one person will ever need to edit the project plan at once. This may be used in small companies, or ones where only a few people are involved in top-down project planning. Desktop applications generally fall into this category. Collaborative A collaborative system is designed to support multiple users modifying different sections of the plan at once, for example, updating the areas they personally are responsible for such that those estimates get integrated into the overall plan. Web-based tools, including extranets, generally fall into this category, but have the limitation that they can only be used when the user has live Internet access. To address this limitation, client-server-based software tools exist that provide a Rich Client that runs on users' desktop computer and replicate project and task information to other project team members through a central server when users connect periodically to the network and other tasks. Some tools allow team members to check out their schedules (and others' as read only) to work on them while not on the network. When reconnecting to the database, any changes are synchronized with the other schedules. Integrated An integrated system combines project management or project planning, with many other aspects of company life. For example, projects can have bug tracking issues assigned to each project, the list of project customers becomes a customer relationship management module, and each person on the project plan has their own task lists, calendars, and messaging functionality associated with their projects. Similarly, specialised tools like SourceForge integrate project management software with source control (CVS) software and bug-tracking software, so that each piece of information can be integrated into the same system. Non-specialised tools While specialised software may be common, and heavily promoted by each vendor, there are a vast range of other software (and non-software) tools used to plan and schedule projects. Calendaring software can often handle scheduling as easily as dedicated software Spreadsheets are very versatile, and can be used to calculate things not anticipated by the designers. Criticisms of project management software The following may apply in general, or only to specific products. May not be derived from a sound project management method. For example, displaying the Gantt chart view by default encourages users to focus on task scheduling too early, rather than identifying objectives and deliverables. May be inconsistent with the type of project management method. For example, traditional (say Waterfall) vs. agile (say Scrum). Focuses primarily on the planning phase and does not offer enough functionality for project tracking, control and in particular plan-adjustment. There may be excessive dependency on the first paper print-out of a project plan, which is simply a snapshot at one moment in time. The plan is dynamic; as the project progresses the plan must change to accommodate tasks that are completed early, late, re-sequenced, etc. Good management software should not only facilitate this, but assist with impact assessment and communication of plan changes. Does not make a clear distinction between the planning phase and post planning phase, leading to user confusion and frustration when the software does not behave as expected. For example, shortening the duration of a task when an additional human resource is assigned to it while the project is still being planned. Offer complicated features to meet the needs of project management professionals, which must be understood in order to effectively use the product. Additional features may be so complicated as to be of no use to anyone. Complex task prioritization and resource leveling algorithms for example can produce results that make no intuitive sense, and overallocation is often more simply resolved manually. Some people may achieve better results using simpler technique, (e.g. pen and paper), yet feel pressured into using project management software by company policy (discussion). Similar to PowerPoint, project management software might shield the manager from important interpersonal contact. New types of software are challenging the traditional definition of Project Management. Frequently, users of project management software are not actually managing a discrete project. For instance, managing the ongoing marketing for an already-released product is not a "project" in the traditional sense of the term; it does not involve management of discrete resources working on a something with a discrete beginning/end. Groupware applications now add "project management" features that directly support this type of workflow-oriented project management. Classically-trained Project Managers may argue whether this is "sound project management." However, the end-users of such tools will refer to it as such, and the de-facto definition of the term Project Management may change. When there are multiple larger projects, project management software can be very useful. Nevertheless, one should probably not use management software if only a single small project is involved, as management software incurs a larger time-overhead than is worthwhile Software project management Software project management is a sub-discipline of project management in which software projects are planned, monitored and controlled. Project Planning The purpose of project planning is to identify the scope of the project, estimate the work involved, and create a project schedule. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion. Project monitoring and control The purpose of project monitoring and control is to keep the team and management up to date on the project's progress. If the project deviates from the plan, then the project manager can take action to correct the problem. Project monitoring and control involves status meetings to gather status from the team. When changes need to be made, change control is used to keep the products up to date. Software requirements Requirements analysis is a term used to describe all the tasks that go into the instigation, scoping and definition of a new or altered computer system. Requirements analysis is an important part of the software engineering process; whereby business analysts or software developer identify the needs or requirements of a client; having identified these requirements they are then in a position to design a solution. Risk management Risk management is the process of measuring, or assessing risk and then developing strategies to manage the risk. In general, the strategies employed include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk. Traditional risk management, which is discussed here, focuses on risks stemming from physical or legal causes (e.g. natural disasters or fires, accidents, death, and lawsuits). Software process A software development process is concerned primarily with the production aspect of software development, as opposed to the technical aspect. These processes exist primarily for supporting the management of software development, and are generally skewed toward addressing business concerns. Problems in software projects The problems in software projects come from three different viewpoints: project managers, developers and customers. The problems project managers face include: poor roles definition, lack of estimating and planning skills, lack of decision making skills. Project managers do need to face the schedule, budget and quality constraints. The problems developers face include: lack of knowledge in the application area, lack of knowledge about developing standards, lack of up to date documentations, deadline pressure, changes of application requirements. The problems customers face include: monetary constraints, receiving products past the due date. Software product management Software product management is the process of managing software that is built and served as a product as opposed to a service Software products A software product is typically a single application or suite of applications built by a software company to be used by *many* customers, businesses or consumers. The mass-market notion differs from custom software built for the use of a single customer by consulting firms like IBM Global Services or Accenture. Examples of business software products include the Oracle 10g database by Oracle Corporation, SAP R/3 ERP software by SAP AG, QuickBooks by Intuit, etc. Examples of consumer software products include Microsoft Office by Microsoft, TurboTax by Intuit. Since the late 1990s, many software products have been offered as a service, so that the customers - businesses or end consumers - run the same application without installing the software on their computers. Examples include Customer Relationship Management (CRM) software by Salesforce.com, consumer shopping comparison software by Shopping.com, various web search tools offered by Google, Yahoo!, and the auction marketplace by eBay. Even though these applications are not packaged in media that can be touched and felt, they are software products nonetheless, and require the same product management rigor as packaged software do. In fact, they do require more rigor since the product manager's planning must now include operational concerns such as service availability. The need for software product management To develop, sell and support a successful software product a business needs to understand its market, identify the opportunity, develop and market an appropriate piece of software. Hence the need for product management as a core business function in software companies. Hardware companies also have a need for software product management, since frequently operating system software needs to be installed on computer hardware before the hardware can be functional, and operating system software can be sold as a product separately. For example, Sun Microsystems is a hardware company, and is in the business of manufacturing and distributing Sun workstations (hardware) and the Solaris Operating System (software). Building and delivering Solaris as a product in the marketplace requires software product management. Management of aspects of software development Software product management deals with the following aspects of software development within a software and/or hardware firm: Idea generation on whiteboards for a new software product, or for the next version of an existing product. Gathering of business and/or market requirements from prospects, customers of earlier versions of the product, domain experts, technology visionaries, market experts, products / solutions from competing vendors, etc. Crafting of Marketing Requirements Documents, or MRDs, which synthesize the requirements / needs of various stakeholders as outlined above. Using the MRD as a basis, come up with a product requirements document or PRD, as an input to the engineering team to build out the product. A PRD is also known as a functional specification. Frequently, a PRD can be a collection of UML Use Cases, UML Activity Diagrams, HTML mockups, etc. It can have other details such as the software development environment, and the software deployment environment. For example, where as the development environment can be J2EE / Java IDEs, the deployment environment can be the WWW (worldwide web) or the Internet. Deliver the PRD to the software engineering team, and manage conflicts between the business units, the sales teams, and the engineering teams, as it applies to the software products to be built out. Once the software development gets into build / release cycle, conduct acceptance tests, if required by the firm / software manufacturer. Deal with the packaging of the product. This can vary from demonstrating the product to customers using web-based conferencing tools, to building a flash/captivate demo and deploying it on the company website, to other placement and promotion tactics. Frequently, in Silicon Valley, these two aspects of marketing, and sometimes also pricing, are dealt with by Product Marketing Managers, as opposed to Product Managers. Once the product is deployed at a customer site, solicit customer feedback, report software bugs, and pass these on back to engineering for subsequent build / release cycles, as the product stablizes, and then matures. Perform competitive analysis as to how this product is behaving in the market, vis-a-vis other products catering to the same / similar customer segments. In the software space, this might require the product manager to take the opinion of analysts, who can come from name brand market research firms like IDC, Forrester Research, and Gartner Group. Solicit more features and benefits from the users of the software product, users of competitive products, and from analysts and craft / synthesize these requirements for subsequent product build / release cycles, and pass them on to the software engineering team. The above tasks are not sequential, but can co-exist. For a product manager to be efficient in the above tasks, he has to have both engineering and marketing skills. Hence, frequently, Silicon Valley firms prefer engineers who are also MBAs to do software product management.
Related Posts with Thumbnails

Actors And Actress Gallery