Streamline Closing Selling in IT Architecture Documentation with airSlate SignNow

Effortlessly streamline your document processes and eSign with airSlate airSlate SignNow. Experience great ROI, easy scalability, transparent pricing, and superior support.

airSlate SignNow regularly wins awards for ease of use and setup

See airSlate SignNow eSignatures in action

Create secure and intuitive e-signature workflows on any device, track the status of documents right in your account, build online fillable forms – all within a single solution.

Collect signatures
24x
faster
Reduce costs by
$30
per document
Save up to
40h
per employee / month

Our user reviews speak for themselves

illustrations persone
Kodi-Marie Evans
Director of NetSuite Operations at Xerox
airSlate SignNow provides us with the flexibility needed to get the right signatures on the right documents, in the right formats, based on our integration with NetSuite.
illustrations reviews slider
illustrations persone
Samantha Jo
Enterprise Client Partner at Yelp
airSlate SignNow has made life easier for me. It has been huge to have the ability to sign contracts on-the-go! It is now less stressful to get things done efficiently and promptly.
illustrations reviews slider
illustrations persone
Megan Bond
Digital marketing management at Electrolux
This software has added to our business value. I have got rid of the repetitive tasks. I am capable of creating the mobile native web forms. Now I can easily make payment contracts through a fair channel and their management is very easy.
illustrations reviews slider
Walmart
ExxonMobil
Apple
Comcast
Facebook
FedEx
be ready to get more

Why choose airSlate SignNow

  • Free 7-day trial. Choose the plan you need and try it risk-free.
  • Honest pricing for full-featured plans. airSlate SignNow offers subscription plans with no overages or hidden fees at renewal.
  • Enterprise-grade security. airSlate SignNow helps you comply with global security standards.
illustrations signature

Closing selling in IT architecture documentation

Are you looking for a seamless way to close selling in IT architecture documentation? Look no further than airSlate SignNow by airSlate. With airSlate SignNow, you can streamline the process of signing and sending documents with ease. Whether you are a small business owner or a large enterprise, airSlate SignNow offers a cost-effective solution to meet your needs.

Closing selling in IT architecture documentation: Step-by-step guide

With airSlate SignNow, you can ensure a smooth and efficient process for closing selling in IT architecture documentation. Say goodbye to cumbersome paperwork and hello to a digital solution that meets your business needs. Sign up for airSlate SignNow today and experience the benefits firsthand.

airSlate SignNow - Empowering businesses to streamline document signing and eSignature processes.

airSlate SignNow features that users love

Speed up your paper-based processes with an easy-to-use eSignature solution.

Edit PDFs
online
Generate templates of your most used documents for signing and completion.
Create a signing link
Share a document via a link without the need to add recipient emails.
Assign roles to signers
Organize complex signing workflows by adding multiple signers and assigning roles.
Create a document template
Create teams to collaborate on documents and templates in real time.
Add Signature fields
Get accurate signatures exactly where you need them using signature fields.
Archive documents in bulk
Save time by archiving multiple documents at once.
be ready to get more

Get legally-binding signatures now!

FAQs online signature

Here is a list of the most common customer questions. If you can’t find an answer to your question, please don’t hesitate to reach out to us.

Need help? Contact support

Trusted e-signature solution — what our customers are saying

Explore how the airSlate SignNow e-signature platform helps businesses succeed. Hear from real users and what they like most about electronic signing.

This service is really great! It has helped...
5
anonymous

This service is really great! It has helped us enormously by ensuring we are fully covered in our agreements. We are on a 100% for collecting on our jobs, from a previous 60-70%. I recommend this to everyone.

Read full review
I've been using airSlate SignNow for years (since it...
5
Susan S

I've been using airSlate SignNow for years (since it was CudaSign). I started using airSlate SignNow for real estate as it was easier for my clients to use. I now use it in my business for employement and onboarding docs.

Read full review
Everything has been great, really easy to incorporate...
5
Liam R

Everything has been great, really easy to incorporate into my business. And the clients who have used your software so far have said it is very easy to complete the necessary signatures.

