사고로부터 배운 교훈. 소프트웨어 개발 경험을 통해 얻은 교훈

지식 기반에서 좋은 일을 보내려면 간단합니다. 아래 양식을 사용하십시오.

좋은 직업  사이트 "\u003e

학생과 대학원생, 학업과 업무에 지식 기반을 사용하는 젊은 과학자는 매우 감사하게 생각합니다.

http://www.allbest.ru/에서 게시

프로젝트 폐쇄

1. H프로젝트 폐쇄 문제

각 프로젝트는 필연적으로 끝납니다. 그러나 프로젝트 참여자 중 누가 특별히 이것을하고 싶어하는가? 완료된 작업. 권력을 이전 할 수 있습니다. 모두는 그를 기다리고있는 것에 대해 생각하고 이것이 새로운 흥미 진진한 프로젝트가되기를 희망합니다. 한편, 폐쇄 단계의 신중한 관리는 다른 프로젝트 단계의 관리보다 중요하지 않습니다. 우리의 관찰에 따르면, 폐쇄와 분석을 능숙하게 수행하는 회사는 계속 번창하고 있습니다. 이들은 무기한으로 진행되고 실수를 반복하지 않는 프로젝트가없는 회사입니다.

프로젝트의 최종 단계에는 불쾌하게 많은 수의 작업이 포함됩니다. 과거와 현재 소규모 프로젝트  프로젝트 관리자는 모든 작업이 완료되었으며 "자유 계약"이라는 미해결 문제가 없는지 확인해야했습니다. 이 접근법은 더 이상 오늘날 관련이 없습니다. 오늘 프로젝트 조직많은 프로젝트가 동시에 수행되는 경우 프로젝트 관리자, 프로젝트 팀, 프로젝트 관리 사무실, 감독 기관 및 후배 방법으로 수업을 배우는 독립 전문가간에 마감 작업에 대한 책임이 분산됩니다. 많은 작업이 겹치고 동시에 발생하며 이러한 당사자 간의 조정과 협력이 필요합니다.

프로젝트 폐쇄의 세 가지 주요 목표 :

1. 프로젝트를 최소화하십시오.프로젝트를 축소하는 주요 작업은 프로젝트가 승인되고 고객이 승인했는지 확인하는 것입니다. 기타 폐업 활동에는 청구서 마감, 청구서 지불, 장비 및 인력 재배포, 프로젝트 직원의 진행을위한 새로운 기회 발견, 시설 폐쇄 및 최종 보고서가 포함됩니다. 설문 조사 (목록)는 혼란에 빠져있는 일이 없도록 널리 사용됩니다. 많은 기업에서 폐점 작업에 대한 사자의 몫은 프로젝트 매니저와 공동으로 PMO가 주로 수행합니다. 최종 보고서는 모든 참가자로부터 데이터를 수집하는 PMO의 특별 임명 된 위원이 작성합니다. 소규모 조직 및 소규모 프로젝트에서는 이러한 활동이 프로젝트 관리자와 팀에 의해 수행됩니다.

2. 결과 평가 (프로젝트 진행) 및 프로젝트 관리 품질.팀, 개별 팀 구성원 및 프로젝트 관리자의 효율성을 평가했습니다. 판매자와 고객이 데이터를 제공 할 수 있습니다. 주요 선수들의 평가는 미래에 대한 중요한 정보를 제공합니다.

3. 회고 학습 수업.배운 교훈은 현재와 미래의 프로젝트의 성공에 기여해야합니다. 오늘날 소급 방법론에 대한 학습 교훈은 주로 독립적 인 전문가의 능력에 있습니다. 이 전문가는 또한 학습 된 교훈을 포함하는 프로젝트 종료 보고서의 주요 데이터를 제공합니다. 이 프로젝트 후 결론은 모든 문제를 다루기 위해 팀에서 논의해야한다.

모든 프로젝트가 "완료"라는 명확한 정의를받지는 않으며 고객에게 인도됩니다. 프로젝트가 끝나는 조건에 관계없이 결과는 매우 다를 수 있지만 종결 프로세스 자체는 동일한 유형입니다.

2. 프로젝트 종결의 유형

경영 최종 프로젝트

일부 프로젝트의 결말은 희망만큼 구체적이지 않습니다. 프로젝트의 끝이 프로젝트 범위 문서에 명확하게 명시 될 수 있지만 실제 끝은 이에 해당하지 않을 수 있습니다. 다행히도 대부분의 프로젝트는 여전히 끝이 있습니다. 프로젝트를 정기적으로 분석하면 그 중 일부가 계획과 다르다는 것을 알 수 있습니다. 다른 유형  아래 명시된 이유로

정상 프로젝트가 끝난 가장 일반적인 상황 - 완료된 프로젝트. 많은 IT 개발 프로젝트에서 최종 결과물은 생산에서의 최종 개발 버전의 완성과 새로운 제품 또는 서비스의 생성을 의미합니다. 시스템 업그레이드 (업그레이드) 또는 새 재고 관리 시스템 구축과 같은 다른 내부 IT 프로젝트의 경우 결과가 현재 작업에 통합 될 때 종료됩니다. 구현 중에 볼륨, 비용 및 일정이 약간 변경 될 수 있습니다.

마감 전에. 일부 프로젝트의 경우 프로젝트의 일부분이 제외되는 조기 종결이 가능한 상황이 있습니다. 예를 들어, 신제품 개발 프로젝트에서 마케팅 관리자는 테스트하기 전에 모델을 생산해야한다고 주장 할 수 있습니다.

"아직 완벽하지는 않더라도 지금 당장 신제품을 봐야합니다. 조기 시장 진입은 큰 이익을 의미합니다! 나는 우리가 엄청난 액수를 팔 수 있다고 확신한다. 너가 지금 그것을하지 않으면, 다른 기회가 없을지도 모른다! "

이는 프로젝트를보다 빨리 완료하고 생산을 시작한다는 목표로 프로젝트에 압력을가합니다. 이러한 압력에 굴복하기 전에 최고 경영진과 모든 참가자가주의 깊게 분석하고 평가해야합니다. 이 압력과 관련된 결과 및 위험. 너무 자주, 혜택은 환상적이고 위험하며 큰 위험을 안고 있습니다.

