Decision model managing software development projects




















The purpose of this research was to develop and apply a systems-based framework for the analysis of software development project performance. Software development project performance is measured at … Expand.

View 1 excerpt, cites background. Background: In software project management, the decision-making process is a complex set of tasks mainly based on human relations, individual knowledge, and cultural background.

The factors that … Expand. View 2 excerpts, cites methods and background. Project Management Journal. A review on decision making of risk mitigation for software management.

Decision making DM is one of the main phases in risk mitigation for software management. DM is undeniably an essential phase in risk mitigation. Every decision has a different level of influence or … Expand. Highly Influenced. View 5 excerpts, cites background and methods. Managing the Software Development Process. The goal of any software development project is to produce a product that is delivered on time, within the allocated budget, and with the capabilities expected by the customer and unfortunately, this … Expand.

View 1 excerpt, references background. Quality management metrics for software development. A quality-assured hierarchical model for solution development and delivery management. How to manage a successful software project : methodologies, techniques, tools. If only one criterion is met then the indicator may be termed as yellow.

Green is flagged when not lateness, no mismatches and no gaps are encountered. Sending authority Receiving authority Planned delivery Planned receiving date date Actual delivery date Actual receiving date Exit criteria met yes no Entry criteria met yes no Figure 4: Example of Deliverables status interoperability The where: Controllability at the interface interprocess to ensure quality assurance The issue of separating quality modeling from process modeling, as seen in the past, suggests the need for a single, integrated point of departure from which process, deliverables, resources and environment are examined together with their quality attributes and metrics in support of controllability.

The indicators allow metrics to be defined, therefore measurable. A taxonomy of quality attributes discussed in Barbacci et al. In other words, the hierarchical sets of indicators are examined to make sure each task completion and each deliverable in accordance to those quality attributes guidelines. Quality metrics are thus associated with each and every indicator, whether it is an independent indicator at the non- management personnel level or aggregate indicator at the higher level of organization and management.

The model is therefore quality-assured based on C3C. Throughout our development and delivery process, primary control is placed at the interface between two subsequent phases. The control within each process or sub-process supporting the corresponding phase is the responsibility of the corresponding owner.

Controllability associated with the phase indicators allows decision-making to be easily exercised whether the decisions are strategic, tactical or operational.

Both interoperability and controllability are performed at the inter-process level. Interestingly, this in turn allows a direct linkage between process attributes and quality attributes of deliverables for management consideration at all levels rather than just at the project level as commonly seen in practice. The when: Effective decision-making As we have indicated, to aid in decision making, at any stage of development and delivery, status is reported by the set of indicators describing it.

The lower indicators rollup to support the next higher level of indicators for decision making. Information gathering during the process is readily available so that decisions makers can apply different decision schemes based on situations and functions. As a general rule, every organization unit and every level of management are involved in the decision-making process, each in its own scope of responsibility, level of authority and roles primary or supporting.

A decision scheme using the indicators that involves three core tasks as described by Rouse Hopple, can be readily applicable: 1 situation assessment can be used in conjunction with the set of indicator statuses, 2 planning and commitment and 3 execution and monitoring may be incorporated in deliverables reporting. Thus, the model allows other methodologies on decision processes Hopple, to be implemented as appropriate.

In this simplified prototype, we use the 4-phase approach 1 project definition feasibility , 2 requirements, 3 design, and 4 implementation Figure 3 , and the organization consists of three layers of decision making: the non-management personnel at the lowest layer, the project manager at the mid-layer, and the executive sponsoring the project at the highest layer. A major deliverable is the Phase Definition Report Figure 5b. The indicator texts are the subheadings tasks called work items of the report.

A deliverable is the detailed write-up under each subheading e. The evaluation rule is that if the section under a subheading is well prepared and well written, then the indicator is marked as Green. If missing, it will be Red. Some incomplete description will result in a Yellow. The immediately higher authority a project manager, in this prototype in turn evaluates the document content Figure 6b to report a Green, Yellow or Red status Figure 6a depending upon the status of the write-ups deliverables and the quality Correctness, completeness, consistency and Compliance of the items under review.

Examination of the report by a project manager in this prototype concludes that there are four work items that are approved Green indicators , and one item Project Estimates and Schedules is not Red indicator. A green in Phase 0 requires that all Phase 0 Work Items are green. A Yellow requires that there is at a Yellow in a work items without any Red in any work items will result in a Yellow in Phase 0. Any Red regardless of others will result in a Red indicator in Phase 0.