Read full review
video background

How to create outlook signature

I think the last time I spoke was quite a few years ago when I was talking about Vector functional programming so it's all now it's Now for Something Completely Different I think because the phrase um whenever people talk about the Legacy and so on they either call Michael feathers or me it seems me because I'm old and Michael feathers because he's got the best-selling book um this is uh I wish I had just in case you're hoping that I'm going to show you that you can just code your architecture I'm sorry you'll be disappointed Gregor is following now so he'll show you the even with Amazon now you might be able to start coding your infrastructure instead of using that terrible stuff they had before so so really what I'm going to talk about is the co-evolution of architecture and you know if you're in a really small project this you know probably isn't relevant to you uh but if you worked in any things which uh my good friend Brian put named the excellent pattern called the big ball of mud most people um in the you know real products or organizations seem to have some parts of their code that are not ideal so just quickly the outline I'm going to talk briefly about Architects and an architecture I'm going to talk also quite briefly about agile architecture and then I want to talk about the model code Gap basically because we all know that code runs away from architecture and then I want to talk about the importance of coevolution and how you can do that and some practices for doing that and that's really it and just so my my grandchildren were over just as I was doing these slides and so I thought well I want to show them how cool I am so I'll just do a agile architecture with dolly and that's the picture that AI came up with so so architecture is really the simplest abstraction of a complex product which means that architecture by definition is a lie right so you could say that if you're an art architect or people working in architecture part of what you're doing is managing a set of lives lies or stories so that people can actually you know get the gist of what the system is about without getting lost in the detail so that's really it's really important for seeing or what we call envisioning what your product going to be like and how it's going to interact it's very important for being able to talk and discuss coupling and cohesion which are two words that everybody uses and very few people understand and people actually think that they're complementary some people are opposition and in fact they're both the essential architecture is a key set of things that we need to understand to work on the system and an architecture should allow you to sort of plan so in general you know you want to have the architecture on the wall I mean the principle of a lien is that basically if something's important you should make it visible now I have to say what most people's architecture looks like when they show it to me maybe I only go to the places that you know don't know what they're doing you know but I unfortunately love and the big thing of course is that uh Fred Brooks basically made Conway Mel Conway famous because he really coined the term Conway's law but in Fred's book mythical man month basically he gave the key phrase which for four decades has really been the badge of people who built large products unfortunately you ship your organization so you can pick any of the ugly ducklings that I worked on and I can show you the seams I can tell you that those teams were split between different geographies or split ideologically between the teams so now there's a wonderful new book on topologies and so on but the key thing is the architecture very much influences their product and in general it will always be visible even when you don't want it to so it's a way to do this now for me an architecture is really just a set of apis hopefully not too many so in many cases when someone says they have a rest architecture that means they have thousands of apis to me but what I expect is a few apis that are fairly general purpose so I'll come back to that there's a set of LEDs which are continues to deliver utilities are the those non-functional properties you know usability you know you know reliability all those things that you should have tests for that run all the time and I'm sure you know being you know super smart Australians in here in wa you all continuously test your abilities your performance and so on so you always know every build that nothing's changed right get your flame graphs now you have those as well and so and it's also the set of practices techniques or patterns that you use so I think we all accept that's what architecture is about now architecture to me is not a job and Enterprise architect is an oxymoron you know I don't know what an Enterprise architecture is I understand that some of you are not really Enterprise architecture but they gave you that name so I'm not picking on you because they named you the wrong way but in general to me when people build software everybody gets a little bit of you know sort of paint on you so you get some green paint if you happen to be from doing some testing you get some red paint if you happen to be you know crashing the system you know at some point we're all doing architecture design writing code testing making sure things work with the customer so this is a holistic notion and the notion that so in most organizations that I've been involved with there are no Architects there are principal Engineers or distinguished Engineers who typically are the leaders some of them have teams large development teams maybe hundreds of Developers some are individual contributors but they're peers and so they're the key leaders and it's really the other thing that's important is I don't really believe in what I call post-technical architects if you can't smell code burning and you can't read code then you you shouldn't be working in an architecture role I'm sorry um pretty scary look at how old I am here I can still smell code burning and if you write it in a decent language I can read it unfortunately that's not true for all of them so the the main thing is that you really do have a sense and good Architects spend a fair bit of time walking around talking to people because they're carrying the essence of their system in their head and sharing it now agile was inspired by something called lean unfortunately it became a religion I was at the I did the keynote in the first XP conference and I can remember my slide does does XP stand for you know excellent practices or xenophobic programming and we know that we have both extremes Craftsman being at the xenophobic end how to make something that isn't very interesting look very pretty um a lot of time nasal gaining so we really want to be able to very simple lean is very simple person basically you know get in the flow and make things flow faster increase the value reduce waste and you do that by learning more and more about the system and about the domain domain knowledge is actually really important I'll just mention this now because lots of people spend time basically with agile teams they get they get the story it's a big worm but you know the developers don't understand the domain so you have to cut it up in little pieces and feed it to the developers so they can implement it you're much better to invest in teaching the developers about the domain domain knowledge is the critical thing for competitive and in order to do modeling particularly event modeling the money's in the domain knowledge so very very important the principles we've used since uh I think API first came out of the eclipse project is basically we always start first with the API so the components and you know keep a visible architecture so people could see what it is and this is the only way you can share it the last thing is not a surprise to anyone good things happen if you do everything continuously when Ward Cunningham and Kent started doing refactoring they were talking about making changes over hours and days not waiting until you know basically they'd made a big mess and started begging for technical debt cards right and then and I will mention that you know people should just stop using the word refactoring because you're all aligned you know refactoring is equivalence preserving and when you tell your management you're just going to refactor you're lying through your teeth and you all know it basically you're going to rip and tear the hell out of the code and make it better but you don't have enough tests to make it equivalent preserving and you don't want it to be equivalent that's why you're refactoring it so very important that we do those things continuously so this is a quote from me in agile architecture basically in the early days everyone thought that it was a I won't blame any people but if you know the uh many of my friends who started the uh the naive agilista basically we don't need no stinking documentation design anything else everything will be emergent and that's just emergent [ __ ] words so here's the lies you're here no upfront design no architecture just clean code sorry basically a feature only development we don't need any components or anything like that would just build features we won't worry about interference between features it's all going to be great we'll refactor versus when you're really rewriting we'll have emergent everything architecture design it'll just pop out and it'll be beautiful right I mean I love Neil Ford but you know to kneel everything's everything's evolutionary because he's seen all the patterns but most other people don't have the architectural experience of Neil Ford so they can really oh right what you need is a split three-tier server with this sort of pattern between it and event bus and so on um you know I it's nice stuff but it's just not the real world unit testing versus acceptance tests I'll give you 10 cents for an acceptance test and ten dollars for a good acceptance sorry for an acceptance test and 10 cents per unit test so many people waste so much time writing unit tests and they're fragile and they break yet they don't have acceptance tests you should be testing your abilities with acceptance tests that's what the customers buy customers buy the acceptance test in our fixed price by the way I agree with Adam we've guaranteed we had a process that we basically would tell the customer we have a thing called Just in Time software we contract for something we don't deliver it on time you don't pay for it we did that for literally 20 products including you know virtual machines programming environments and you know it's just possible to do that but you have to have a discipline process for doing it and then there's this other you know rage thing X is bad Y is good in what context you know event sourcing is an incredibly powerful technique but it's not the answer for everything and that'll be the first to tell you but neither is you know doing programming and rust or lisp or your other favorite programming language everything needs judgment so in the beginning of course we all know about the naive agile story trust the code Luke basically go quickly we get a mess and then you know we've refactor it just doesn't work refactoring tools are terrible they're toys for little boys I mean move method you know I have to move thousands of most things that people want to refactor research you know what people want is they want a button on their code their legacy system where they punch the button that says fix it spending five years to refactor your monolith into a series of microservices probably dependency preserving right people do that they still can't deploy the microservices because there's still this God dependencies seems like a pretty silly thing to do but that's what we're doing because the architectures are limited so the first lesson we learned very quickly in the agile world is basically all this rhetoric from the so-called agile Consultants is really toy talk this works I mean it's good idea to have literate programming it's a good idea to use patterns it's nice to have clean code but a product it does not make an architecture it doesn't make so the real thing I find when I go into lots of companies and typically you know I can smell software burning it doesn't take long basically you know within hours in a company you can tell you know this there's a real big software smell in this company you can tell by the Rhythm you can sense the build Rhythm and the bumps as the it's not continuous so the real challenge is everybody starts off with a nice sort of architecture and then something happens the money comes in the project gets pushed more people get thrown on it and now the code takes over so this whole system is really owned by the programmers and here clear they're they're doing something here they found there's a whole lot of valuable Frameworks you know like react ah you got react one now you have to rewrite your entire app because Facebook realized react one was a dog so you have to go to react three people are wasting their entire lives just rewriting to someone else's framework that's not architecture that's just grabbing code from different people so why do we get this drift simple because code is concrete and changes and can change very quickly architecture is a sort of intangible thing so until we find a way which we probably never will to make architecture and code the same which is happening now and we'll hear from Gregor later about infrastructure as code that's very promising but we're certainly nowhere near there so that means we're going to have to invest in some techniques for keeping our architecture you know refactored cleaned up in a healthy state so we're going to have to talk about continuous architecture I'm not looking to Define another buzzword by the way but we just need to be looking at how can we keep our architecture evolving so that when we bring new people in or when we have to talk about what we used to do we have a way to go and look at that and have the artifacts and so on that are in place to do that and George Fairbanks who wrote a wonderful book called just enough software architecture defined this thing called the code model Gap and the important thing to understand is that models are really useful they can be equations it can be simulations they're just models they allow us to understand partial reality so models are A Slice of Life they're not life so the architecture can never be a model and the only time you can get a real picture from the code is you know if you look at the entire code base you will get one of the lovely drawings you'll see lately which are really useless you know there's all sorts of wonderful tools uh sonar and again basically sonar gives you this Tangled mess and you know someone points out well look here's the problem now first of all everybody in the room already knew that was the problem right but then again what the boss is looking for oh okay so just draw a button on it and push fix it the point is you have to try and keep your architecture visible so you know about these problems ahead of time so models are good but models are not reality and here's some of these wonderful pictures that you know the one at the top there is of course the latest visualization of microservices which is really useful because it tells you that everything talks to almost everything else really handy and then you've got ones that look at it from a city point of view and the point is you know if you look at any serious product with these tools you just get a massive line and boxes so unfortunately you know the tools are just not here yet and I might question whether they're ever going to be here because there's just a fundamental difference between having an abstraction that helps you understand something that gives you a partial View and something that tells you the real truth so the key practices for co-evolution are first of all to share the really big story the second thing is to basically try and manage your architecture as though it is code so you know put it in the art make sure that your architecture is continuously being versioned like your code code the architecture where possible I'll explain what that is and try and leverage there are certain design patterns and approaches and styles which allow you to reduce the difference between the code and the architecture particularly true one being mentioned is the functional Style which is now quite popular even with things like Lambda which unfortunately is not a Lambda but the usual you know the marketing people take a name that meant something and turn it into something else we want to capture this essential architecture and then maintain the abilities and the dependencies so the essence is the vision or the really big story or XP called it the metaphor and I can't stress how important that is and I'll give a couple examples it's very important that everybody in the company understands the essence the essential architecture for the thing you're working on and the best way to do this is through storytelling because people are very good at remembering stories and the best storytellers are often The Architects or the principal engineers so they can show you the Styles the patterns and the models and the key ideas I had you know several experiences but three I'll relate to you the first one when I was fairly young I worked on a computer system called Xerox Data Systems very interesting system I was sent away with a colleague to a university United States to learn about this operating system not your normal course two people with each holding chalk at the board you can tell how long ago it was basically talked about going went through the entire operating system drawing processes going between them drawing data structures just going back and forth pricing it was incredible but somehow we followed it two days everything about what was going on inside the operating system and then they said everybody have a good dinner because we have something special for you on Thursday night we take in the computer room and they crash the machine what went wrong this system was all implemented in Assembly Language but it was very table driven which was the badge of honor in those days that's how you made things modular and flexible you turned everything into Data there's a lesson there and what we're able to do is in a period of two or three hours we're able to find each of the teams why the system had crashed we went through those tables you know basically was I print out this big hex core dump right um nice we had big paper then so it was much easier you could write on it I missed that paper so much you keep notes beside it great for code reviews everything and we learn very quickly similarly nortel's just down the street from me or was before it was decimated still a fragment of it there we know George Smith who is one of the key architects of the DMS switch is a very common switch basically he and I forget the other I think it was Bill Bowen the other uh key architect basically 300 new grads joined in there and they said okay in the next three days we're going to teach you everything you need to know about call processing they went through the same thing two people interacting diagrams how things worked after you'd had that story from them which may have lasted anywhere depending on your session there were short ones four hours there were two or three day ones you could go work anywhere in the company and you had a mental model about what was important with regard to call processing these stories are very very important and the last two are about involving my own personal you know activity at oti basically we started the business and we wanted a vision for the business and you may know I tend to work a lot in strange programming languages or exotic languages I should call them and we basically said Okay small talk Mainframe to a watch that was our business plan basically we're going to take small talk and we're going to put it everywhere and by 1995 it ran on the IBM Mainframe and we got it onto a pager but we didn't get it onto a watch but we built the Sony Qualcomm early phones long before Apple 1995 basic location of movies and so on before the infrastructure was there but the key thing is everybody had a simple model this is what we're going to do in order in order to make small things we have to do these things in order to make large things we have to make these things very simple and again when we build eclipse and Java I apologize if you use Eclipse basically you know it was a good idea we did it too fast and then IBM bought rational and pull all the money out before the third release really came out in pets yeah it's a software business um again we basically started a year behind the sun had released the first Java was pretty slow if you ever you should try running the old Java it bear it really limped along we had no access to the source code because we knew that IBM was really out to sorry that sun was really out to screw IBM and Microsoft and everybody else so they had a viral nasty viral license I won't go into the horrible business details so basically we had to tell the story says okay so what we have to do is we have to basically make sun disappear in terms of the Java space we were we were not even on the map when we started but within two years we built both the Eclipse IDE and the Java virtual machines and were competitive to signs and again that was done through a series of stories for each of the pieces describing these and how they went together told by The Architects with the teams working across the world you know Eric gamma had the UI based in uh Switzerland a funny story some of you may know that eclipse is extendable with an API which Eric was very proud of but it's a very brittle difficult API those of us in Ottawa who had a lot of background in small talk and flexible scripting wanted to be a scriptable environment But Eric said no that streak's too long we won't be able to do it and I think Eric was made the right decision there in terms of the time frame because we needed to ship however you will find that there's maybe something you like quite a bit today called Visual Studio code built by the same team with Eric Grandma except this times it's very scriptable and that's why Visual Studio code is I think so successful so you know you learn early that you you get stuck with the decisions you make so you have to think a lot about them but those really big stories are very very important so I just want to now go through some some things that you can help you capture as much of your architecture impossible in concrete form the first thing I think everyone knows is you want to basically capture your API definitions and version them whether you use Swagger or not I don't really yeah that's not particularly important to me you want to use infrastructure as code and I believe I happen to like palumi but cdk is coming along and I suspect you're going to hear from Gregor on that since he's now working for a the dark side at AWS from previously from the Dark Side of Google diagrams as code is a really handy thing for doing you know one of the problems I really like the work that Simon Brown does here because he actually teaches people to do some basic visual stuff so people can describe their stuff so C4 model and his tool structurizer is a nice way to get at least designs it doesn't really scale for large scale architectures model constrain code there are actually uml models and other ml models for certain kinds of industries that work I'm not pushing that people should get uml out of the closet like keep it in the closet but there are some well-established patterns there and there's a lot of things now called Low code now how many people in this room really want to go right Loco well unfortunately the industry is getting so complicated it's driving a lot of people in this market to start using low code tools and if you looked at that little code it might actually start looking a lot like some of the things that Peter was showing yesterday in fact you'll probably see that I predict that there already is some examples that are admit WS but there's a lot of work at AWS and other Cloud providers to try and bring simpler tools so that people can just configure things instead of having them you want to be able to look you know keep track of data why is it that programmers are so concerned about code and don't care about data data is much easier to change if you need to it actually doesn't change very often schemas are actually fairly stable you can do a lot of things with data data is a very important thing which unfortunately most developers know very much don't know very much about that also includes query of course that's why we have no SQL because the developers don't want to learn it and because they can very easily store everything in a blob so every other poor user who wants it gets to write a parser you know so that you know everybody in the company has 300 parses to try and take the Jason blob apart really stupid you know just let them eat oh and we should have it schemeless too there's a very large successful Australian company that the only way they can do their analytics is by knowing the date that this Jason schema changed I made a mistake of naming them sometime that I won't this time domain models and again immutable data is really key event sourcing streaming and so on you want to leverage the architecture Styles so you can do this so basically use black box components not Frameworks Frameworks inject dependencies into your code basically you were fine before you got this framework now you have to reach inside it it reaches back into you if you're really unlucky it'll send events and you have to have a hook and an adapter and everything else so you look at what happens and react just took over your entire application yeah model view controller all these things why do we have the event Loop oh well I'll tell you the event Loop first came up on the Auto Computer which is where a small talk at Xerox Park was done and the interrupts didn't work so because the interrupts didn't work they had to pull to see whether the disc i o completed whether the mouse moved and everything and that became the controller in MVC and after that everybody else who didn't really want to couldn't really understand how small talk work copied it so we ended up with a crappy event loop on every machine and the fact that only in BOS that we have concurrent Windows which were real processes that you could use so what we took is took a bad pattern well a pattern that was reasonable because they had to get work the hardware wasn't working and I got cloned and then we had 10 000 MVC Frameworks all trying to fix a problem which they can't because the event Loop is meant and you know if you think that gets fixed by uh you know the asynchronous RX Java or whatever it is it has very complicated State machines underneath so it makes it look like oh it's easy it's just a stream Eric Meyer is a good friend of mine and he's the primary criminal responsible for this and basically but it's still really complicated if you want to know what's really going on all because we didn't really look at the architecture and said we should get rid of this event Loop should make this into a real concurrent program pipelines data flow you might find out that your granddad used something called data flow diagrams um yes they were considered bad because you would take them and shake them and then you'd turn them into a tree of code and everything like except the people in Japanese Banks who actually realized that they could just run these concurrently so they just made every process concurrent and with data flowing between it and if you've seen Fred George basically Fred George most of the most of the services he builds are simple data flow Services that's a great way to build a great new technique for building microservices from the 60s or 70s functions we've talked about this is a favorite of mine a hobby horse mainly because they've saved me in many situations table driven programming decision tables State tables which now are represented by Stack step functions or even in react now we've got now it's complicated enough now with the states that you have react State machines so these are coming back to something called State charts uh constraint tables which are really just a fancy name for spreadsheets these things are very flexible to change we run applications which work on terabytes of data that run on a spreadsheet you don't have to do you know you get a spreadsheet the business can actually fill the spreadsheet in here they figured out how to do this a while ago and instead of having a whole lot of people writing all sorts of stupid cucumber junk right so you can build fragile tests that break and try and do this and drive the poor product owner crazy because you're not writing their win you can just take the spreadsheet and run it it's a simple interpreter each of these can be implemented by a simple interpreter that'll run whether it's in an embedded system uh you know game controller or running an Amazon very powerful techniques which people don't and they're very fast to change because it's just data you don't have to get a jar and figure out how to deploy it on a VM you just change the data why don't we use these things you didn't teach me that at school or it's not fun it's a problem we should look at these techniques sometimes we have to look back to look ahead but unfortunately you know State machines are being rediscovered through react so a lot of people are hearing about those now unfortunately it's not very good but not many good books or teachers on the subject but at least people looking at it you want to be able to annotate inversion all the appropriate artifacts you want to maintain a risk backlog basically what's the risk what's the impact and what's the status very very important you want to update all the abilities based on acceptance tests so we always know whether the performance is there we don't basically find out that we've done three releases and lost 30 percent of our performance you need to do that every bill you want to track and publish your dependencies we're going to be able to add annotate all the important artifacts in the code including put in things like confessions that said the code that's here really sucks we wrote it this week for these reasons it's really hairy scary code you know be sure you understand what this is as opposed to a nice comment or just some nice names so we want to make sure that people know where the scary code is every system has scary code in it May perhaps not your new system but it will in your next few hours or days we want to document the you know Mike Michael Nygaard talks about adr's architecture decision records you want to put those and version them in the code so you can but your code so your code base will have all the architectural information in it notes from design reviews and code reviews that are important I'm not talking about pouring everything in there but put the important stuff in there and make sure that the major incidents if there's major incident reports that are in there you want to put those there because knowing which part of the codes are fragile is very very important I think Adam Thornhill talked online he said yeah in December his code is a crime scene is a great talk and book but basically you know what he does is he says okay we've got all these things that don't work um but the ones that are changing the most are the ones that are important because those are the ones people are trying to fix so instead of trying to fix all the problems he just focuses on those important changing problems so having detailed analysis of the parts that are breaking is very very important software the hell of software is dependencies yet we often you know you we can't do that because of dependencies what are the dependencies well there's this one and that one and this one you should track the dependencies there's a very powerful tool called a design State the design statement structure Matrix which was invented for manufacturing building complicated things like planes and so on I think we're building pretty complicated things and it allows you to essentially know and be visible what this I think this actually could be used as a design tool because the biggest problem in software is working on dependencies is trying to deal with these dependencies obviously if you can eliminate dependencies of really really great ideas I want to conclude now just in the last few minutes that I have where I see this going and it's good news and bad news as usual architectures particularly the newer ones are getting more and more dynamic Brendan we were talking last night he works at Intel you know we're talking about the fact that maybe make the firmware and the Intel processor programmable that'll be fun eh we can change the what's going on in the kernel now with EPF ebpf uh maybe we could let you change the instruction set on your processor so it would go faster for your workload so now we're on the tower of the cake and you know I each think of each of these layers as kind of somewhat on roller skates right so you get on top and you put another roller skate on that and you get in the top and say this is really good let's let's take these down the stairs this stuff is getting very complicated so these systems are becoming very very dynamic and we have this wonderful idea the customer should be able to do things themselves without talking to anybody which is possible in many cases but it makes things very complicated so these asynchronous microservices by the way asynchronous is an event driven is amazing but when you start building fully asynchronous microservices you have to understand the concurrent State machines are doing this there are very few people who understand how to design and test concurrent State machines and there is no book to my knowledge that explains this well the best up is David Harrell and state charts which was done years ago so be a little cautious before you Embrace uh you know event asynchronous everything and if you're really interested in doing this please read you know Joe Armstrong's thesis uh Joe did erlang because it'll tell you pretty much everything you need to know about designing asynchronous services in a robust way and it's just you know it's a it's the Bible for how to do asynchronous system design so exploring the architecture and the runtime views becomes essentially a matter of looking at the system as it's executing so how do we get a picture of the architecture then when everything's changing and new people are dying well one can only Envision a world where you're basically see your architecture by essentially looking at it through continuous analysis sorry and if we actually look at modern tools I think vgw has honeycomb there hopefully that's not a big secret honeycomb is basically an in-memory database with fast query so the only way you can actually understand what these systems are doing is by essentially writing queries by the way I do believe that query is the future of programming people they are building high performance compilers by writing queries in data log and one of the things of course that most computer science students do hey query you know SQL go away SQL is going to be back in spades and in my view graphql should be really replaced by a relational model because graphql with its whatever they're called providers adapters whatever it is is really a pretty complicated patchwork the only API most people need in their res system is query but because we don't want to you know expose the data model and tell people what was out there we have to make up a hundred oh yeah we need another API no problem we'll put another squad on that right build yet another API that gets four fields and the person who wants the fifth one will have to have another API because we can't change the other one because we have yeah it just gets to be this mess all you need is secure SQL and a day tomorrow why aren't we building simple services like queries they work really well the same technology is needed here to be able to understand runtimes and I claim that future Architects are going to basically be much like the sres gonna have to use these query tools because the only way you're going to actually understand these Dynamic architectures is be it by being able to write sophisticated queries that's quite a different world from where we are today and I do please you know make sure that uh your brother or sister that's coming along isn't like you and go I don't do data but data is really important and you can do much more things with flexibility and data and not nearly enough attention is paid to data architecture I'm over time so I'll shut up thank you [Applause] all right if anyone's are sitting online feel free to pop a question in in the meantime we've got any any takers in the audience correct the remarks are also fine someone's gonna have a question there we go uh thanks for the talk I think a lot of it went over my head I'm pretty new to architecture so apologies if this is a dumb question is the only dumb questions are the ones that don't get asked uh I was just yeah hopefully pretty simple for you I just want to know if there's a a good example of implemented architecture that you could refer us to that you've seen lately in terms of both like uh I know that you were saying it's got to be sort of story based but is there like a like a story level of the architecture and some sort of design diagram sort of thing that we could okay the problem is that examples um you know the things you you like to use to teach tend to be so small relevant to do it but you can certainly look at there was a bunch of stuff done written by largely I think by Eric garma called the eclipse way if you send me a note I'll try and maybe I'll try and put the reference on the slides if I put them out um I've been you know just so you know how hard these things are I've been asking the Event Source Community for many years to have a nice example of event sourcing and there's been several attempts but they've never quite finished it so you've got one right here so we'll be getting that out too so but in problem is things get quite complicated quickly so but certainly there's a fair number of discussions now about architecture and um uh uh Dave Farley who's going to be in Australia in December has written a new book which I really recommend it's called modern software engineering how to build software you know faster better now the the secret is there is nothing modern in the book it's just all the stuff we know that people should know because we've sort of stopped teaching this I mean that's probably on yeah we maybe cut this but basically Australian education system with regard to software has really Fallen apart you know it is the news to anyone you feel free to crucify me but basically I've been in Australia for 20 30 years regularly and so and this is the problem globally that we have a lot of people with the the you know basic software engineering is not taught and you know basically we're really you know to speak to the earlier talk we're big on showing people tools right so and if you talk to developers what they want they want to learn this tool that tool the next tool the next language and so on but the real issues are having conversations like try and have a conversation about coupling and cohesion uh yeah we don't want any of that or not too much of it or it's very vague so uh I that's my my favorite uh book because it's not too thick and it covers all the all of the old stuff in a kind of new way and also talks about the continuous delivery and continuous testing which was slightly controversial but testing in production is quite a common practice today doing it correctly isn't quite as common to practice but lots lots of people are doing it so yeah I understand I had I did this talk in in at the agile meets architecture conference in Germany and I had a surprising number of people come up to the audience and say our teams don't know these words I didn't use a lot of terms that are new and so I think we have a serious issue to to try and improve the the you know the problem is we we're big on training and not in education and what we want to do is improve the education and the understanding and the ability to Mentor engineers and that takes time so the way I Learned was by working with people that were way better than I was but they had the time to show me you know this code is crap right yeah write it over again right it wasn't like just shipping I think you know the fact you're doing you're doing you've got a velocity that's doing that just tells me your code base really is going to suck right so thank you so much did I have everyone give them a round of applause [Applause]

Show more
be ready to get more

Get legally-binding signatures now!

Sign up with Google