We regularly speak about software development; at events ranging from large conferences through to small user groups and specialist events. The slides from most of the presentations can be downloaded as a PDF or viewed online. They cover a range of topics related to software architecture, technical leadership and the balance with agility.
The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software that better meets the needs of the business while carefully managing time and ...
The words agile and architecture are often seen as mutually exclusive, but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil, whereas others are coming to the conclusion that they need to ...
Agility is about moving fast, and this requires good communication. But it's surprising that many teams struggle to effectively communicate the architecture of their software. As an industry, we do have the Unified Modeling Language (UML), yet many people ...
Agility is about moving fast and this requires good communication, but it's surprising that many teams struggle to effectively communicate the architecture of their software. We have the Unified Modelling Language (UML), a formal standardised notation for ...
The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software within the typical time and budgetary constraints that most of us have. But ...
The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...
Agility is about moving fast and this requires good communication, but it's surprising that many teams find it tricky to effectively communicate the architecture of their software. We have the Unified Modelling Language (UML), a formal standardised ...
Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many agile teams struggle to effectively communicate the architecture of ...
The agile and software craftsmanship movements are pushing up the quality of the software systems we build, but there's more we can do because even a small amount of software architecture can prevent many of the problems that projects still face, ...
Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many agile teams struggle to effectively communicate the architecture of ...
The term "Legacy System" conjures up images of a vast mainframe (with whirring tapes and flashing diodes) running COBOL programs in a basement. However, many current computing stacks are quite old and have many legacy implementations. Although Java/JVM is ...
The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software that better meets the needs of the business while carefully managing time and ...
Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and it ...
Statistically, the IT projects you're involved with at this very moment have a high probability of failing. Maybe deadlines will be missed. Maybe budgets will be blown. Maybe the project won't deliver the intended value because it creates the wrong ...
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...
One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...
Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and it ...
We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...
I regularly run deliberate practice sessions where I ask people to pair up and design a software solution for a given problem before communicating it using pictures. This allows people to experience collaborative software design and to hone their ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name, and a master ...
The line between software development and software architecture is a tricky one. Some people will tell you that it doesn't exist and that architecture is simply an extension of the design process undertaken by developers. Others will make out it's a ...
The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make an appearance. Where do you start though? UML or block diagrams? How much detail should you include? ...
The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...
The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...
Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...
...
架构师不可能做到全知全能,但是仍然担负着...
We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...
Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...
Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
So then, why do software projects fail?
One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...
A collaborative approach to software architecture fits in well with agile's collective ownership of the code, yet most people don't get to practice the software design process all that often.Where do you start? How do you communicate your design? UML or ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
This is a lightning talk about the importance of effective sketches and communication, even on SharePoint projects!
The line between software development and software architecture is a tricky one. Some people will tell you that it doesn't exist and that architecture is simply an extension of the design process undertaken by developers. Others will make out it's a ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
Designing software given a vague set of requirements and a blank sheet of paper is a good skill to have, although not many people get to do this on a daily basis. However, with agile methods encouraging collective ownership of the code, it's really ...
One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...
The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make their appearance. Where do you start though? How much detail should you include? Technology decisions ...
This one-day workshop is an introduction to software architecture and what it means to take on the software architect role. It's aimed at software developers who are looking towards their first software architect role, developers who want to become more ...
The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...
Have you ever built a software system and your users have complained that it's too slow? I have; debugging live performance and scalability issues with business sponsors watching over your shoulder isn't fun! Load testing is an often forgotten and ...
The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make their appearance. Where do you start though? How much detail should you include? Technology decisions ...
Statistically, the IT projects you're involved with at this very moment have a high probability of failing. Maybe deadlines will be missed. Maybe budgets will be blown. Maybe the project won't deliver the intended value because it creates the wrong ...
One of the hardest things about building software is being asked to come up with a solution when all you're given is a set of requirements and a blank sheet of paper. Many project teams will dive straight into the nitty-gritty of the technologies and ...
One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...
This one-day workshop is an interactive introduction to software architecture and what it means to be a software architect. It's aimed at software developers who are looking towards their first software architect role, developers who want to become more ...
Writing code is easy. Writing good code is still relatively easy if you know what you're doing. Yet delivering quality software on time and on budget is a whole different story! Some software teams are just happy continuing to work the way that they've ...
One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...
One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...
This session will look at the development processes in use for an ASP.NET application where quality and consistency have a direct effect on the reputation of the organisation. We'll look at: Subversion and our use of code branches to manage release ...
Load testing is an often forgotten and seemingly difficult task that many people shy away from doing. It doesn't have to be this way though, with a basic level of load testing often enough to give you confidence that you've satisfied your performance and ...
One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...
Load testing is an often forgotten and seemingly difficult task that many people shy away from doing. It doesn't have to be this way though, with a basic level of load testing often enough to give you confidence that you've satisfied your performance and ...
This session will look at the development processes in use for an ASP.NET application, where quality and consistency have a direct effect on the reputation of the organisation. Weâll look at: Subversion and our use of code branches to manage release ...
A description of your software architecture is essential for any project of any size, explaining the rationale behind the design decisions and how the software will work in the real world. Such descriptions should include an explanation of the software ...
A breadth of experience is key for successful software architects, but how do you get this and what should you know? In this technical session we'll look at the things every software architect should know, drilling down into the following ...
This session is an interactive introduction to software architecture and what it means to be a software architect. It's aimed at software developers who are looking towards their first software architect role, as well as architects that are new to the ...
This session presents an introduction to the Java platform and is aimed at anybody with .NET experience. But wait a minute, this is 2009! Why do this now? More and more enterprise projects are turning away from a single technology stack solution and ...
It's a well-known fact that we learn by making mistakes, but why not get a head-start and learn from other people's! The software architecture role involves a depth of technology skills along with a breadth of many other things, including soft skills. ...
The transition from architectural vision to production code is not always an easy one. Of course we plan for a certain amount of change and accept that some decisions will, on occasion, be wrong. However, without effective communication of the ...
The industry has a love/hate relationship with the Software Architect role, with many organisations dismissing it because of their negative experiences of architects that dictate from ivory towers and aren't engaged with the actual task of building ...