Wednesday, August 19, 2009

Task 2


Software Engineering

The Top Five Software Project Risks
Get the PDF VersionBy Mike Griffiths

I recently posted an entry on a risk assessment tool you can download and use. Risk management (or more precisely risk avoidance) is a critical topic, but one that is often dull to read about and therefore neglected. One of the few useful and entertaining books on the subject is "Waltzing with Bears: Managing Risk on Software Projects" by Tom Demarco, Timothy Lister, authors of the ever popular "Peopleware". This post provides a useful summary of their top 5 software project risks.
While not an agile focussed book, I find it interesting that of the top five software project risks identified in Waltzing with Bears, all have suggested solutions rooted in agile methods. Demarco and Lister rate the top five risks and their mitigation strategies as...
Risk 1: Inherent schedule flaws
Explanation: Software development, given the intangible nature and uniqueness of software, is inherently difficult to estimate and schedule.
Waltzing...Solution: Get the team more involved in planning and estimating. Get early feedback and address slips directly with stakeholders.
Agile Practice: On agile projects the team is heavily involved in planning and estimating through activities such as XP's planning game and Wideband Delphi workshops. By working in short increments the true velocity of the team quickly emerges and is visible to all stakeholders who are now more closely involved in the project. In short, the true progress is hard to hide and quickly revealed, giving feedback to the stakeholders.
Risk 2: Requirements Inflation
Explanation: As the project progresses more and more features that were not identified at the beginning of the project emerge that threaten estimates and timelines.
Waltzing...Solution: Constant involvement of customers and developers.
Agile Practice: Agile projects plan in the regular trade-off discussions about features and estimates at every iteration boundary. Changes and requirements inflation are accepted as a fact of software projects. Rather than utilising change-suppression mechanisms, prioritisation sessions are scheduled that allow worthwhile changes to proceed and initially envisioned features to be superseded if the business gives their authorisation. It has never been possible to squeeze a pint into a quart cup, but now at least we anticipate the likely issue and have mechanisms in place to address the matter as part of the project from its early stages.
Risk 3: Employee Turnover
Explanation: Key personnel leave the project taking critical information with them that significantly delays or derails the project.
Waltzing...Solution: Increased collaboration and information sharing on the team.
Agile Practice: Agile projects practice information sharing techniques such as pair programming, common code ownership, and frequent reporting at daily stand-ups specifically to reduce the "bus-factor". When this "bus factor" (the impact to the project of a key member being hit by a bus) is reduced multiple team members share key information and the risk due to employee turnover is small. Also, often overlooked, is the fact that when working in an engaging, rewarding, empowered, collaborative environment such as agile projects, people are far less likely to want to move elsewhere so the risk is often avoided as well as reduced.
Risk 4: Specification Breakdown
Explanation: When coding and integration begin it becomes apparent that the specification is incomplete or contains conflicting requirements.
Waltzing...Solution: Use a dedicated Product Manager to make critical trade off decisions.
Agile Practice: Agile projects utilise the concept of an ambassador user, subject matter expert, or customer proxy to play the product manager role. The idea is that someone (or some group) need to be readily available to answer questions and make decisions on the project. Traditional projects suffer specification breakdown when no one will own the role and conflicting assumptions or decisions are made. Agile projects have some form of product owner role central to their core team composition to ensure decisions are made in a timely fashion.
Risk 5: Poor Productivity
Explanation: Given long project timelines, the sense of urgency to work in earnest is often absent resulting to time lost in early project stages that can never be regained.
Waltzing...Solution: Short iterations, right people on team, coaching and team development.
Agile Practice: Agile methods recognise Parkinson's Law and the Student Syndrome apply to software projects. Parkinson's Law says that: "Work expands to fill the time available" and Student Syndrome: "Given a deadline, people tend to wait until the deadline is nearly here before starting work." By having short iterations, work is timeboxed into a manageable iteration (typically 1-4 weeks) and there is always a sense of urgency. Agile methods do not specifically address getting the right people on team, coaching and team development, but these are core leadership roles applicable to both agile and traditional projects.

What is Risk Management?
as the culture, processes, and structures that are directed towards the effective management of potential opportunities and adverse effects (AS/NZS 4360:1999).
This is a broad definition that can quite rightly apply in nearly all fields of management from financial and human resources management through to environmental management. However in the context of contaminated sites, risk management can be taken to mean the process of gathering information to make informed decisions to minimise the risk of adverse effects to people and the environment.
Risk assessment involves estimating the level of risk – estimating the probability of an event occurring and the magnitude of effects if the event does occur. Essentially risk assessment lies at the heart of risk management, because it assists in providing the information required to respond to a potential risk.
In a resource management setting, environmental risk assessment may be used to help manage, for example:
natural hazards (flooding, landslides),
water supply and waste water disposal systems, and
contaminated sites.
Human health risk assessment is one form of risk assessment, focusing on assessing the risk to people and communities from hazardous substances or discharge of contaminants.
Ecological risk assessment is another form of risk assessment that can be used to assist management of risks to ecological values.
The focus of risk assessment for contaminated sites is usually human health, as a large proportion of the known potentially contaminated sites are located in urban areas. However, where valued natural environments are present, the focus of ecological risk assessment is on assessing the risks to plants, animals and ecosystem integrity from chemicals present at or discharging from a contaminated site.

Home About Our Site Introductory Risk Assessment Advanced Risk Assessment Search Contact Us Disclaimer
Page last updated: 01 May 2007
Copyright © 1998 - 2003 Project Participants & their Organisations

WHAT IS RISK?

Hide links within the definitionShow links within the definition
Definition 1
General: Probability or threat of a damage, injury, liability, loss, or other negative occurrence, caused by external or internal vulnerabilities, and which may be neutralized through pre-mediated action.

www.investorwords.com/4295/risk_averse.html - 56k - Cached

Task

IT121
Siraflor M.Pagcamaan
Mr.Dony Dongiapon

Monday, August 17, 2009


SOFTWARE ENGINEERING

.

Wikipedia: Software engineering
Top
The new Airbus A380 uses a substantial amount of software to create a "paperless" cockpit. Software engineering successfully maps and plans the millions of lines of code comprising the plane's software

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1]

The term software engineering first appeared in the 1968 NATO Software Engineering Conference and was meant to provoke thought regarding the current "software crisis" at the time.[2] [3] Since then, it has continued as a profession and field of study dedicated to creating software that is of higher quality, more affordable, maintainable, and quicker to build. Since the field is still relatively young compared to its sister fields of engineering, there is still much debate around what software engineering actually is, and if it conforms to the classical definition of engineering. It has grown organically out of the limitations of viewing software as just programming. "Software development" is a much used term in industry which is more generic and does not necessarily subsume the engineering paradigm. Although it is questionable what impact it has had on actual software development over the last more than 40 years,[4][5][6] the field's future looks bright according to Money Magazine and Salary.com who rated "software engineering" as the best job in America in 2006.


www.answers.com/topic/software-engineering

Who I am?

I am a simple person,taking up my college degree:I am a BSIT student of DOSCST;
I love to read books,watching Tv and joking,I live in the Philippines,I am a true Filipino.I am interested in friends ..