Software Methodologies: Are Our Processes Crisis-Agile?
In this chapter, we discuss software development methodologies. These are adaptive process frameworks adjustable to software product size and scope. They usually include a set of methods, principles and techniques, and software development tools. Each of
- PDF / 392,201 Bytes
- 18 Pages / 439.37 x 666.142 pts Page_size
- 64 Downloads / 263 Views
Software Methodologies: Are Our Processes Crisis-Agile?
Abstract In this chapter, we discuss software development methodologies. These are adaptive process frameworks adjustable to software product size and scope. They usually include a set of methods, principles and techniques, and software development tools. Each of the methodologies can implement any of the lifecycle models. We discuss the difference between formal and agile methodologies. The formal methodologies include more artifacts; they have a rich set of complex processes, which include larger workflows and smaller activities. For each activity, every role assigned to it produces a deliverable. In crisis conditions, such as hardly formalizable problems, rapidly changing requirements and other uncertainties, agile methodologies, which are more adaptive and flexible in terms of artifacts, are applicable. The agile methodologies rely on self-disciplined and self-manageable teams, and consequently they are more constrained in terms of human-related factors. Similar to lifecycle models, there is no “silver bullet” in software development methodologies. Due to rigorous processes and more artifacts, formal methodologies are suitable for large-scale product development. Agile methodologies require special techniques and high level of discipline; otherwise, they can likely result in a low quality of software production. Keywords Software development methodology methodology
Formal methodology Agile
1 Introduction The previous chapters introduced lifecycle models for software product development. In this chapter, we discuss a few software development methodologies. These are adaptive process frameworks adjustable to software product size and scope; they include a set of methods, best practices and tools. Each of the methodologies that we will discuss can implement any of the lifecycle models introduced in the previous chapters. However, some of the methodologies are more formal in terms of development process and product artifacts, © Springer International Publishing Switzerland 2016 S.V. Zykov, Crisis Management for Software Development and Knowledge Transfer, Smart Innovation, Systems and Technologies 61, DOI 10.1007/978-3-319-42966-3_3
51
52
3 Software Methodologies: Are Our Processes Crisis-Agile?
while others are more flexible. In crisis conditions, which are usually more uncertain, agile methodologies are applicable. They usually require fewer product artifacts; however, disciplined team development is mission-critical. Similar to lifecycle models, there is no “silver bullet” in software development methodologies. The formal methodologies are suitable for mission-critical and large-scale applications. The agile ones are often more crisis-resistant; however, in case of undisciplined development they may degrade into build-and-fix lifecycle and low quality software. This chapter is organized as follows. Section 2 presents an overview of process frameworks of the software development methodologies. Section 3 presents the key features of Rational Unified
Data Loading...