Monday, December 28, 2009

Finally ...WBS Moldeler for MS Visio 2007

I was always wondering what is the best tool to draw the WBS of a project , I have tried before to use the MS visio but I could not find any speical modeler for WBS so I was using the org. chart to do so .

Today I was doing a search and found out that Microsoft has release a WBS modeler Add-in tool for Visio 2007 :
http://www.microsoft.com/downloads/details.aspx?FamilyID=34c28a49-e14c-4a7d-8d49-90061fe08ab4&displaylang=en

Enjoy it...

Thursday, December 24, 2009

Worldwide cost of IT failure: $6.2 trillion

I have read this article and I think it is good for you also to read it :

http://blogs.zdnet.com/projectfailures/?p=7627

Wednesday, December 2, 2009

Principles of Microsoft Solutions Framework (MSF) for Agile Software Development

a Few months ago my company has started engagment with Microsoft to have our development environment running with MSF Agile method, hence I have listed down below the summary of principles for this brilliant methodology .

Microsoft Solutions Framework (MSF) for Agile Software Development is a scenario-driven, context-based, agile software development process for building .NET and other object-oriented applications. MSF for Agile Software Development directly incorporates practices for handling quality of service requirements such as performance and security. It is also context-based and uses a context-driven approach to determine how to operate the project. This approach helps create an adaptive process that overcomes the boundary conditions of most agile software development processes while achieving the objectives set out in the vision of the project.



Partner with Customers - The MSF team model advocates basing team decisions on a sound understanding of the customer’s business and on active customer participation in project delivery. Satisfied customers are the top priority for any great team. A customer focus throughout development means having a team commitment to understand and solve the customer’s business problem. Once this business problem is understood, customer involvement must be maximized to the degree possible to ensure that the customer's expectations are met. Transparency, active, and regular communication must be maintained throughout the project. Customer validation is often the difference between real and fictional business value.



Work Toward a Shared Vision - MSF strongly advocates the adoption of a shared vision to focus the approach of a team. Shared vision ensures that all team members agree on what they are accomplishing by building the product. A shared vision aligns the team around a common goal and sets the customer’s expectations. Collaboration is improved because decisions are not arbitrary, but rather are determined in the context of achieving the vision that everyone agreed to. Without a shared vision, team members may have competing views of the goal, making it much more difficult to deliver as a cohesive group. And if the team does deliver, members will have difficulty determining their success because it depends on which vision they measure it by. Understanding the value proposition of your solution and communicating it effectively is often a key success factor.



Deliver Incremental Value - Nothing establishes credibility like frequent delivery. Having a nearly shippable product every day is important. Responding to the needs of your customers with small, quality deliverables shows progress. Through frequent delivery, process and infrastructure are proven and improved. Risks, bugs, and missing requirements are detected early. Incremental delivery forces key decisions. Feedback can be provided when it can make a difference. Some keys to frequent delivery are keeping the scope of an activity small, working on deliverables in a "just-in-time" manner, and leaving options open by eliminating premature decisions. Plan, execute, and measure progress and team velocity based on the delivery of increasing value to the customer and rising return on investment. Minimize those activities that do not add customer value. Use iterations to maintain the cadence of work products that your customer can evaluate. Make the handoffs of work from one team member to another as efficient as possible. Developers should be constantly running the product and the company should be trialing new releases or dogfooding.



Invest in Quality - In a successful team, every member feels responsible for the quality of the product. Responsibility for quality cannot be delegated from one team member to another team member or function. Similarly, every team member must be a customer advocate, considering the eventual usability of the product throughout its development cycle. Quality has to be built into the plans and schedules. Use bug allotments, iterations devoted to fixing bugs, to bring down bug debt. This will reduce velocity which may provide enough slack in future iterations to reduce bug rates.



Empower Team Members - In an effective team, each member is empowered to deliver on their own commitments and has confidence that, where they depend on the commitments of other team members, that these will also be met. Likewise, the customer has a right to assume that the team will meet its commitments and will plan on this basis. At worst, the customer should be notified as soon as possible of any delay or change.



Establish Clear Accountability - The MSF team model is based on the premise that each role has equal weighted goals, presents a unique perspective on the project, and that no single individual can successfully represent all of the different goals. To resolve this dilemma, the team of peers needs to combine a clear line of accountability to the stakeholders with shared responsibility for overall success. Within the team, each role is accountable to the team itself (and to their own respective organizations) for achieving their role’s quality goals. In this sense, each role is accountable for a share of the quality of the eventual solution. Responsibility is shared across the team of peers (allocated in line with the team roles). It is interdependent for two reasons: first, out of necessity, since it is impossible to isolate each role's work; second, by preference, since the team is more effective if each role is aware of the full picture. This mutual dependency encourages all team members to comment and contribute outside their direct area of accountability, ensuring that the full range of the team’s knowledge, competencies, and experience can be brought to bear. All team members own the success of the project; they share in the kudos and rewards of a successful project and are expected to improve their expertise by contributing to and learning from the lessons of a less successful one.



Learn from all experiences - Since each development project, environment, and team is unique, each project and iteration within the project creates a learning opportunity. However, there can be no learning without honest feedback and reflection. Unless there is a supportive environment that fosters courage and personal safety, feedback will be limited and not placed in a light of improvement. Once these factors are in place, individuals and teams can focus on ongoing self improvement, gathering and sharing of knowledge, and beneficial lessons learned. Additionally, there will be opportunities to implement proven practices of others and to commit time in the schedule for learning. Conducting blameless buddy reviews and productive retrospectives are key components of the MSF process which help teams commit to communicating.



Foster open communications - Historically, many organizations and projects have operated purely on a need-to-know basis, which frequently leads to misunderstandings and impairs the ability of a team to deliver a successful solution. MSF proposes an open and honest approach to communications, both within the team and with key stakeholders. A free-flow of information not only reduces the chances of misunderstandings and wasted effort, but also ensures that all team members can contribute to reducing uncertainties surrounding the project.



Stay agile, adapt to change - The more an organization seeks to maximize the business impact of a technology investment, the more they venture into new territories. This new ground is inherently uncertain and subject to change as exploration and experimentation results in new needs and methods. To demand certainty in a changing environment is unrealistic and leads to unsuccessful results. MSF assumes that things are continually changing and that it is impossible to isolate a project from these changes. The MSF Team Model ensures that all core roles are available throughout a project so that they can contribute to decisions arising from these changes. As new challenges arise, the MSF Team Model fosters agility to address these issues. The contribution of all team roles to decision-making ensures that matters can be explored and reviewed from all critical perspectives.