"영원한"프로젝트. 일부 프로젝트는 무한정 지속될 수 있으므로 사람들은 "영원한"아이디어에 익숙해집니다. 그러한 프로젝트의 독특한 특징은 상수가 추가 된 것인데, 이는 프로젝트의 범위가 잘못 정의 된 것을 의미합니다. 어떤 시점에서 분석 팀은이를 끝내는 방법이나 새 프로젝트를 시작하는 방법을 권장해야합니다. 예를 들어, 이전 프로젝트에 새 기능을 추가하면 "끝이없는"프로젝트의 전체 세그먼트를 대체 할 수 있습니다.

실패한 프로젝트. 이들은 일반적으로 식별하기 쉬운 프로젝트이며, 특수 그룹에 의한 분석이 끝나면 닫습니다. 그러나 프로젝트를 취소하기위한 나머지 기술 또는 기타 이유를보고하는 것이 꼭 필요합니다. 어떤 경우든지, 프로젝트 참여자가 취소 된 프로젝트에 대한 죄책감을 갖거나 단순히 참여하고 있다는 느낌을 갖도록해서는 안됩니다. 많은 프로젝트가 실패로 끝납니다. 프로젝트 팀에게는 아무런 힘이없는 상황이 있기 때문입니다.

우선 순위 변경. 회사의 우선 순위는 종종 변경되며 전략은 다른 방향을 취합니다. 예를 들어, 2008-2010 년의 금융 위기 기간. 회사는 우선 순위를 변경했습니다. 돈을 절약하고 비용을 절감하기 위해 수익 프로젝트로 전환했습니다. 감독 팀은 회사 개발 방향의 변화에 ​​따라 프로젝트 선택을 지속적으로 검토합니다. 완료되지 않은 프로젝트는 교체하거나 취소 할 수 있습니다. 즉, 프로젝트는 우선 순위가 높아지기 시작할 수 있지만 조건이 바뀌면 수명주기 동안 상태가 현저히 감소되거나 취소됩니다. 우선 순위가 변경되면 프로젝트가 불필요해질 수 있습니다.

프로젝트가 여러 가지 이유로 취소 될 수 있습니다. 때로는 처리중인 취소 유형에 따라 전체 폐쇄 프로세스를 일부 변경해야 할 수도 있습니다.

3. 프로젝트 폐쇄 작업

프로젝트 관리자와 팀원에게 많은 문제가 남아 있습니다. 프로젝트 관리자와 프로젝트 참여자가 프로젝트를 최소화 할 수 없으면 완료하지 못하는 경우가 종종 문제가됩니다. 이것은 파티 후에 묻는 것과 같습니다 : "청소를 할 자원 봉사자가 있습니까?"대부분의 작업은 일상적이고 지루합니다. 동기 부여가 최고의 문제 일 수 있습니다. 예를 들어, 장비 이전 및 최종 보고서 작성에 대한 보고서는 행동 전문가를위한 개인 주의자이므로 프로젝트 전문가를위한 "둔한"관리 작업처럼 보입니다. 프로젝트 매니저의 문제는 팀이 고객에게 남아있는 작업과 배송에 대해 여전히 생각하게 만드는 것입니다. 사전에 마감 및 분석을위한 계획 / 일정을 참가자들에게 제출함으로써, 귀하는 :

1) 프로젝트가 조만간 끝날 것이라는 사실을 팀이 받아 들일 수있게하고,

2) 다른 프로젝트로 전환 할 준비를하십시오.

이상적인 시나리오는 팀 구성원의 약속을 준비하고 프로젝트가 완료되면이를 발표하는 것입니다. 이것은 프로젝트 완료에 대한 회원들의 열정을 세밀하게 조정할 수 있으며 부하 직원에게 마감 시간을 지키도록 요구할 수 있습니다.

종결 절차는 여러 번의 접는 작업을 통해 수행되어야합니다. 많은 기업들이 프로젝트를 마감 할 긴 목록을 만듭니다. 경험을 쌓을 때입니다. 이러한 목록은 혼란 속에서 아무 것도 잃지 않도록 많은 도움을줍니다. 다음은 6 가지 주요 작업입니다.

1. 고객이 프로젝트가 수락됨을 "훌륭하게"파악하십시오.

2. 사용 된 리소스에서 "연결 해제"하고 새 프로젝트를 위해 무료로 사용합니다.

3. 팀원들에게 새로운 과제를 발표하십시오.

4. 청구서를 닫고 모든 청구서가 지불되었는지 확인하십시오.

5. 프로젝트를 고객에게 양도합니다.

6. 최종 보고서를 작성하십시오.

프로젝트 닫기에 대한 모든 세부 사항을 완료하는 것은 참을 수없는 부담처럼 보일 수 있습니다. 일부 회사는 100 개가 넘는 항목이 포함 된 체크리스트를 보유하고 있습니다. 그것은 객체, 팀, 인력, 고객, 벤더 및 프로젝트 자체에 대해 자세히 설명합니다. 그러한 목록의 단편이 아래에 나와 있습니다 (표).

프로젝트 닫기 점검표

완료 또는 완료하지 않음 (예 / 아니요)

프로젝트 스태프가 스케줄을 해산 할 준비가 되었습니까? 그가 승인 됐나요?

팀 구성원에게 무료 / 또는 새로운 약속을 받았다고 발표 했습니까?

팀원들을 평가 받았습니까?

직원에게 직업 배치 서비스와 직업 상담을 제공 했습니까?

판매자 / 계약자

각 판매자의 작업에 대한 분석이 있습니까?

프로젝트 계좌를 폐쇄하고 지불 했습니까?

고객 / 사용자

고객이 제품 인수 문서를 발행 했습니까?

고객이 "깊이있는"프로젝트를 분석하고 평가할 대화를 나눴습니까?

사용자가 설문 조사에 참여했는지 - 결과에 얼마나 만족합니까? 팀 프로젝트? 판매자? 교육? 지원됩니까? 기술 서비스?

장비 및 시설

프로젝트 리소스가 다른 프로젝트로 이전 되었습니까?

장비 대여 계약이 해지 되었습니까?

프로젝트 종료시 분석 날짜를 설정하고 참가자에게 통보합니까?

추가 설명이 필요한 작업 표시

4. 최종 보고서