This would make the whole Phase 0 Red, therefore it will be automatically rolled up to report as Red in the Executive Summary report Figure 6. Any phase 0, 1, 2 or 3 that is Red will result in a Red the project status.

Inversely, the above roll-up reporting scheme allows detailed drilled-down operations to be performed. The executive can drill down to see the status of the project in any phases by clicking the appropriate links e.

Continuing the drill-down review by clicking the gray button Link to Actual Documents , the executive is presented with the actual document showing the reason for the R status: missing Project Estimates and Schedules. The prototypical application was basically designed to implement the four concepts discussed in section 2: mappability what and why , accountability who , interoperability how and controllability where for decision-making when for all levels of management with C3C.

The higher the position in the organization, the broader and the coarser the associated view. The executive may also request a list of all projects owned by him or her, which have a particular status such as all non-Green projects.

Project Management and first-line management can also override their associated indicators and keys within their scope of responsibility. Besides the roll-up status, drill-down details, executive override and management override, the prototype offers other capabilities.

The pilot implementation has revealed many benefits. In fact, with a web-based application, all reports submitted online with pre-formatted forms can be easily accessed by authorized personnel at any time from anywhere. Each responsible party will work on its own time to report progress and status on its own tasks.

Since the Red, Yellow and Green status reported at the bottom level of task hierarchy is rolled up automatically to the highest level of management: executive, the executives may make strategic and tactical decisions or override the status with proper justifications recorded and undeletable. The overriding notifications are automatically forwarded to responsible parties involved.

The executives may drill down the task hierarchy to examine any details for proper action items. From a quality assurance and quality control perspective, the use of four principles: completeness, correctness, consistency and compliance at any management and technical levels help identify errors and defects in solution planning, estimation, sizing, scheduling in all phases of development cycle from conceptualization to realization.

Different and special reports on outstanding items can be generated and separated by project, owners, and other types of grouping. In summary, the paper proposes a decision model as solution to the four issues cited in section 1.

As described in the sections , the making of our decision model relies on the mapping between development process and the hierarchical organization supporting it. The key to the mapping is the set of goal-directed indicators targeted at the completion of tasks and deliverables by each task.

The creation of these indicators is completely within the control of the organization units in charge. The decision model described in this article thus offers the software development organization a quality-assured, decision-assisted management scheme with high practicality, simplicity and flexibility via the use of a hierarchy of goal-directed indicators.

The indicators have a direct relationship to metrics and quality of process, deliverables, resources supporting them and environment. The organization may make use of any existing measurement techniques and metrics associated with them, and any decision making schemes.

The metrics serve as keys to severity level for each indicator. The model works well with any software process frameworks e. This is because it is conditioned only by appropriate indicators defined by the organization according to its mission, goals and strategies. It will also work well for e-businesses application development, enterprise application integration and others types of application development such as portals, web-based or web-enabled application or e- business integration.

From the management organization perspective, any organizational structure can be mapped. Strategy, Systems Practice, Vol. Adept Boehm, B. Software risk management: Principles and practices. Its first peculiarity is that all work is split into iterations like the iterative model. These iterations are named sprints. The main difference with the iterative approach is that this amount of work is not strict and can be changed in the middle of the process. They give him updates on the performed work and familiarize him with the plan.

All changes are also discussed with the customer and approved by him. Each stage in Agile should be analyzed and accepted by all sides before the development team can move on to the next one. Agile includes daily or weekly calls and Sprint reviews. Sprint reviews have such a structure — the first half of the meeting is dedicated to the performed work, and the second half is about planning the next Sprint.

One more aspect of the Agile software life cycle is face-to-face communication. It is one of 12 Agile principles. Considering that companies often outsource, meeting a customer face-to-face is problematic, but Agile offers video conferencing instead of audio calls to observe the body language.

It helps to avoid some misunderstandings and build better relationships with clients. Research on Agile methodology shows incredible results. Here are the main key points:. So, in general, the agile methodology allows the customer to see the result and understand if he is satisfied with it or not after every development iteration. This is one of the advantages of the agile software development life cycle model. One of its disadvantages is that it is difficult to estimate the resources and development cost with the absence of defined requirements.

People consider Scrum and Extreme programming the two different implementations of Agile. Scrum is a project management methodology, and XP is a development technique. Extreme programming contains methods targeting specifically the technical side of the software development process.

