SlideShare una empresa de Scribd logo
1 de 30
Initializing
new project
Lai Duy Ha
Outline
 Software  process lifecycle
 Agile techniques
 Establishing development environment &
  choosing technology
Current Problem in PM & SW development
           31.1% of projects will be canceled
        before they ever get completed … 52.7% of
                       projects will
           cost 189% of their original estimates.
                      – The Standish Group
Plus project complexity is increasing
     Demand for quicker delivery of useful systems
     Increasingly vague, volatile requirements
     Greater uncertainty/risk from limited knowledge of:
       Underlying technologies
       Off-the-shelf (OTS) components used

           Are conventional development/management
                practices addressing the problem?
Software project lifecyle
Main differences
   Lifecycle of the process
   Planing
       Adaptability vs. predictability
   Customer collaboration
       Confirmation
       Uncertain requirements
   Communication environment
       Devide team by function vs process
   Individual skill
       Test driven development
       Big design up to front vs simple + refactoring
       Pair programming
When to Apply Agile Methodologies
   Problems characterized by change, speed, and
    turbulence are best solved by agility.
     Accelerated time schedule combined with
        significant risk and uncertainty that generate
        constant change during the project.
   Is your project more like drilling for oil or like
    managing a production line?
     Oil exploration projects need Agile processes.
     Production-line projects are often well-served
        by rigorous methodologies
Some Agile Methodologies
 Extreme   Programming (XP)
 Scrum
 Feature-Driven  Development (FDD)
 Adaptive Software Process
 Crystal Light Methodologies
 Dynamic Systems Development Method
  (DSDM)
 Lean Development
XP process (one cycle)
Scrum process (life cycle)
Outline
 Software   process lifecycle
 Agile techniques
 Establishing development environment &
  choosing technology
Project leader
 Planing
 Project backlog
 Velocity
 Project meeting
Modeller
 Analyzer& designer
 Agile modelling

             Initial Requirements                    Initial Architectural
                    Modeling                               Modeling
                      (days)                                 (days)



                                                     Cycle 0: Initial Modeling




                                    Model Storming
                                      (minutes)
                                                                                  Reviews
                                                                                 (optional)

                                                                                 All Cycles
                                                                                  (hours)


                                  Implementation
                               (Ideally Test Driven)
                                      (hours)



                                    Cycle 1: Development
                                     Cycle 2: Development
                                                                                   Copyright 2003-2005
                                      Cycle n: Development                           Scott W. Ambler
Modeller
 Analyzer& designer
 Agile modelling
    Main purpose for communicating
    Model just «enough»  details appear in
     code
    Using UML or not is not the problem
Modeller
 Conceptual    domain modeling
    CRC card
Modeller
 Conceptual   domain modeling
    Class diagram
Modeller
 Business   process modeling
     Activity diagram
Modeller
 Dynamic   object modelling
    Sequence diagram
Modeller
 Dynamic   object modelling
    State chart diagram
Modeller
 Agile   Architecture
     Free form diagram
Modeller
 User   interface flow
Developer
 Apply  patterns & sketch diagrams for frist
  design
 Unitest
     Unittest while coding
     Unittest makes the program failed
     Program makes the test passed
 Refactoring
     At least, after «testing + coding»
     Make the code clear
     Easy to maintain
Other techniques
 Acceptancetest
    Perform automatically
    Is written by customer, business
     analysis, tester, and QA
      Should   be created before implementation
 Database      problem
    Testing database
      Unit test
      Intergration test
    Database evolutionary
      Database refactoring
      Backup & chang DAL code
Outline
 Software  process lifecycle
 Agile techniques
 Establishing development environment &
  choosing technology
Establishing development environment
   Open workplace
   Source version control
   Process management
       Project backlog
       Velocity
   Test management
       Unit test
       Acceptancetest
   Database management
       Policy when changing database schema
       Tools support
       Testing with database
Chose technology
   Achitecture
       N-tier application
       Enterprise & distributed system
   Portability
       E.g Linq to SQL vs N-Hibernate
   Execution environmentt
       Clould
         Google App engine
         Window Azue
       Mobile enterprise
         Service for client (Server technology)
         Client technology (Android, WP, iOS)
