Tag Archives: software development

The Importance of Software Architecture in Big Data Systems

Many types of software systems, including big data applications, lend them themselves to highly incremental and iterative development approaches. In essence, system requirements are addressed in small batches, enabling the delivery of functional releases of the system at the end of every increment, typically once a month. The advantages of this approach are many and varied. Perhaps foremost is the fact that it constantly forces the validation of requirements and designs before too much progress is made in inappropriate directions. Ambiguity and change in requirements, as well as uncertainty in design approaches, can be rapidly explored through working software systems, not simply models and documents. Necessary modifications can be carried out efficiently and cost-effectively through refactoring before code becomes too “baked” and complex to easily change. This blog post at the SEI Blog by Ian Gorton of the SEI, the second in a series addressing the software engineering challenges of big data, explores how the nature of building highly scalable, long-lived big data applications influences iterative and incremental design approaches.

Using Scenario-Based Architecture Analysis to Inform Code Quality Metrics

As the pace of software delivery increases, organizations need guidance on how to deliver high-quality software rapidly, while simultaneously meeting demands related to time to market, cost, productivity, and quality. In practice, demands for adding new features or fixing defects often take priority. However, when software developers are guided solely by project-management measures, such as progress on requirements and defect counts, they ignore the impact of architectural dependencies, which can impede the progress of a project if not properly managed.

This blog post at the SEI blog by Rod Nord and Ipek Ozkaya of the SEI describes a first step toward an approach they developed that aims to use qualitative architectural measures to better inform quantitative code-quality metrics.

Best of SATURN: A Curated Selection from Jeromy Carriere (Google)

Jeromy Carriere of Google, member of the SATURN 2014 Program Committee and previously featured speaker at SATURN, dug through presentations from previous years at SATURN and put together a list of some he found valuable:

Invited talk: Games Software Architects Play (Phillippe Kruchten)
“The life of a software architect is a long (and sometimes painful) succession of suboptimal decisions made partially in the dark.” Phillippe takes us on a tour of some of the ways that we make bad decisions: cognitive biases, reasoning fallacies, political games. Sadly, each example resonates with me, and not just because I’ve seen them in other people. Architects have to rely on intuition, but we also need to know when and how it fails us.

Continue reading

Why Participatory Sessions at SATURN 2014?

Experience reports and case studies are some of the most effective learning tools available to professional software engineers today. For decades, software engineers have improved the state of practice by sharing stories of their harrowing adventures and triumphant successes. Taking the time to share lessons from our past experiences not only helps us to avoid repeating the mistakes of the past but also spreads the most effective practices widely. This is why SATURN has included experience reports in the main conference program since the start.

While hearing about others’ experiences is important, there is only so much that you can learn by listening to others talk about what they did and what they learned. Learning from experiences of your own is an essential part of growing as a professional software engineer. This is especially true for software architecture, an area that requires a broad understanding of theory and practice.

Continue reading

1st ACM International Conference on Mobile Software Engineering and Systems (MobileSoft 2014)

Everyone can be part of the mobile adventure! Visit our website for more details: http://www.sigsoft.org/mobilesoft2014

1st ACM International Conference on Mobile Software Engineering and Systems (MobileSoft 2014)
http://www.sigsoft.org/mobilesoft2014
June 2-3, 2014 Hyderabad, India
Co-located with ICSE 2014 May 31- June 7, 2014 (http://2014.icse-conferences.org)

Important Dates
===============
Continue reading

Workshop on Software Architecture Metrics at WICSA 2014 – Call for Papers

First International Workshop on Software Architecture Metrics at WICSA 2014
Sydney, Australia, April 7, 2014
Submission deadline: January 12, 2014

http://www.sei.cmu.edu/community/sam2014/

Architecting complex software systems faces the challenge of how best to assess the achievement of quality attributes and other key drivers, how to reveal issues and risks early, and how to make decisions on architecture improvement. Software architecture quality has a large impact on this effort but is usually not assessed with quantitative measures. As the pace of software delivery and technology churn increases, organizations need guidance on how to meet business goals of their software. There is an increasing need to provide ongoing insights into the quality of the system being developed.

Continue reading

SATURN 2014 Is the Conference for Software Architecture Practitioners

In the introduction of The Development of Design, Gordon Glegg describes a rare and important type of explorer that is the engineering scientist.

[The engineering scientist] not only seeks knowledge but he also applies it. His duty is to the community. His success lies in the tangible, and his satisfaction springs from creating something both new and useful.

SATURN is the conference for engineering scientists who practice in the field of software architecture. Knowledge shared at SATURN is intended to be put into practice. The technical program in general is all about sharing important lessons we’ve learned when designing and building software systems.

Continue reading

Workshop on Architecting Mobile-enabled Systems at WICSA 2014

Mobile apps and smartphones are only one instance of today’s mobile computing technology

From a systems and software architecture perspective, mobile devices and sensors are being integrated into IT solutions and re-shaping the way that systems are built. We call these systems mobile-enabled systems. In these systems the mobile device is not simply a “unit” but rather a “node” that is part of a much larger system.

The impact that mobility has on software architecture and how the software architecture research community can help address many relevant issues will be discussed in the Workshop on Architecting Mobile-enabled Systems (AMeS), thus providing new insights on the key challenges faced by architects of mobile-enabled systems.

The workshop will be held in conjunction with the 11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014), April 8, 2014 in Sydney, Australia.

For more information and to participate, see the Call for Papers.

SATURN 2014 Call for Submissions

SATURN 2014 marks the 10th Software Engineering Institute (SEI) Architecture Technology User Network (SATURN) conference—the largest conference dedicated to software architecture in North America. Since 2003, an international audience of practicing software architects, industry thought leaders, developers, technical managers, and researchers have gathered at SATURN to share ideas, insights, and experiences about effective architecture-centric practices for developing and maintaining software-intensive systems.

SATURN 2014 will take place in Portland, Oregon from May 5—May 9, 2014.

Continue reading

Workshop on Managing Technical Debt at ESEIW 2013

Fifth International Workshop on Managing Technical Debt
Co-located with Empirical Software Engineering International Week (ESEIW 2013)
Baltimore, Maryland
October 9, 2013
http://www.sei.cmu.edu/community/td2013esem/

The technical debt metaphor is gaining significant traction in the development community as a way to understand and communicate the issues surrounding the delivery of increasingly complex software-reliant systems that demands better ways to manage the long-term effects of short-term expedients. However,

“…there is a plethora of attention-grabbing pronouncements in cyberspace that have not been evaluated before they were published, often reflecting the authors’ guesses and experience on the subject of Technical Debt.” – Spinola et al. 2013

Continue reading