Subscribe by Email


Showing posts with label Focus. Show all posts
Showing posts with label Focus. Show all posts

Friday, July 27, 2012

What are the causes for the failure of traditional planning approach?

The traditional planning approaches does not always lead to very satisfactory results.

Causes for Planning Failure


Cause #1: Planning is done by activity and not feature
- The traditional approaches to planning focus on activity completion rather than on delivery of features.
- Activity based plans generally lead to projects that overrun their schedules.
- Hence, quality is reduced.

Cause #2: Activities do not finish early
Cause #3: Lateness is passed down the schedule
- Traditional approaches being activity based, their main focus is to focus on dependencies between activities.
- Testing will start late if anything goes worse than planned according to traditional approach.
- Testing will start early if everything goes better than planned.

Ways to avoid late start of testing are:
1. User interface coding finishes late.
2. Middle tier coding takes longer than planned and finishes late.
3. Middle tier coding starts late as tables adding to database finishes late.
4. Tester is not available.

Cause #4: Activities are not independent
- Activities are independent if duration of one activity does not influence the duration of another activity.
- For independent activities, late finish on one activity can be offset by an early finish on another.


Cause #5: Delay caused by multitasking
- Multitasking exacts a horrible toll on productivity.
- It becomes an issue once a project starts to have some activities that finish late.
- Dependencies between activities become critical.
- For a traditionally planned project, multitasking becomes a problem for two reasons:
1. Work is assigned in advance and it is impossible to allocate work efficiently in advance.
2. It focuses on achieving high level of utilization of all individuals rather than on maintaining sufficient slack.

Cause #6: Features are not developed by priority
Cause #7: Ignoring Uncertainty
- We fail to acknowledge uncertainty in traditional approach.
- Ignore the uncertainty about product.
- Assuming initial requirement analysis will lead to complete specification of product.
- Ignoring uncertainty about how we will build the product.
- The best way to deal with uncertainty is to iterate.


After looking at the problems with traditional approaches to planning, many projects are disappointing. Planning based on activity diverts us from features and as a result, a variety of problems leads to the likelihood of delivering late against a schedule.










Monday, June 25, 2012

What is the relation between installation testing and configuration management?


Installation testing as we all know falls under the genre of quality assurance work in the field of software engineering and is all focused up on what is to be done by the customers in order to set up and install the new software system or application successfully. 

Installation testing process is constituted of the following processes:
  1. Upgrading of installation and un- installation process.
  2. Partial installation and un- installation process.
  3. Full installation and un- installation process.

What is Configuration Management?


- Configuration management is somewhat self justifying and is looked up on as one of the best practices available for handling the changes that are made in the software system or application during the project development.  
- It is also used as a means for the identification of the physical as well as functional attributes of the software system or application at various points of time during the development process. 
- The configuration management takes up the systematic control of the changes to be made to the identified attributes with the following purposes:
  1. Maintaining software trace-ability throughout the software development life cycle.
  2. Maintaining software integrity throughout the software development life cycle.

Relation between Installation Testing and Configuration Management


Both the above mentioned processes i.e., installation testing and configuration management share a relation with each other.  

- Installation testing is performed by the software testing engineer in collaboration with the manager handling the configuration management process known as “configuration manager”. 
- The configuration management process shows up the need to trace the changes. 
- This process has the ability with the virtue of which it verifies whether or not the final developed software system or application has all the enhancements, features and functionality that are required to be in the release. 
- In a way we can say that the configuration management checks how correctly the installation testing has been implemented. 
- It is done by the means of four below mentioned procedures that need to be defined for all the software systems or applications in order to ensure that a proper configuration management process is implemented:

1. Configuration Identification: 
It involves identification of the attributes defining all the aspects of the configuration item.

2. Configuration Change Control:
It includes a set of approval stages and set of processes that are intended to change the attributes of a configuration item and re- baseline them.

3. Configuration Status Accounting:
By virtue of this ability the configuration baselines associated with all the configuration items at any instant of time are recorded and reported.

4. Configuration Audits:
It occurs at the moment of incorporating the change. These can be divided in to two categories:
(a)Functional configuration audits: ensures achievement of the performance and functional attributes of the configuration items and
(b)Physical configuration audits: ensures proper installation of the configuration item with the requirements mentioned in the design documentation.