Chose technology
   Framework
       Cross-layer framework
           ASP.NET with csla
           Java with Spring
           Python with Django
       Layer dependence framework
           Presentation MVVM with Prims
           Web with ASP MVC
           Data access with Linq to SQL, N-Hibernate
   CMS
       Joomla
       Wordpress
       Drupal
       Zend cart
   MDA approach
Reference
 Devlopment     process
    Agile Principles Patterns and Practices in C#
    Scrum And Xp From The Trenches
    Visual Studio Application Lifecycle
     Management
Reference
 Agile   modeling
     The object primer
 Database     change management
     http://martinfowler.com/articles/evodb.ht
      ml
     http://www.liquibase.org/
 Refactoring
     Refactoring: Improving the Design of
      Existing Code
Reference
 Testing
     UI Test
       http://seleniumhq.org/docs/02_selenium_ide.
        html
     Acceptancetest
       http://www.clemensreijnen.nl/post/Testing-in-
        the-Application-Lifecycle-with-Visual-Studio-
        2010-Test-Edition.aspx
       http://fitnesse.org/

     Unit test with data access layer
       http://www.buunguyen.net/blog/unit-testing-
        the-data-access-layer.html
Thank you
Q&A

Más contenido relacionado

La actualidad más candente

SDLC model Lecture 03.ppt
SDLC model Lecture 03.pptSDLC model Lecture 03.ppt
SDLC model Lecture 03.ppt
PriyanshTan
 
Polarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform TodayPolarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform Today
polarion
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
Anjali Arora
 

La actualidad más candente (20)

SDLC model Lecture 03.ppt
SDLC model Lecture 03.pptSDLC model Lecture 03.ppt
SDLC model Lecture 03.ppt
 
Sdlc
SdlcSdlc
Sdlc
 
Software process model
Software process modelSoftware process model
Software process model
 
Refactoring for Software Design Smells - 1 day Workshop
Refactoring for Software Design Smells - 1 day Workshop Refactoring for Software Design Smells - 1 day Workshop
Refactoring for Software Design Smells - 1 day Workshop
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
 
software development life cycle
software development life cyclesoftware development life cycle
software development life cycle
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
RUP model
RUP modelRUP model
RUP model
 
Ch 2
Ch 2Ch 2
Ch 2
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
Software Engineering Lec 2
Software Engineering Lec 2Software Engineering Lec 2
Software Engineering Lec 2
 
Polarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform TodayPolarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform Today
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
Agile Modeling
Agile ModelingAgile Modeling
Agile Modeling
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
 

Destacado

Accenture strategy-patient-engagement-consumer-loyalty - copy
Accenture strategy-patient-engagement-consumer-loyalty - copyAccenture strategy-patient-engagement-consumer-loyalty - copy
Accenture strategy-patient-engagement-consumer-loyalty - copy
Jim Fisher
 
PHR In an Integrated Clinical Engagement Model
PHR In an Integrated Clinical Engagement ModelPHR In an Integrated Clinical Engagement Model
PHR In an Integrated Clinical Engagement Model
Saji Salam MD,MBA
 
Computaris outsourcing engagement model
Computaris outsourcing engagement modelComputaris outsourcing engagement model
Computaris outsourcing engagement model
Computaris
 
Clouds, crowds, channel and cool devices
Clouds, crowds, channel and cool devicesClouds, crowds, channel and cool devices
Clouds, crowds, channel and cool devices
Jonathan Houston
 

Destacado (20)

Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
NAB Key Note Presentation, NAB Las Vegas, Advertising Innovation Summit, Apri...
NAB Key Note Presentation, NAB Las Vegas, Advertising Innovation Summit, Apri...NAB Key Note Presentation, NAB Las Vegas, Advertising Innovation Summit, Apri...
NAB Key Note Presentation, NAB Las Vegas, Advertising Innovation Summit, Apri...
 
Accenture strategy-patient-engagement-consumer-loyalty - copy
Accenture strategy-patient-engagement-consumer-loyalty - copyAccenture strategy-patient-engagement-consumer-loyalty - copy
Accenture strategy-patient-engagement-consumer-loyalty - copy
 