최종 프로젝트 보고서는 프로젝트 결과를 요약하고 지속적인 개선을위한 유용한 정보를 제공합니다. 최종 보고서는 특정 회사에 맞춰져 있지만 그 내용은 일반적으로 다음과 같은 주제로 나뉩니다 : 완료된 작업, 분석, 권장 사항, 교훈 및 응용 프로그램에 대한 보고서.

완료된 작업에 대해보고하십시오. 이 보고서는 프로젝트 구현과 관련된 중요한 사실과 사실을 간단히 강조합니다. 예를 들어 고객을위한 프로젝트 목표가 달성되었거나 달성되지 않았습니다. 이해 관계자가 그들의 전략적 의도가 실현되었다고 만족하고 있습니까? 사용자는 품질과 결과에 어떻게 반응 했습니까? 프로젝트 목표는 의도 된대로 사용되었으며 예상되는 이익을 주었습니까? 최종 프로젝트 시간, 비용 및 볼륨. 프로젝트에서 겪었던 모든 주요 문제와 그 처리 방법을 확인합니다.

분석 프로젝트 진행 상황, 리더십 효과 및 교훈에 대한 데이터를 검토하여 향후 프로젝트를 개선합니다. 분석은 문제와 성공의 근본 원인을 자세히 설명합니다. "사실", 즉 프로젝트의 임무와 목표, 절차 및 회사의 자원이 어떻게 사용되었는지에 대한 간단한 분석이 이루어집니다. 회사 및 프로젝트 팀이 "본"데이터를 수집하는 것이 일반적입니다. PMO 또는 전문가는 질문이나 이벤트를 선택하기 위해 설문지를 사용합니다. 예를 들면 : "회사의 문화는 이러한 유형의 프로젝트에 도움이되고 적절한 것이 었습니까? 왜? 왜? "또는 :"팀이 회사 자원에 대한 충분한 액세스 권한을 가지고 있었습니까? 직원, 예산, 부서, 장비 등이 포함됩니다. "PMO는 또한 프로젝트 일정, 비용 비교, 볼륨 데이터 및 기타 필요한 데이터를 제공하여 성능의"내역 "을 구성 할 수 있습니다. 이 정보는 최종 프로젝트 보고서를 작성할 때 사용됩니다.

권장 사항. 일반적으로 권장 사항은 개선을 위해 수행 할 수있는 주요 작업입니다. 그들은 종종 본질적으로 기술적 인 것이고 마주 치게되는 문제를 해결하는데 집중합니다. 예를 들어, 재 작업을 피하기 위해 건설 프로젝트  내구성을 높이는 것이 좋습니다. 건축 자재. 다른 경우에는 계약자의 포기 또는 그와의 작업 정지를 포함 할 수 있습니다.

학습 레슨. 아마도 배웠던 교훈은 폐점 과정에 가장 중요한 투입물 일 것입니다. 데이터와 평가가 이해 관계자로부터 접수되면, 수업은 간략하고 명확하게 표현되어야합니다. 미래의 프로젝트에서 다른 사람들을 도울 필요성을 강조하십시오. 실제로, 과거 프로젝트에 대한 보고서를 연구하는 새 프로젝트 팀은 자신과 유사하게 많은 유용한 정보를 추출합니다. 프로젝트 팀은 종종 나중에 권고합니다 : "권장 사항은 좋은 것이지만, 배운 교훈은 많은 함정을 피할 수있게 해 주었고 중단없이 프로젝트를 수행 할 수있었습니다."

Allbest.ru에 게시 됨

유사한 문서

    프로젝트 관리 과정에서의 대상과 주제에 대한 연구와 프로젝트 구현 과정에서의 상호 작용. 관리 방법 및 프로젝트 관리 방법. 프로젝트의 수명주기 및 단계. 프로젝트의 주요 참가자.

    시험은 2011 년 2 월 18 일에 추가되었습니다.

    논문, 2011 년 3 월 21 일 추가됨

    사회 복지 사업의 필수 요소와 요구 사항. 프로젝트 수명주기의 단계. 분석 GBOU TsVR "Ramenki"프로젝트의 예에 대한 프로젝트의 기본 기능의 생성 및 관리. 사회적 프로젝트를 효과적으로 구현하는 주요 방법.

    학술 논문, 2016 년 11 월 14 일 추가됨

    혁신적인 프로젝트 평가의 주요 목표, 프로젝트에서 조직 된 경영 의사 결정의 전망에 대한 정보 수집 및 분석. 프로젝트의 경제적 효율, 위험, 외부 조건 평가. 혁신적인 프로젝트 평가 기준.

    2010 년 7 월 18 일에 추가 된 보고서

    프로젝트 관리의 기본 개념 분류. 생산 시스템과 프로젝트의 차이. 라이프 사이클 및 프로젝트 단계. 프로젝트 관리, 실행 및 제어, 분석 프로세스. 대략적인 프로젝트 팀, 외부 및 내부 환경.

    학술 논문, 2013 년 11 월 17 일 추가됨

    프로젝트 관리의 기본 개념과 원칙. 중요한 작업 및 경로. 프로젝트의 시간 매장량 계산. Gantt 차트의 수정 된 버전입니다. 프로젝트 생성 및 매개 변수 설정. 프로젝트 네트워크 개발. 프로젝트 비용 추정.

    학술 논문, 2011 년 1 월 14 일 추가됨

    프로젝트 라이프 사이클의 일반적인 개념. 기본 프로젝트 관리 프로세스. OAO "LUKOIL"프로젝트의 사례에 대한 석유 및 가스 프로젝트의 수명주기 및 프로세스 분석 프로젝트 수명주기 단계 평가 및 관리 권장 사항.

    학술 논문, 2014 년 1 월 13 일 추가됨

    "프로젝트"의 정의. 관리 대상 프로젝트의 특성. 프로젝트 관리 기능. 소프트웨어 프로젝트 관리자의 역량 목록. 프로젝트의 개념, 승인 및 전문성 개발. 프로젝트 수명주기.

    프레젠테이션이 2013 년 8 월 14 일에 추가되었습니다.

    학술 논문, 2014-11-11 추가

    프로젝트의 진전을 모니터링하는 본질, 목적 및 내용. 간단하고 상세한 제어 방법의 특성. 프로젝트의 내용을 변경하는 주요 단계. 의도 한 계획에서 프로젝트가 벗어난 경우 가능한 조치 옵션.