- In installation testing a complied version of the code is placed in a pre- production environment which also acts as the configuration item for configuration management. 
- The configuration management is carried out outside the usual software development environment so that the corruption to the code is limited from the past as well as the future releases.
- The set up program used in the package software acts as a multi configuration wrapper and each and every configuration in it should be tested appropriately so that it can be released with confident. 

In a way we can say that these two processes i.e., installation testing and configuration testing are locked with each other to some extent and this is what that keeps them related to each other.


Sunday, June 10, 2012

What are the strengths and weaknesses of scrum?


Even though a lot of programmers and developers have been opting out for using scrum for the development of their projects, they had always faced some problems when implementing the scrum processes. These problems more or less are a consequence of the weaknesses of the scrum development method. 

However, in comparison to the weaknesses, the scrum has more number of strengths or plus points and this is what that makes the scrum so popular among the programmers and developers in spite of its weaknesses. 

According to a research, scrum was find to be weak in scrum training and certification. As we all know the scrum has always been looked up on as one of the best ways to implement the agile principles in the development process. All these modern agile software development processes like the waterfall, spiral and iterative models are quite different from the traditional approaches to software development. 

Problems and Misconceptions faced by Scrum Methodology


- One thing that really makes the scrum implementation weak is that programmers and developers think that implementing scrum itself is equal to agile implementation which is absolutely wrong! 
- Any software development process on a whole cannot be considered to be a complete agile process until and unless all the disciplines and rules of the agile management have been incorporated in to the development process.
- When one takes the scrum process to be equal to the agile process, then the agile disciplines go missing from the development process without the knowledge of the developer. 
- The developer thinks that he had implemented all the aspects of the agile management via the scrum which is a very false perception. 
- Many people do not understand that scrum is a software development process meant to achieve the goals of agility. 
- Scrum is a means and not a goal in itself. 
- Implementing the scrum without knowing about it in depth is like drawing up an empty process which takes you nowhere except that your time and efforts are wasted.
- When the scrum is simply thought of as a process so many formal activities that are carried out are a total waste. 
- There is another aspect to this weakness! This weakness in some cases becomes the strength of the scrum process making several problems visible to the developers. 
- But this is not the usual case since some developers may identify the problems found, themselves. 
- Plus if such problems are discovered during the implementation of the scrum then one more thing is obvious that the communication between the team members is not fluent and effective. 

Some developers and programmers may also blame the scrum for such problems. Here below we have summarized all the strengths and weaknesses of the scrum:
      
        1. Strengths:
a)  Encourages team work.
b)  Maintains transparency of the development process.
c)   Breaks down hierarchies.
d)  Keeps a focus on user features. (this is a weakness also in some cases)
e)  It is adaptive.
f)   Encourages visibility of the development.

      2.Weaknesses:
a)  Keeps a focus on user features: Focus on user features to some extent is ok but what if the process is totally in to it? A slow and clean approach always seems difficult to a team! Non functional requirements can be ignored since they don’t have any direct impact on the user.
b)   With scrum every team member needs to forget about his/ her area of expertise.
c)   Scrum is more useful to the companies that are product based rather than other aspects.


Saturday, June 9, 2012

What is a Scrum Framework?


Many a times you might have heard, “scrum is a framework rather than a full methodology or process”! Why scrum is said to be a framework and not a process? 
This article explains the scrum framework in detail and answer the above mentioned question to the best of my understanding.

Scrum Overview


- Scrum is an iterative as well as incremental process and has its foundation laid up on the principles of the agile software development. 
- The agile foundation of the scrum helps it to focus up on keeping the code as simple as possible, testing the code quite often and delivering the working releases of the software system or application as soon as possible when they are ready. 
- The goal of the scrum lies in the philosophy of building a small client approved release as the team continues to develop the project rather than delivering one whole large completed software system or application with many undesired aspects at the end of the development process. 

What is a Scrum Framework?


- The scrum frame work is developed with the help of 3 core roles out of which first one is the “development team”. 
- When the scrum process is implemented for the development of a project, the development team is supposed to answer the following three questions:

  1. What they had accomplished since the last scrum?
  2. What they will do before the beginning of the next scrum?
  3. Did they encounter any stumbling blocks or hindrances?