SPARK15: Energy Management Passes the Point of No Return
SPARK15: Energy Management Passes the Point of No ReturnSPARK15: Energy Management Passes the Point of No Return
SPARK15: Energy Management Passes the Point of No Return
 
Contractor Engagement Model
Contractor Engagement ModelContractor Engagement Model
Contractor Engagement Model
 
PHR In an Integrated Clinical Engagement Model
PHR In an Integrated Clinical Engagement ModelPHR In an Integrated Clinical Engagement Model
PHR In an Integrated Clinical Engagement Model
 
Accenture NILF 2015 digital engagement
Accenture NILF 2015 digital engagementAccenture NILF 2015 digital engagement
Accenture NILF 2015 digital engagement
 
Agile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileAgile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being Agile
 
Computaris outsourcing engagement model
Computaris outsourcing engagement modelComputaris outsourcing engagement model
Computaris outsourcing engagement model
 
Dnd it keynote v0 1 static
Dnd it keynote v0 1 staticDnd it keynote v0 1 static
Dnd it keynote v0 1 static
 
Clouds, crowds, channel and cool devices
Clouds, crowds, channel and cool devicesClouds, crowds, channel and cool devices
Clouds, crowds, channel and cool devices
 
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
 
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
 
Developing a Road Map and Business Case – Deloitte Sponsor Session
Developing a Road Map and Business Case – Deloitte Sponsor SessionDeveloping a Road Map and Business Case – Deloitte Sponsor Session
Developing a Road Map and Business Case – Deloitte Sponsor Session
 
Saa S Scio Engagement Model V2 2 Generic
Saa S Scio Engagement Model V2 2  GenericSaa S Scio Engagement Model V2 2  Generic
Saa S Scio Engagement Model V2 2 Generic
 
Enterprise project management organisation – joining strategy to delivery and...
Enterprise project management organisation – joining strategy to delivery and...Enterprise project management organisation – joining strategy to delivery and...
Enterprise project management organisation – joining strategy to delivery and...
 
Deloitte Social Media Congres 2010 (Final)
Deloitte Social Media Congres 2010 (Final)Deloitte Social Media Congres 2010 (Final)
Deloitte Social Media Congres 2010 (Final)
 
From KPIs to Outcomes - the Shift from Service Delivery to Strategy
From KPIs to Outcomes - the Shift from Service Delivery to StrategyFrom KPIs to Outcomes - the Shift from Service Delivery to Strategy
From KPIs to Outcomes - the Shift from Service Delivery to Strategy
 
LARION Engagement Model
LARION Engagement Model LARION Engagement Model
LARION Engagement Model
 
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's newIBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
 

Similar a Initializing new project

Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Spiffy
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
Aberla
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
Debora Di Piano
 
Gredy - test automation management and team collaboration
Gredy - test automation management and team collaborationGredy - test automation management and team collaboration
Gredy - test automation management and team collaboration
Gredy
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
MYNAH Technologies
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems Software
Bill Duncan
 

Similar a Initializing new project (20)

Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbai
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
Gredy - test automation management and team collaboration
Gredy - test automation management and team collaborationGredy - test automation management and team collaboration
Gredy - test automation management and team collaboration
 
Software engineering 25 models details
Software engineering 25 models detailsSoftware engineering 25 models details
Software engineering 25 models details
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
 
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga Moorthy
 
