Microsoft is a registered trademark of Microsoft Corporation in the United States and/or other countries.
  Home  |  Our services  |  Our difference   |  About us   |  News   |  Technology primer   |  Contact us 

Development Management

Agile software development

Agile software development is a conceptual framework for undertaking software development projects free of process intensive and document heavy practices. A number of agile software development methodologies have evolved under the agile umbrella, such as:

Agile methods became popular in the mid 90s with the Agile manifesto being created in 2001. The Agile manifesto is regarded as the standard definition for agile software development. The principles of the Agile Software Development manifesto are to value Individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; responding to change over following a plan.

Agile Features

The agile methodology lacks any prescriptive guidelines and instead it is comprised of a number of key recommendations.

Iterations

Developing software in short cycles or iterations, usually lasting one to four weeks, reduces risk and creates an immediate goal/focus for the project team. Each iteration includes the necessary tasks to release an updated piece of software: planning, requirements analysis, design, coding, testing, and documentation. A single iteration may not add enough functionality to warrant releasing the product, but new software must be released at the end of every iteration. At the end of each iteration the project is reviewed and priorities are re-evaluated.

Team Structure

The agile approach is better suited to small teams of senior developers, usually a team size of less than 10. Agile teams are encouraged to be grouped together face to face with all the people necessary to complete a project. Usually the team will consist of programmers and customers, but may also include testers, technical writers etc. Grouping the team together encourages ongoing communication and ensures that all members are focused on the current priorities and features.

Progress

Agile methods recommend the use of working software releases as the primary measure of progress.

Agile Software Links

Agile Alliance <http://www.agilealliance.org/>

Microsoft Solutions Framework

Microsoft Solution Framework (MSF) was developed and released in 1994 by Microsoft to provide organizations with guidelines for solution development and delivery. The framework is defined by a set of principles, models, disciplines, concepts, guidelines and proven practices for technology based projects.

MSF was developed from best practices used by Microsoft Consulting Services and Microsoft's Product development group in combination with well established industry standards to provide a flexible framework that can be adapted to any project or organization regardless of size or complexity.

MSF and the Microsoft Operations Framework (MOF) are designed to be used in conjunction throughout the technology life cycle.

MSF v3.0 Features

MSF Process Model

The MSF Process Model is based on phases and milestones. There are 5 phases in the MSF model; Envisioning, planning, developing, stabilising and deploying. The end of each phase is represented by a milestone.

MSF Team Model

MSF Team Model is defined by six functional roles; product management, program management, development, test, user experience and release management. Within each phase of the MSF process model each role has specific activities and deliverables to meet the requirements of the phase.

MSF Risk Management Discipline

MSF Risk Management discipline is defined by a six step risk management strategy; identification, analysis, planning, tracking, controlling, and learning.

MSF Project Management Discipline

Responsibilities of the project manager role are encompassed in the MSF program management role cluster. In larger projects, project management activities occur at multiple levels.

MSF Readiness Management Discipline

The MSF Readiness Management Discipline includes a readiness management process to help prepare for the knowledge, skills and abilities needed to build and manage projects and solutions. The readiness management process is composed of four steps: Define, Assess, Change and Evaluate. Each step of the process includes a series of tasks to help reach the next milestone.

Changes from Previous Versions of MSF

Previous versions of MSF contained two process models, one for application development (AD) and one for infrastructure deployment (ID). Each of the processes was comprised of four phases and four major milestones. Depending on whether the project objective was AD or ID, the phases and milestones had different names and definitions. The AD model and ID model have been merged into a single process model for MSF v.3.0. Merging the two process models has resulted in the addition of one phase to the AD process model; this phase is to accommodate the end of the development phase and the beginning of the deployment phase.

The process model for AD was developed first. It's purpose was to consolidate the best practices and processes used by Microsoft to build the software offered to customers and partners.

Once the AD model was established the need for a similar process to guide the large-scale deployment of products and servers within enterprises arose. Microsoft adapted the AD model to create a process model for ID.

The need for a single, integrated process model became evident for the following reasons:

MSF Links

MSF Homepage <http://www.microsoft.com/technet/itsolutions/msf/default.mspx>

 
 
 
 
  Home  |  Our services  |  Our difference   |  About us   |  News   |  Technology primer   |  Contact us