Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum...

22
Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

Transcript of Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum...

Page 1: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Manoo OrdeedolchestChairman ICT Policy Committee

Sripatum UniversityMicrosoft Software Development Life Cycle

Management of EnterpriseJune 5, 2007

Page 2: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

New ICT technologies makes software development more and more complicated

To deliver quality software people learn to use tools and to work within a process improvement framework

The difficulty part is to change the behavior of software engineers; Agile development now becomes mainstream

The SEI 3-Dimensional framework for process improvement; including people and team work and adding the “How to” part in the processes

Facing problem of “Technology Silos”; need collaboration

Ultimate solution is ALM (Application Lifecycle Management); a new value chain system in a software development organization

Page 3: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Software development becomes more complex• Distributed computing and SOA lead toward more

componentized software; more pieces to manage

• Composite applications

• More reusable

• New deployment methodology

• More methods and processes to choose; UP, Agile processes such as XP, Scrum, etc.

More decisions to be made• Open standard, Open source, Outsourcing, process

reengineering, new technologies—Web 2.0, etc.

• More tools to choose—design tools, test tools, VSTS, etc.

Page 4: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

People seeks process-driven approach to

improving software delivery• Process model enforce quality, time control, and

cost control

• We have the heavy weight champion—

CMM/CMMI

• We also have the light weight champion—the

Agile Development (XP, Scrum, etc.)

Page 5: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Level Focus Key Process Area

Optimizing (L5) Continuous

process improvement

Defect prevention, Technology

change management, Process change management

Managed (L4) Product and process quality

Quantitative process management, software quality management

Defined (L3) Engineering process

Organization process focus,

organization process definition,

integrated software management etc

Repeatable (L2)

Project management

Requirement management, project

planning, project tracking, quality

assurance, configuration

management, subcontract management

Page 6: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

CMMI models consist of up to 22 process areas

(Configuration Management, Integrated Project

Management Organizational Training, Product

Integration, Project Planning, Validation,

Verification, etc.) organized into four

categories:

• Process management

• Project management

• Engineering

• Support

Source: SEI, Carnegie Mellon University

Page 7: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Process is only a second-order

effect. The unique people, their

feelings, qualities, and

communication are more influential

Source: Agile & Iterative Development by Craig Larman

Page 8: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

CMM/CMMI gives examples of

processes and practices at the

organizational level, it provides the “what to do”

CMM/CMMI does not provide specifics

for software developers and their teams, it does not provide the “how to”

Source: Agile CMMI: No Oxymoron by Mike Konradand James Over

Page 9: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Agile development focuses on the customer,

the team, and individual developer

The Agile Manifesto (public declaration of

policy)

• Individuals and interactions over processes and tools

• Working software over comprehensive

documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Page 10: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

CMM/CMMI provides a powerful improvement

framework focusing on organization; what the organization should do….

Personal Software Process (PSP) provides

method focusing on best practices on

individual

Team Software Process (TSP) provides methods

to guide engineers on development and

maintenance teams; to combine personal processes into an overall team process

Source: Pathway to process maturity by Watts Humphrey

Page 11: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

The SEI/TSP is a collaborative, team-

focused, dynamic process that also

supports agile values and principles• TSP emphasizes the customer, team, and

individual developer

• TSP defines team process

• TSP defines roles and other guidance for the individual developer and the team

Source: Agile CMMI: No Oxymoron by Mike Konradand James Over

Page 12: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Unified Process has four management phases: Inception, Elaboration, Construction, and Transition. Each of these phases is iterative

UP is considered a documented methodology---but it can be agile if….• Agility is not about adopting tool or technique, it is

about the mindset

• It’s a willingness to focus on people, the pursuit of stakeholder participation and collaboration

• Approach it with short iterations, the shorter the iteration, the less opportunity for useless bureaucracy

Source: Skinner RUP by Scott Ambler

Page 13: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

People involved in Enterprise software development are many, from users to business analysts, to system analysts and designers; from software architects to deployment engineers, to data base administrator to network engineers, to developers, to project managers, to testers, from client side programmers to server side programmers, from CIO to CEO, and so on…..

Page 14: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Different role uses different tool

• Designer uses design tool

• Developer uses development tool

• Tester uses testing tool

When dealing with composite applications, the

system might have software run on different

platform; .NET at the client side with Java at the

server side or vice versa

What we initially intend to solve is to

connecting the so-called “functional silos”, but we ended up creating “technology silos”

Page 15: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

From requirement phase to design phase to implementation and deployment, these phases must be connected; output from one becomes input to another

The whole end-to-end processes must be well coordinated and managed; we need a way to get rid of the technology silos

We need “Collaboration” and “Management” if we want to guarantee high quality software delivery

Page 16: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Forrester defines ALM as “…the thread that ties the development lifecycle together”

ALM is an approach to improving the software delivery process on top of a mixed development environment, and achieve visibility, traceability and discipline across the complete software delivery cycle

Page 17: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Source: Serena

Page 18: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Executive needsProject managers’ needsAnalysts’ needsArchitects’ needsDevelopers’ needsQuality assurance engineers’ needsSoftware process managers’ needsEnd users’ needs

Page 19: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Source: Borland

Page 20: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

Microsoft Visual Studio Team System is an

entirely new series of productive,

integrated life-cycle tools that help

development teams communicate and

collaborate more effectively. It provides

tools to support the entire software

development team—software architects, developers, and testers.

Source: Microsoft Visual Studio 2005 Team System

Page 21: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex

VSTS features improved support for distributed, team-oriented enterprise application development

VSTS provides tools for the overall software development life cycle, from requirements management to design, modeling, development, testing and maintenance.

VSTS is an extensible life-cycle tools platform to help development teams deliver service-oriented solutions.

VSTS expands the platform to focus on team development and also to focus on communication between disparate members of the development team

Source: http://www.eweek.com/article2/0,1895,1598259,00.asp on

Microsoft deliver Visual Studio Team Tools

Page 22: Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum …download.microsoft.com/download/e/d/a/eda0e538-7773-4700... · 2018-10-16 · Software development becomes more complex