How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems Software
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Agile testing
Agile testingAgile testing
Agile testing
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Initializing new project

  • 2. Outline  Software process lifecycle  Agile techniques  Establishing development environment & choosing technology
  • 3. Current Problem in PM & SW development 31.1% of projects will be canceled before they ever get completed … 52.7% of projects will cost 189% of their original estimates. – The Standish Group Plus project complexity is increasing  Demand for quicker delivery of useful systems  Increasingly vague, volatile requirements  Greater uncertainty/risk from limited knowledge of:  Underlying technologies  Off-the-shelf (OTS) components used Are conventional development/management practices addressing the problem?
  • 5. Main differences  Lifecycle of the process  Planing  Adaptability vs. predictability  Customer collaboration  Confirmation  Uncertain requirements  Communication environment  Devide team by function vs process  Individual skill  Test driven development  Big design up to front vs simple + refactoring  Pair programming
  • 6. When to Apply Agile Methodologies  Problems characterized by change, speed, and turbulence are best solved by agility.  Accelerated time schedule combined with significant risk and uncertainty that generate constant change during the project.  Is your project more like drilling for oil or like managing a production line?  Oil exploration projects need Agile processes.  Production-line projects are often well-served by rigorous methodologies
  • 7. Some Agile Methodologies  Extreme Programming (XP)  Scrum  Feature-Driven Development (FDD)  Adaptive Software Process  Crystal Light Methodologies  Dynamic Systems Development Method (DSDM)  Lean Development
  • 10. Outline  Software process lifecycle  Agile techniques  Establishing development environment & choosing technology
  • 11. Project leader  Planing  Project backlog  Velocity  Project meeting
  • 12. Modeller  Analyzer& designer  Agile modelling Initial Requirements Initial Architectural Modeling Modeling (days) (days) Cycle 0: Initial Modeling Model Storming (minutes) Reviews (optional) All Cycles (hours) Implementation (Ideally Test Driven) (hours) Cycle 1: Development Cycle 2: Development Copyright 2003-2005 Cycle n: Development Scott W. Ambler
  • 13. Modeller  Analyzer& designer  Agile modelling  Main purpose for communicating  Model just «enough»  details appear in code  Using UML or not is not the problem
  • 14. Modeller  Conceptual domain modeling  CRC card
  • 15. Modeller  Conceptual domain modeling  Class diagram
  • 16. Modeller  Business process modeling  Activity diagram
  • 17. Modeller  Dynamic object modelling  Sequence diagram
  • 18. Modeller  Dynamic object modelling  State chart diagram
  • 19. Modeller  Agile Architecture  Free form diagram
  • 20. Modeller  User interface flow
  • 21. Developer  Apply patterns & sketch diagrams for frist design  Unitest  Unittest while coding  Unittest makes the program failed  Program makes the test passed  Refactoring  At least, after «testing + coding»  Make the code clear  Easy to maintain
  • 22. Other techniques  Acceptancetest  Perform automatically  Is written by customer, business analysis, tester, and QA  Should be created before implementation  Database problem  Testing database  Unit test  Intergration test  Database evolutionary  Database refactoring  Backup & chang DAL code
  • 23. Outline  Software process lifecycle  Agile techniques  Establishing development environment & choosing technology
  • 24. Establishing development environment  Open workplace  Source version control  Process management  Project backlog  Velocity  Test management  Unit test  Acceptancetest  Database management  Policy when changing database schema  Tools support  Testing with database
  • 25. Chose technology  Achitecture  N-tier application  Enterprise & distributed system  Portability  E.g Linq to SQL vs N-Hibernate  Execution environmentt  Clould  Google App engine  Window Azue  Mobile enterprise  Service for client (Server technology)  Client technology (Android, WP, iOS)
  • 26. Chose technology  Framework  Cross-layer framework  ASP.NET with csla  Java with Spring  Python with Django  Layer dependence framework  Presentation MVVM with Prims  Web with ASP MVC  Data access with Linq to SQL, N-Hibernate  CMS  Joomla  Wordpress  Drupal  Zend cart  MDA approach
  • 27. Reference  Devlopment process  Agile Principles Patterns and Practices in C#  Scrum And Xp From The Trenches  Visual Studio Application Lifecycle Management
  • 28. Reference  Agile modeling  The object primer  Database change management  http://martinfowler.com/articles/evodb.ht ml  http://www.liquibase.org/  Refactoring  Refactoring: Improving the Design of Existing Code
  • 29. Reference  Testing  UI Test  http://seleniumhq.org/docs/02_selenium_ide. html  Acceptancetest  http://www.clemensreijnen.nl/post/Testing-in- the-Application-Lifecycle-with-Visual-Studio- 2010-Test-Edition.aspx  http://fitnesse.org/  Unit test with data access layer  http://www.buunguyen.net/blog/unit-testing- the-data-access-layer.html