They include continuous integration, pair programming, test-driven development, etc. Scrum, in turn, is oriented towards the organization of the process.

Sprints lie at the core of Scrum. A sprint is an iteration that lasts from 2 to 4 weeks. It starts with the planning of the product and an iteration itself.

Then, the product passes the stages of a chosen software development methodology XP is the most popular option in terms of Scrum. The core methods of Scrum contain sprint planning, daily meet-ups, demos and reviews, and a retrospective at the end of each sprint.

Also, Scrum, as a realization of Agile, is subject to 12 Agle principles. The visibility and obviousness of the process are what make Scrum stand out. Sprint backlogs SB and product backlogs PB would be excellent proof of it. PB is a set of objectives that should be achieved at the end of development. Product backlog includes the names of items, their priority, and a number of a sprint when they need to be completed.

In sprint backlog, each item is divided into small steps called tasks. SB defines all tasks that developers undertake to complete during a particular sprint. It is divided into specific vertical sections. The ones for the product backlog contain:. As you can see, product backlog mainly targets the organizational part of the software life cycle. In each section, team members place sticky notes with related information. However, lately, such boards have taken the shape of online spreadsheets.

It saves precious time and remains very illustrative. It is responsible for consistent product delivery and process organization. The most common combination is Scrum and XP. In extreme programming, minor weekly releases are much better than a completed app delivery in a one-year perspective. Also, testers work along with developers during the whole process, unlike Waterfall, for example.

It eliminates a tremendous amount of work during the testing stage and the derived heap of code changes. XP also implies that the code is shared between all team members, so everyone can give suggestions and look at it from the other angle.

Kanban is another realization of Agile. It somehow reminds Scrum, but still, they have some distinct differences. Both approaches use boards to track progress and have similar sections. The ones of Kanban are:. The range of statuses in Kanban is less extensive, but it is sufficient to keep up with the software development process.

The key differences lie in the work approach and main principles of the method. It is open to constant changes. It allows estimating the approximate development time in the end.

Also, Scrum has strictly defined roles, such as scrum master, product owner, and a development team. In Kanban, no roles are set, so the flexibility is much higher.

Scrum seems very flexible before you find out about Kanban, enabling even more flexibility. However, if you learn a little about each, it all starts shaping up. Each software development methodology has some significant distinctions that you may proceed from. Their knowledge of the peculiarities of each methodology noticeably facilitates the task.

As soon as you have answered these questions, you should integrate them with your knowledge about software development techniques. Iterative and Spiral models do fit as well. When the timeframes are limited to short, Agile is the correct answer.

Due to the possibility of amending changes anytime and working simultaneously on many features, it significantly reduces the timeframes. Some people may still consider Agile not stable enough to leverage it in large projects.

It may seem that predictive models provide more permanence and sustainability that should theoretically result in fast product delivery and high app quality. No one can predict all the minor details that may appear in the middle of the process.

Such a software development approach is suitable for smaller projects with fewer requirements. Starting software development with the Waterfall or V-shaped model when the budget is relatively low is questionable. Such models require numerous cycle repetitions leading to increased development time and, consequently, the budget.

As visualization makes it easier to perceive the data, some people form a table to put all the questions and methodologies. The table may and should be amended with some more questions, but you can see the main points to understand the concept in the presented table. One more crucial thing to say is that you can continually optimize the existing model.

They exist to guide you through the process, but you can optimize the duration of the stages or add some more if you consider it necessary.

Methodologies eliminate the need to invent new management and development techniques. They are a framework for the software development process. Different models were created during the SDLC evolution to meet a wide variety of development requirements and expectations.

Nowadays, the world is moving towards flexibility instead of excessive regularity and orderliness. Still, agile approaches perfectly combine responsiveness and well-organized project management. These 5 phases may be amended by some others, or their names may differ depending on the software development methodology.

However, traditionally, exactly these five steps are considered the necessary basis. These two terms are often used interchangeably although they mean different things. The first one stands for software development life cycle and describes the stages that software passes while being built. The second term is about testing.

It streamlines the testing process by dividing it into particular phases as well. Software development approaches are divided into two major groups: heavyweight predictive and lightweight adaptive.

The first group includes techniques that require creating a detailed plan and its further following. Such models include Waterfall, V-shaped, Iterative, etc.



0コメント

  • 1000 / 1000