- After the answers to these three questions are obtained, the sprint burn down chart is updated. 
- Next comes the role of the “product owner”, the person who holds the vision for the software project. 
- He/ she hold the responsibility for defining the software product and preparing a product backlog based up on the user requirements. 
- This product backlog is constituted of the user requirements listed in the order of their priority of the business values. 
- The product owner has the authority to accept or reject the work that has been done and change the priority of the features that are to be implemented in a sprint. 
- The scrum master has to supervise all these processes and remove impediments if any. 

Benefits of Scrum Framework


- The scrum framework works well with a team that has abilities like that of self organizing and cross functionality. 
- The frame work allows the development team to do everything to achieve the sprint goals but staying within the boundaries of the scrum principles. 
- For the frame work to be properly implemented it is necessary that the sprint burn down chart should be high with the updates on a regular basis i.e., daily after the sprint review meeting. 
- The scrum frame work demands commitment to the sprint goals and the results are demonstrated to the product owner at the end of every sprint.

There are certain artifacts associated with the scrum framework which have been defined as follows:

  1. Product backlog: Ordered log the user requirements based on the priority level of the business values. Created by product owner.
  2. Sprint backlog: Created by the development team. Log of the tasks that are to be accomplished during the sprints. Obtained from the user stories.
  3. Increment: Sum of all backlog items completed in the current sprint + backlog items completed in the previous sprints.
  4. Sprint burn down chart: This chart provides the project stats.
From all the above discussion it won’t be wrong to conclude that scrum forms a type of “inspect and adapt” frame work.  Scrum is a quite easy to understand consisting off just 4 ceremonies, 3 core roles and 4 artifacts. 


Friday, June 8, 2012

What are the values involved with scrum?


Since the invention of the scrum software development process, it gradually became popular among the programmers and developers because of its values. 
In this article we are going to discuss about the values that made the scrum development process quite popular in the field of the software engineering. 

Values associated with Scrum Methodology


The scrum is known to support the values of:
  i) Commitment
 ii) Focus
iii) Respect
iv) Openness and
 v) Courage
The scrum is said to be powered by the above mentioned values. It may seem like following so many of the values might be so difficult! But to be honest there is nothing like that in scrum and this is what makes the scrum as one of the best agile software development methodology. You just have to follow these values to the maximum extent you can and later on it is taken care of by the development process itself.

1. Commitment
- Commitment as we know is an art in itself i.e., it is the art of binding oneself with the task at hand. 
- According to the philosophy behind the scrum software development process,  a person can only act if he/ she can commit himself/ herself to the task or work whatever the case may be. 
- Normally, it happens that we work in a state of inaction, which means we work quite unwillingly. 
- Scrum helps you to commit to the tasks. 
- For a genuine scrum process usually high levels of commitment have been observed. 
- The authenticity of a scrum process is maintained by the level of commitment of the members of the development team towards the whole development process.

2. Respect
- Respect is a value that is considered to inculcate a feeling of self esteem in a person for others as well as for oneself and also towards the work that is being done.
- There is no doubt regarding whether the scrum supports this value or not! Of course it does. 
- According to the philosophy of the scrum, no positive communication can be developed without a feeling of respect towards one’s and towards all.
- Due to a lack of respect there are possibilities of misunderstandings developing among the team members which in turn may hurt the sentiments of the people. 
- This is another value that plays an important role in maintaining the authenticity of the scrum process. 
- Respectful iterations are needed.

3. Focus
- By focusing on a particular task you concentrate all your attention on a task. 
- This value is encouraged by the scrum since according to its philosophy without focus, you cannot pay attention to any task in any meaningful way. 
- Without focusing, learning cannot be done in a meaningful way either.
- For a scrum process to be quite genuine and authentic, high levels of effective focus are required.

4. Openness
- Openness is a value of the character or behaviour of an individual defining one’s attitude of ready accessibility.
- It means one’s actions do not speck of secrecy and concealment. 
- Scrum has a habit of dealing only with openness. 
- Scrum involves extensive sharing of information among the team members. 
- This value increases the transparency of the whole development process. 
- In a genuine and authentic manner, everyone knows everything about the process and the project.

5. Courage
- Courage is strongly supported by the scrum because the truth about the reality becomes obscured when nobody speaks out regarding it. 
- Often it happens that many of the team members feel very insecure while describing the reality, they fear they might get fired. 


Facebook activity