Assignment 2


An evolutionary team structure as shown in the figure allows for efficient allocation and utilization of the team's resources at each stage of the Software Development process. By having such a dynamic and ever changing structure, it allows flexibility in the team structure so that the resources and energies of the team can be maximized and focused on the current task at hand.

Based on the diagram, we can see that the Software Development cycle is roughly divided into four parts namely: inception, elaboration, construction and transition; and within each phase, we can see that there is a single process for which 50% of the development efforts are concentrated. From this, we can infer that the focus of the team changes as they progress through the different project stages. As mentioned above, this aids in the efficient allocation of resources.

Another advantage of having such an evolutionary structure is that none of the stages of the Software Development process are overlooked in any way. Management, architecture, development and assessment stages are all weighted similarly in terms of effort distribution. This is a good structure because the balance in devotion of time to all four tasks ensures that none of the four important phases are compromised in the overall Software Development cycle. As I have learnt from the lectures, writing software is not merely just being concerned about the end product, we have to be aware of the whole process involved in it, and hence, understanding the importance and significance of each phase, we have to ensure that all processes are taken care of; and the evolutionary process aids this process.

An interesting and perhaps important point to note is that the software management process is linked to all the other three processes, whereas the other processes are not interlinked. This again shows the importance of the overall planning and design of the software even before any code is written. Again, this tells us that a good approach to software planning during the inception phase would lighten and simplify our workload later on. Software planning can be said to be the backbone of the Software Development process, its importance cannot be undermined or overlooked.

Such an evolutionary structure, hence ensures that the software would be created in a proper manner, from inception to elaboration, to construction and finally transition. However, as with any other model, problems and flaws are inherent. The most obvious of which is that bottlenecks can/may occur if such a model is being used, this is essentially or in essence a somewhat linear model, and by using a linear model, there is always a risk that delays may occur. This could have serious consequences since a substantial half of the team's efforts are currently concentrated on the very task that led to or contributed to the delay. Hence inefficiencies and delays in delivery date may result.

And from the way the model is drawn, I infer that there is quite a marked and significant change in team structure whenever the project enters the next stage. Such a drastic change in team structure leads to many shake ups and requires almost a paradigm shift in thinking on the part of the team members. Though members are being exposed to all the different stages of Software Development, they are also expected to be the jack of all trades. Not only is such a requirement potentially disruptive, it also requires almost total completion of the previous task before the project enters its next phase. The boundaries defining the various stages may be too clearly defined. Again, this may result in bottlenecks and unnecessary stress to the team members.

Finally, to improve the model, I would suggest a concurrent model, instead of the somewhat strict and rigid linear fashion through which the process is modeled. There could be more interlinks between the processes so that the transition between stages and defining boundaries are not so great. This will ensure that the stages can progress smoothly and with minimal disruption to the working style and schedule of the members. However the increased interdependency between the various stages could also be a disadvantage. It may result in a serious and propagating ripple effect should any problems arise during each of the individual phases.

Done by: Low Hui Ting, Ivy (S9)

Back