때로는 가장 조심스럽게 계획 한 모든 것이 원래 의도했던 것과 완전히 다르게 진행될 때 모든 사람의 삶에 상황이 있습니다. 그런 순간에, 그들은 포기하고, 나는 모든 것을 포기하고 내가 만든 계획을 잊고 싶습니다. 그러나 실수, 실수 및 실패가 너무 치명적인 것으로 간주 할 가치가 있습니까?

어린 시절부터 어린 시절부터 많은 사람들이 최고가 되려는 욕구에 대해 가르쳐 왔습니다. 즉, 우리가 어떤 일을한다면, 우리는 최선의 방법으로, 또는 전혀하지 말아야한다는 것을 의미합니다. 물론 이러한 지침은 훌륭하지만 사람을 키우는 과정에서 종종 "합리적으로 합리적인 위치에서"일곱 번 측정하고 한 번만 잘라 내면 인간의 삶에 부정적인 영향을 미치는 일종의 병리학으로 변모합니다. 그 결과, 어른으로서, 우리 중 일부는 어떤 실패에 대해서도 매우 고통스럽고, 즉시 잊어 버리고 그들의 삶을 상기시킬 수있는 모든 것을 제거하려고 노력합니다.

그러나, 가장 비참한 프로젝트조차도 한 방향 또는 다른 방향으로 움직임을 변화시킬 수있는 훌륭한 지침을 포함 할 수 있다는 사실을 항상 고려해야합니다. 그러나 이것을 이해하려면 실패에 대한 올바른 태도를 취해야합니다.

합리적인 실수를하는 법을 배우십시오.

따라서 오류는 두 가지 범주로 나눌 수 있습니다. 바보 같은 실수가 있습니다. 이는 방치 또는 부주의로 인해 사람들이 범하는 실수입니다. 그리고 합리적인 실수가 있습니다 - 그들은 사람이 의식적 위험을 감수하거나 어떤 행동을 취할 때 만들어집니다.

그러한 실수를하는 것은 훌륭한 "일하는"물질이자 마음의 음식입니다. 많은 경우에, 이는 사람이 목표를 달성하기 위해 개발하고 위험을 감수 할 수 있음을 암시합니다. 이 경우 실패로부터 교훈을 이끌어내는 접근법은 건강한 것입니다. 왜냐하면 사람은 이미 자신과 자신의 행동에 대한 적극적인 작업에 이미 집중하고 있기 때문입니다. 뛰어난 결과를 얻기 위해서는 뛰어난 행동을 취해야한다고 말하는 것은 불필요한 일이 아닙니다. 새로운 전략을 실험하고 구현하는 것을 두려워하지 마십시오.

실수로 얻은 교훈을 실제로 적용해야합니다.

그러한 오류는 한 번만 작성해야합니다. 그녀의 사실 만이 무엇인가를 가르쳐야했습니다. 즉, 조치가 잘못 수행 된 경우 변경해야합니다. 그러나 이러한 변화가 효과를 발휘하고 새로운 효과를 내기 위해서는 과거의 경험을 고려해야합니다. 단지 이것이 학습이 일어나는 방식입니다. 실수를 저 지르지 않으면 다른 어떤 방법으로도 얻을 수없는 교훈이 있습니다. 그러므로 우리가 배움의 위치에서 실수 나 실패를 생각한다면 훌륭한 교사 일 것입니다.

또한 실수를 저지르는 것이 새로운 것의 개발에 직접적인 영향을 주어야한다는 것도 매우 중요합니다. 그러나 엄청난 수의 사람들이 배운 교훈을 잊어 버립니다. 그리고 모든 사람이 자신의 계정으로 모든 추가 활동을 구축하지는 않습니다. 그리고 (새로운 행동을 배우고 수행하는) 매우 합리적인 것처럼 보이지만, 대부분의 경우 사람들은 자기 깃발에 빠져서 나중에 언젠가는 자신의 비행 분석을 계획합니다. 이것은 많은 사람들이 그들의 실수에서 아무것도 배울 수 없다는 사실에 대한 훌륭한 설명입니다.

이 외에도 우리는 그가 실수로 얻은 교훈을 설명해 줄 것을 부탁하면 부러운 열정으로 그 일을 할 수있을 것이라고합니다. 그러나 만약 당신이 이미 그의 실패로부터 얻은 교훈에 기초한 새로운 행동 계획을 제공 할 것을 요구한다면, 그는 아마도 그의 눈을 돌리고 그의 어깨를 으. 할 것입니다. 사람들이 기존의 상태를 쉽게 바꿀 수있는 방법에 대해 이야기하는 경우가 종종 있습니다 만, 새로운 지식은 단순히 사용되지 않기 때문에 모든 단어가 단지 단어로 남아 있습니다.

또 다른 중요한 점은 어떤 사람들은 실수로 눈을 감 으려하거나 단순히 다른 사람들에게 저지른 것에 대한 비난을 돌리는 경향이 있다는 것입니다. 그리고 여기에서이 행동은 시작 자 자신에게 최악의 효과가 있다는 것을 이해하는 것이 중요합니다. 눈을 감추려면 실수로 같은 장소에 의식적으로 서 있어야합니다. 앞으로 나아 가지 마십시오. 그리고 다른 사람에 대한 책임을 변화시키는 것은 비슷한 자리에 서서 자신이나 행동, 그리고 궁극적으로 당신의 삶에 책임이없는 무능력이나 무분별 함으로 보완됩니다.

다른 사람들의 실수로부터 배우십시오.

우리 시대에는 유명하고 성공적인 사람들의 삶과 일에 대한 묘사에 엄청난 양의 자료가 사용되었습니다. 가장 뛰어난 성과는 초능력을 소유하지 않은 사람들이 가장 많이 저지른 사람들과 그 사람들을 가장 많이 연구 한 사람들에 의해 달성되었습니다. Thomas Edison, Johann Wolfgang Goethe, Mikhail Lomonosov, Vladimir Lenin, Francois de Larochefuca, Maxim Gorky, Leo Tolstoy, Aristotle, Confucius 및 기타 저명한 인물들에 대한 이야기가있었습니다.

예, 제 3 자 소스를 사용하지 않더라도 무엇을 어떻게해야하는지, 무엇을 어떻게해야하는지 등 예를 수백 가지로 볼 수 있습니다. 친척, 친구, 지인, 동료 일 수 있습니다. 일어나고있는 일에 눈이 멀지 않고 다른 사람의 경험을 사용하는 법을 배워야합니다.

위의 내용을 모두 요약하면 실수와 실패로부터 오류를 독점적으로 추출 할 수있는 여러 기법을 사용할 수 있습니다.

  • 실패에 시달렸다면, 이것에 대해 분개하는 대신 가능한 한 객관적으로 바라보고 현실에서 일어난 일을 이해해야합니다. 종종 그들은 우리가 사물의 실제 상태를 보지 못하게합니다.
  • 만약 당신이 불행하다면, 그 결과로 일어난 일이 아닌, 당신의 생각, 믿음과 행동이 잘못된 길로 인도했던 원인에 대해 생각할 필요가 있습니다.
  • 당신의 실패 이유를 찾아내는 것을 명심하라. 이것은 일을하지 않는 또 다른 방법이며 앞으로도 계속하지 않는다는 것을 알아야합니다.
  • 당신은 항상 사물에주의를 기울여야합니다. 과도한 감정은 사물의 본질을 왜곡시키고 올바른 결정을 내리는 것을 허용하지 않습니다.
  • 어떤 경우에도 자기 깃털과 자기 파기에 관여 할 필요가 없습니다. 실수가 있다면, 그럴 수도 있고 그렇게되었을 것입니다. 사물에 대한 철학적 견해를 발전 시키십시오.
  • 모든 실수는 당신에게 특별한 기회를 제공하는 새로운 기회임을 항상 기억하십시오. 거의 모든 것을 예견 할 수 있습니다. 우리는 사람들이고, 사람들은 실수하는 경향이 있습니다.
  • 다른 사람들이하는 일에주의를 기울여 자신의 경험을 자신의 목적을 위해 사용하십시오. 다른 사람들의 실수로부터 배우고 자신의 것을 피할 수 있어야합니다.
  • 동일한 작업을 지속적으로 수행하여 새로운 결과를 얻는 것은 불가능하다는 것을 기억하십시오. 새로운 길을 찾는다.

실패는 당신의 성품과 의지의 담금질뿐 아니라 전 세계가 당신에게 불리 할 때조차도 목표를 달성 할 수있는 능력이라는 사실에 대하여 여가를 생각하십시오. 성공에 이르는 과정에서 얼마나 많은 실수를 저 지르더라도. 중요한 것은 새로운 실수로 모두가 더 가까워 질 것이라는 점입니다. 그렇습니다. 결코 실수를하지 않고 패배의 괴로움을 경험하지 않은 사람들은 진실로 성공과 승리를 누릴 수 없습니다.

그러므로 끊임없이 나쁜 경험을 생각하지 마십시오. 당신의 행동을 분석하고, 수업을하고, 적절한 결론을 도출하고, 새로운 실패를 두려워하지 마십시오. 실수로 인해 피해자가되지 않도록하십시오. 존재하지 않음 이상적인 사람들. 그리고 아무 것도하지 않는 사람 만 결코 틀림이 없습니다.

그리고 마지막으로 작별 인사 :

"당신의 마음을 바꾸고 당신의 실수를 바로 잡는 것이 당신의 실수에서 인내하는 것보다 자유와 더 일치한다는 것을 기억하십시오."

마커스 아우렐리우스

미래를 보호하십시오.

과거로부터의 학습

사고로부터 배운 교훈

사건 날짜 :

사고 원인을 지역화하고 제거하는 조치 :

KapitalAgro CJSC의 관리자, 전문가 및 근로자에 ​​대한 지식에 대한 비판적인 검토를 실시하십시오.

직원 가스 서비스 전문가.

크롤러의 특수 교육을 수행하기 위해 생산 보일러 하우스의 운영자.

배운 교훈 :

수행 할 때 설계 결정에서 벗어나는 것은 용납되지 않습니다. 건설 작업  가스 분배 네트워크 및 가스 소비의 대상.

기업의 직원은 숙련되고 인증 된 인원이 있어야합니다.


조직 명:

OJSC "CapitalAgro"

부서 소속:

장소사고 :

건물 입구의 가스 파이프 라인 기계 청소   배수구 및 송풍기

보기   사고 :

유해 물질 방출, 폭발, 구조물 파괴

사고에 대한 간략한 설명 :

기계 폐수 처리의 배전반 건물의 전기실에서 지하 가스 파이프 라인이 파손됨에 따라 지하 유틸리티를 통해 방에 들어가는 가스 폭발이있었습니다.

사고의 결과 :

(희생자의 존재, 피해 포함)

폭발로 파괴 외벽   방 실드 및 케이블의 손상된 부분. 한 명의 작업자가 다쳤습니다.

경제적 피해는 226,000 루블에 이른다.

1. 사고의 기술적 이유 :

1.1. 폴리에틸렌 파이프의 내면에 박리의 형태로 결함이 형성되어 파이프 영구 연결의 파괴 - 폴리에틸렌.자가 치유 교훈, 추출한 ~의  뛰어난 외과 의사의 경험 ... 자동차에서 벗어나십시오 사고, 그리고 머물고있는 사람, ... 미국, 일어난 곳 사고  원자력 발전소에서. 이걸로 ...

  • 강좌 번호 : 테마 : "도로 안전의 ABC"

    교훈

    차의 역사. 자료 교훈: 1. 출현과 진화의 역사 ... 사고. 많은 문제와 ... 상황과 진행 추출하다  부상당한 ~의- 바퀴 밑에서, ~의  캐빈 등 마.

  • 강의 № 테마 : "자동 전송 개발의 역사"

    교훈

    에있는 사람들 사고,뿐만 아니라 사고  자동차 제조사 ... 상황을 평가하고 진행 추출하다  부상당한 ~의- 바퀴 밑에서, ~의 택시 등. 그렇게 해 ... 사고가 나니? 교훈  № 9. 테마 : "Test 교훈»목표 교훈: 반복 ...

  • Stanislav Lem 판타지와 미래 학 2 권

    리뷰

    생물 학자들은 설계시 고려했다. 교훈, 추출한 ~의  그녀가 ... 종유석 바늘을 가지고있을 때 자연의 실수. 사고- 이것은 다시 감소이며 ... 최소 초과 비용은 물론 거짓입니다. 사고제트 연료 스톡 피로로 인한 ...

  • 다음은 내가 수년 동안 스스로 개발 한 소프트웨어 개발 규칙 목록입니다.

    개발

    1. 작은 것들로 시작한 다음 확장하십시오.

    새로운 것을 만들고 기성의 시스템에 기능을 추가 할 때 나는 항상 필요한 기능을 거의 수행하지 않는 아주 간단한 버전부터 시작한다. 그런 다음 원래 결정된 내용이 될 때까지이 결정을 한 단계 씩 확장합니다. 나는 처음부터 계획에 이미 모든 세부 사항을 칠할 수 없었습니다. 대신 개발 과정에서 필요한 것을 더 잘 이해하고 프로젝트에서이 지식을 사용합니다.

    나는 존 갈라 (John Galla)의 다음과 같은 말을 좋아합니다 : "어떤 복잡한 시스템이라도 작동하는 간단한 방법으로 진화했다."

    2. 한 번에 하나씩 변경하십시오.

    개발 중에 프로그램이 일부 테스트에서 실패하기 시작하거나 일부 기능이 작동을 멈 추면 한 곳에서만 코드를 변경하면 이유를 찾는 것이 훨씬 쉽습니다. 즉, 모든 것을 한 번에 시도하는 것보다 작은 반복을 사용하는 것이 좋습니다. 한 가지를 해보고 작동하는지 확인하고 반복하십시오.

    이것은 버전 제어 시스템의 커밋 수준에도 적용됩니다. 리팩토링해야하는 경우 새 기능을 추가하기 전에 먼저 리팩터링에 대한 변경 사항을 수정 한 다음 (커밋 별도)이 기능을 추가하십시오.

    3. 초기 단계에서 로깅 및 오류 처리를 추가하십시오.

    새로운 시스템을 개발하기 시작할 때 가장 먼저해야 할 일 중 하나는 로깅과 오류 처리를 추가하는 것입니다. 이 두 가지 모두 프로젝트의 시작부터 이점을 얻습니다. 수십 줄 이상의 코드가있는 프로그램에서는 실행 중에 어떤 일이 발생하는지 알아야합니다. 특히이 데이터는 계획대로 작동하지 않을 때 중요합니다.

    오류 처리와 거의 동일 - 예외는 어쨌든 피할 수 없으며 프로젝트의 수명 내내 던져 질 것입니다. 그런 다음 처음부터 체계적으로 처리하기 시작하지 않으시겠습니까?

    4. 각각의 새로운 코드 행은 적어도 한 번 실행되어야합니다.

    모든 기능에 대한 작업을 완료하기 전에 테스트해야합니다. 결국, 그녀는 정확히 그녀가해야 할 일을 어떻게 이해할 것입니까? 자주 최선의 선택  이를 위해 자동 테스트가 있지만 다른 옵션이 있습니다. 일반적으로 방법은 중요하지 않지만 중요한 점은 작성한 코드 줄마다 제어권을 가져야한다는 것입니다.

    때로는 코드의 모든 가지로 들어가기 위해 필요한 조건을 재현하는 것이 어려울 수 있습니다. 다행히도, 당신은 약간의 속임수를 쓸 기회가 있으며, 반드시 완전한 전투 조건을 재현하려고하지는 마십시오. 예를 들어, 데이터베이스 오류를 포착하는 것은 특히 열 이름의 철자를 잘못 작성하여 검사 할 수 있습니다. 또는 내부에서 일시적으로 조건을 반전시킬 수 있습니다. "오류가 발생했습니다."와 같은 경우는 "모든 것이 올바르게 수행되었습니다"와 바뀝니다. 이것은 원칙적으로 매우 드물게 발생하고 모방하기 어려운 오류에 유용합니다.

    때로는 특정 코드 행이 전혀 작동해서는 안된다는 버그가 있습니다. 코드 검토 중에 외부에서 상당히 정상적으로 보일 수 있지만 그래도 작동하지는 않습니다. 원칙적으로 항상 최소한 한 번 새로운 행을 수행하도록 허용하는 경우 이러한 상황을 피할 수 있습니다.

    5. 전체 프로젝트에서 작동 여부를 확인하기 전에 부품을 테스트하십시오.

    개별 구성 요소를 신중하게 테스트할수록 시간을 절약 할 수 있습니다. 종종 개별 구성 요소 간의 상호 작용을 조정하는 문제에 직면 할 수 있습니다. 그리고 각자가 올바르게 작동한다고 확신한다면이 작업에 충분한 시간을 할애 할 수 있습니다.

    6. 물론 모든 것은 생각보다 시간이 오래 걸립니다.

    특히 프로그래밍에. 특정 작업의 구현에 소요되는 시간을 예상하는 것은 모든 것이 원활하게 진행 되더라도 실제로 어렵습니다. 그러나 소프트웨어 개발과 관련하여 예기치 않은 문제가 발생할 수 있다는 점을 고려해야합니다. 버그가 가장 단순한 병합으로 넘어갈 수 있고, 프레임 워크를 업데이트하면 일부 기능을 변경해야하거나 API 호출에서 예측할 수 없거나 잘못된 결과가 나올 수 있습니다.

    예를 들어 Hofstadter의 법칙을 고려하더라도 모든 사업은 처음에는 생각했던 것보다 더 많은 시간이 걸립니다. "

    7. 먼저이 코드가하는 일을 이해하십시오.

    대부분 프로그래밍은 기존 코드를 변경하는 것입니다. 프로젝트에 완전히 새로운 것을 포함하더라도이 새로운 코드는 작성된 코드의 일부가되어야합니다. 또한 추가하기 전에 발견 된 솔루션을 이해해야합니다. 그렇지 않으면 이미 구현 된 무언가의 성과를 방해 할 수 있습니다. 따라서 코드를 읽을 수있는 능력만큼이나 코드를 읽을 수있는 능력이 중요합니다. 그리고 이것이 코드를 임베딩하는 단순한 작업이 보이는 것보다 오래 걸릴 수있는 또 다른 이유입니다. 변경 사항이 발생하는 상황을 이해해야합니다.

    8. 코드를 읽고 실행하십시오.

    다행히 서로를 완벽하게 보완하는 코드를 이해하는 두 가지 방법이 있습니다. 코드를 읽을 수 있으며 코드가 실행될 때 어떤 일이 발생하는지 볼 수 있습니다. 실행을 실행하면이 코드가 작성된 내용을 이해하는 데 도움이 될 수 있습니다. 그러나 두 가지 방법을 모두 사용해야합니다.

    디버깅

    9. 오류는 항상있을 것입니다.

    나는 "처음부터 모든 것을해라"라는 접근 방식을 좋아하지 않습니다. 얼마나 많은 노력을 기울이 느냐, 실수는 중요하지 않습니다 ( "우리는 그것에 대해 생각하지 않았습니다 ..."). 응용 프로그램을 실행하고 사용 가능한 버그를 수정하는 것이 훨씬 더 생산적입니다.

    10. 오류보고에 응답하십시오.

    각 개발자는 오류보고를 분석하고 수정하는 데 시간을 소비해야합니다. 이를 통해 시스템 작동 방식, 고객이 기대하는 것, 시스템을 유지 관리하는 것이 얼마나 어려운지에 대해 더 깊이 이해할 수 있습니다. 또한, 귀하의 개발에 대한 책임감을 느낄 수있는 좋은 방법입니다. 이 기회를 놓치지 마십시오.

    11. 문제를 재현하십시오.

    버그를 수정하는 첫 번째 단계는 오류를 재현하는 것입니다. 그런 다음 프로그램을 수정하면 오류가 사라질 수 있습니다. 이 간단한 규칙은 문제가없는 곳의 상황을 피하고 솔루션이 작동하는지 확인하는 데 도움이됩니다.

    때때로 당신이 알고있는 많은 문제점들이 있습니다. 다양한 오류가 서로 상호 작용하여 이상한 행동을 유발할 수 있습니다. 이 동작의 원인을 찾는 대신 알려진 오류를 수정하고 증상이 남아 있는지 확인하십시오.

    13. 일치하는 게 없습니다.

    테스트 나 디버깅을 할 때 우연의 일치를 믿지 마십시오. 타이머 값을 변경했는데 시스템이 더 자주 재부팅되기 시작 했습니까? 우연이 아닙니다. 새로운 기능을 추가 했습니까? 그리고 다른 기능이 느려졌습니까? 탐색!

    14. 시간 소인을 고려하십시오.

    디버깅 할 때 상호 연결을 살펴보십시오. 예를 들어, 시스템이 다시 시작되기 약 3000 ms 전에 요청이 전송되면 타이머가 재시작을 유발 한 일부 작업을 시작했을 수 있습니다.

    협력

    15. 가장 효과적인 의사 소통 - 직접 대면.

    라이브 대화는 화상 회의, 채팅, 전화 또는 이메일을 대체하지 않습니다. 동료와 토론 할 때 아이디어와 솔루션이 얼마나 더 좋은지 놀라운 것입니다.

    16. 고무 오리.

    어려움에 직면하면 동료에게 가서 문제에 관해 이야기 할 수 있습니다. 대부분의 경우, 설명 과정에서 동료가 한 마디도하지 않더라도 결정을 내릴 수 있습니다. 그것은 마술처럼 들리지만 꽤 자주 돌아갑니다.

    17. 물어보십시오.

    코드를 읽고 실행하는 것이 작동 방식을 이해하는 가장 좋은 방법입니다. 그러나 유능한 사람 (예 : 프로그램 작성자)에게 물어볼 기회가 있다면 사용하십시오. 질문을하고 답변을 얻은 다음 추가 질문을 할 수있는 대답을 기반으로 며칠이 아니라 몇 분 안에 정보를 얻을 수 있습니다.

    18. 타인의 공로를 인정하십시오.

    예를 들어, "Marcus는 훌륭한 아이디어를 가지고있었습니다 ..."대신 "우리가 시도했습니다 ..."라고 말하십시오. 당신을 도운 모든 사람을 언급하십시오.

    다른

    19. 실험.

    이 언어 기능이 어떻게 작동하는지 잘 모르는 경우 간단한 예제를 작성하여 예제로 설명 할 수 있습니다. 복잡한 시스템을 테스트 할 때도 동일한 방법이 적용됩니다. -1을 인수로 전달하면 어떻게됩니까? 그리고 내가 차를 다시 시작할 때 서비스가 떨어지지 않으면? 어떤 방식으로 작동하는지 탐색하십시오 - 오류를 발견하게 될뿐만 아니라 시스템을보다 깊이 이해할 수 있습니다.

    20. 잠 좀 자.

    어려운 작업이나 문제가있는 경우 결정하기 전에 잠을 자도록하십시오. 당신이 그것에 대해 생각하지 않는다 할지라도 당신의 잠재 의식은 여전히 ​​결정을 위해 노력하고 있습니다. 결국, 아침에 당신에게 쉽게 보이는 답변을 쉽게 찾을 수 있습니다.

    21. 변경.

    때때로 여러 가지 역할을 시도하는 것을 두려워하지 마십시오. 서로 다른 사람들, 다른 제품, 다른 회사에서 일하는 것이 자극적입니다. 해마다 많은 사람들이 같은 일을하면서 외적인 환경의 영향을 받아 삶의 일부를 변화시킵니다.

    그 질문은 종종 묻습니다 : 우리 아이들은 배우나요?

    George W. Bush, Jr., 플로렌스, 사우스 캐롤라이나, 2000 년 1 월 11 일

    이 시간까지 우리는 퍼징이 무엇인지, 왜 효과적인지, 프로그램 코드에서 숨겨진 오류를 감지하는 데 사용하는 방법을 보여주기에 충분한 명확성을 이미 갖추고 있기를 바랍니다. 우리는 솔직히이 책이 개발자, 품질 관리자 및 보안 연구원의 세 가지 카테고리로 구성된 대상층을 겨냥한 것이라고 사전에 경고했습니다. 이 장에서는 소프트웨어 개발 수명주기 (SDLC, 소프트웨어 개발 수명 $주기)를 고려하여 각 범주의 대표가 어떻게 보안 소프트웨어를 개발하기 위해 퍼징을 사용할 수 있는지 결정합니다.

    소프트웨어 개발 수명주기

    일단 퍼징 기술은 개발 된 제품의 승인을받은 보안 연구원들에 의해 독점적으로 사용되었지만 이제 개발자들은 SDLC 동안 퍼징 (fuzzing)을 널리 사용하여 취약점을 사전에 탐지하는 방법을 배웠습니다. Microsoft는 Trustworthy Computing Security Development Lifecycle (컴퓨터 신뢰할 수있는 소프트웨어 개발 수명주기)의 핵심 구성 요소로 fuzzing을 채택했습니다 .1이 방법은 $

    1 http://msdn.microsoft.com/library/default.asp?url=/library/en+us/dnsecure/

    프로젝트 구현 단계에서 SDL (Security Development Lifecycle)이라는 "퍼징 도구를 포함한 안전 테스트 도구 적용"을 개발자에게 제안했습니다. Microsoft는 자체 SDLC의 단계를 반영한 ​​SDL 아이디어를 개발했습니다. 이 두 사이클 모두가 Fig. 25.1.

    기능 목록

    사양

    품질

    테스트 및 검증

    메인

    원칙들

    새로운 코드 개발

    건축

    기능적

    오류 수정

    문서

    사양

    요구 사항

    계획

    구현

    검증

    보안 테스트

    소프트웨어 인터럽트 처리

    최고의 보안 계획 샘플

    안전한

    사용 중

    만들기

    계획 준비

    보안 보고서

    결승

    프로그램

    및 프로그램

    분석기

    문서화

    공백

    보안

    보안 시뮬레이션

    제품에 대한

    시험

    서비스

    지지

    제품 및 보안 업데이트

    지원 및 유지 관리

    서비스

    보안

    및 가공

    도 4 25.1. Microsoft의 SDLC 및 SDL

    이러한 병렬 프로세스를 통해 Microsoft는 SDLC의 각 단계에서 보안 제어에 대한 아이디어를 얻었음을 알 수 있습니다. 이것은 보안이 전체 SDLC에 대해 수행해야하는 역할에 대한 중요한 인식입니다. SDLC 패브릭에 보안을 섞어서 프로세스의 병렬화뿐만 아니라 이러한 다이어그램에 반영하지 않는 것을 기억해야합니다. 개발자, 품질 검사원 및 보안 연구원은 공통된 목표, 즉 보안 코드를 작성하기 위해 함께 노력하고 노력을 조정해야합니다.

    SDLC 방법론의 부족은 없지만, 우리의 목적을 위해 우리는 Winston Royce Falls (Winston Royce) 1의 원래 모델을 $ for

    1 http://en.wikipedia.org/wiki/Waterfall_process

    그것의 간명 그리고 사용의 폭. 폭포 모델은 소프트웨어 개발에 대한 순차적 접근 방식을 사용합니다. 개발 라이프 사이클은 5 단계로 구성됩니다. 이 접근법은 그림에 설명되어 있습니다. 25.2.

    이제 각 단계에서 퍼징 (fuzzing)의 사용을 고려하십시오.

    Microsoft의 보안 접근 방식

    Microsoft가 자사의 SDLC에 보안을 널리 구현한다는 사실에 놀랄만한 것은 없습니다. Microsoft 기술은 시장을 지배하므로 위험이없는 것으로 테스트됩니다. Mi $ crosoft가 보안 전선에 대한 큰 전망을 가지고 있다는 것은 의심의 여지가 있지만,이 회사가 이미이 방향으로 진지한 조치를 취했다는 것을 부인할 수는 없습니다.

    예를 들어, Microsoft 인터넷 정보 서비스 (IIS) 1, Microsoft 웹 서버 $. 현재 버전 5.x에는 14 개의 브리지가 알려져 있으며 2003 년 초에 릴리스 된 버전 6.x에는 알려진 오류가 3 개 뿐이며 그 중 어떤 것도 중요한 것으로 간주 될 수 없습니다.

    보안 향상은 부분적으로 버퍼 / GS4 검사, 데이터 실행 방지 (데이터 실행 방지, DEP) 및 안전한 예외 처리 (SafeSEH) 5를 낮추는 보안 향상과 관련이 있습니다. Windows Vista에서 가장 환영 할만한 개선 사항 중 하나는 주소 공간 레이아웃 무작위 화 (ASLR)입니다 .6 또한 Microsoft는 보안 문제와 인적 자원에 대한 작업, 그러한 프로그램의 실행, 퍼징은 보안을 향상시키기 위해이 장비의 직원들이 사용하는 많은 기술 중 하나입니다. 그 감소는 현재 관찰 될 수 있습니다.

    제 25 장. 배운 교훈

    요구 사항

    계획

    구현

    검증

    유지 보수

    도 4 25.2. Reuss 폭포의 원래 모델

    분석

    분석 단계에는 프로젝트를 시작하기 전에 조사해야하는 정보 모음이 포함됩니다. 이 단계는 또한 최종 사용자와의 작업을 의미합니다. 결국, 사용자는 그들이 받기를 원하는 것을 알 필요가 있습니다. 퍼지가 SDLC의이 단계에서 직접적으로 나타나지는 않지만 근로자, 품질 검사원 및 안전 연구자가 이후 단계에서 적절한 테스트 방법이 될지 생각해 보는 것이 중요합니다.

    계획

    응용 프로그램 계획은 프로젝트의 추상적 인보기를 만드는 것입니다. 이 단계에는 모델링되는 솔루션 (이 장비, 소프트웨어 또는 데이터베이스 구성 요소)에 따라 다양한 모델링 기술이 포함될 수 있습니다. 이 단계에서 코딩 과정에 참여할 프로그래밍 언어 및 프로그램 라이브러리에 대한 결정이 내려집니다.

    모든 결정이 내려지면, 관심의 초점은 퍼지 (fuzzing)의 실행 가능성과 가능한 접근법에 있습니다. 이 단계에서 두 가지 중요한 세부 사항이 결정되며 전체적인 접근 방식이 결정됩니다. 첫째, 어떤 소프트웨어 및 하드웨어 플랫폼이 포함될 것인가가 결정됩니다. 이는 사용할 도구와 fuzzing 클래스에 영향을줍니다. 예를 들어, 프로젝트가 Linux 용 콘솔 솔로 애플리케이션 인 경우 환경 변수를 fuzzing합니다. 프로젝트가 Windows 환경에서 작동해야하는 경우 스크립팅 및 외부 웹 사이트에서 해당 기능을 표시하는 데 안전한 ActiveX 컨트롤이 표시됩니까? 그렇다면 COM $ 오브젝트를 퍼지하는 것이 적용되어야합니다.

    프로세스 간 통신을위한 네트워크 프로토콜은 대개 SDLC의이 단계에서 선택됩니다. 예를 들어 요구 사항 $